meetergo MCP server
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MEETERGO_TOKEN | Yes | Your personal access token for meetergo. | |
| MEETERGO_API_URL | No | Override the API base URL for non-production environments. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_meA | Return the authenticated account and, when available, its plan tier and relevant caps. This is a low-cost authentication check that distinguishes a bad token from an empty calendar. Plan data explains action-specific limits; it does not gate the connection itself. |
| list_meeting_typesA | List the authenticated user's bookable meeting types, including the identifier, duration and host data required for a booking. |
| get_availabilityA | Return a meeting type's bookable starts within a date range. The slotsStartUtc values are the starts accepted by booking validation; calendar events alone are not availability. |
| book_appointmentA | Create a real appointment for a start present in the meeting type availability results and send invitations. An unlisted start is rejected. A confirmed bookingState means the appointment exists; pending_confirmation means it is not booked yet. Either fullName or both firstName and lastName are required. |
| reschedule_appointmentA | Move an appointment to a new start time. Duration is unchanged. Validates availability unless ignoreAvailability is set. A successful response echoes the new time as startUtc. |
| cancel_appointmentA | Cancel an appointment and notify attendees. For a group booking, attendeeId removes one person while cancelAll cancels the whole appointment. Requests with neither are rejected. The response distinguishes attendee_removed from cancelled. |
| list_appointmentsB | Return appointments with pagination and filters, including the appointmentId needed for changes. Every item carries a confirmed or cancelled status; cancelled items are not upcoming appointments. Pages are 0-indexed. |
| get_todays_appointmentsA | Return today's appointments for the authenticated user. This specialised query is cheaper and more precise than a general date-filtered appointment list. |
| get_appointmentA | Return full detail for one appointment: status, attendees and their attendeeIds, hosts, location and notes. The attendeeIds support guest additions and per-attendee cancellation. The status indicates whether the booking is active. |
| add_guestA | Add one guest email to an appointment so they receive the invitation and updates. Requires the attendeeId returned with appointment details and accepts one guest per call. |
| update_appointment_notesA | Replace the host-side note on an appointment with call preparation or an outcome summary. This is replacement rather than append, so retained existing text must be included in the new note. |
| create_one_time_booking_linkA | Generate a single-use booking link for a meeting type so someone can choose their own slot. No attendee details are needed and the link cannot be reshared. |
| search_contactsA | Search the CRM by name, email, phone or tag. Results expose contactIds and support duplicate checks before contact creation. |
| get_contactA | Return a full contact record including linked appointments and form answers. Accepts either a contactId or an attendeeId from an appointment and links booking identity to the stored contact. |
| create_contactA | Create a CRM contact. Either email or phoneNumber is required. Existing contacts are not deduplicated. |
| update_contactA | Update a CRM contact. Only supplied fields change. Tags replace the existing list rather than merging, so retained tags must be included. |
| list_calendar_connectionsA | List connected calendars (Google, Outlook and CalDAV). The result shows whether a host has a calendar attached and supports availability diagnosis. |
| send_quick_emailA | Send a one-off email to an attendee, such as a follow-up, preparation note or directions. Requires an attendeeId from appointment details. Rate limited to 5 per 5 minutes. |
| update_meeting_transcriptionA | Attach a meeting transcript and/or AI summary in markdown to an appointment. meetergo does not record calls, so the caller supplies the content. Only supplied fields change; null clears one. |
| get_meeting_typeA | Return the full configuration of one meeting type: duration, channel, buffers, booking questions, reminders, host or queue. The result exposes the current values needed for a safe update. |
| create_meeting_typeA | Create a new meeting type owned by the authenticated user. It becomes a real, publicly bookable page immediately. The URL slug is generated from the name and remains editable. |
| update_meeting_typeA | Change a meeting type. Only the fields you send change; everything you leave out keeps its current value. |
| delete_meeting_typeA | Delete a meeting type. Its booking page stops working immediately. Existing appointments are not cancelled. |
| get_personal_pageA | The authenticated user's personal booking page: colours, header image, description, profile links, meeting-type order. |
| update_personal_pageA | Change branding on the personal booking page. Only the fields you send change. Colours need useCustomColors set, or they are ignored. |
| import_booking_pageA | Recreate an existing public booking page in meetergo from its URL. Calendly and several other schedulers are recognised automatically. The tool reads only the public profile and creates one meeting type per visible event type with its duration, location and booking questions. It never modifies the source account. Imports are additive, so running it twice creates duplicates. The response lists both created items and failures. |
| list_routing_formsA | List routing forms and funnels — the qualification forms that route a visitor to the right meeting type or page. Returns 50 at a time; page with offset. |
| get_routing_formA | Full definition of a routing form: its steps, fields and the qualifier rules that decide where a visitor is sent. |
| create_routing_formA | Create a routing form or funnel. Fields reference existing reusable data fields and qualifiers route on the answers. A qualifier with isFallback true provides the default route. |
| update_routing_formA | Update a routing form. Supplying qualifiers, fields or funnelSteps replaces each entire collection, so omitted items are deleted. Leaving those collections out changes only the name, slug or progress bar. |
| delete_routing_formA | Delete a routing form. Any link already shared stops working. |
| send_routing_formA | Send a routing form to one recipient by email or SMS, or just mint the link. The response always carries publicUrl. Rate limited to 20 per minute. |
| list_form_recipientsA | List who a routing form was sent to, with sent, opened or completed status and timestamps. The result identifies recipients who have not answered. |
| list_data_fieldsA | List the reusable form fields shared across routing forms, including fields that may already match a planned addition. Returns 50 at a time with offset pagination. |
| create_data_fieldA | Create a reusable form field, company-wide. Choice fields need options; text fields do not. |
| bulk_create_contactsA | Create many contacts in one import. Each needs email or phoneNumber. A call accepts up to 1000 contacts and the endpoint is limited to 3 calls per minute. |
| delete_contactA | Permanently delete a CRM contact. Their past appointments remain, but the contact record and its form answers are gone. |
| list_webhooksA | List webhook endpoints for the company. The result shows current subscriptions against the maximum of six endpoints. |
| create_webhookA | Register an HTTPS endpoint to receive events. Six per company maximum; the API says so plainly when you hit it. |
| update_webhookA | Change a webhook endpoint, its description, or which events it receives. eventTypes replaces the existing list. |
| delete_webhookA | Delete a webhook endpoint. Whatever depends on those events stops receiving them immediately. |
| get_mira_settingsA | Return the company's resolved Mira configuration: master switch, assistant profiles, website chat widget including its server-minted publicKey, and data-access toggles. The result is suitable as a rollback snapshot. |
| update_mira_settingsA | Partially update Mira configuration (admin only). Omitted fields keep their current value; webChat merges field-by-field and assistantProfiles replaces the whole list. Saving any webChat field mints the widget publicKey even while enabled stays false, creating a previewable draft state. The response includes previous and current settings for rollback. The API rejects unknown fields. |
| restore_mira_settingsA | Roll Mira configuration back to a previously returned settings snapshot. Server-managed fields such as publicKey and the mirrored channels.webChat list are stripped automatically. The minted publicKey survives a rollback and remains harmless while the widget is disabled. |
| get_mira_widget_embedA | Return the embed snippet a website owner pastes before , plus the preview URL for testing a saved-but-disabled widget. Requires the webChat publicKey minted when widget configuration is first saved. |
| crawl_company_websiteA | Start a background crawl of a website into the company's Mira knowledge base, covering its sitemap and same-origin links while extracting, chunking and embedding readable text. Crawl progress remains available through status reads. Re-crawling an unchanged site ingests 0 new pages and is still successful. Requires the file-uploads entitlement (Growth and up). |
| get_crawl_statusA | Progress of the current or last knowledge-base website crawl. { status: "idle" } means none has run yet. |
| list_knowledge_documentsA | Documents in the company's Mira knowledge base — crawled pages, uploaded files, synced sources — with their source keys. |
| delete_knowledge_documentA | Remove one document (and its chunks) from the knowledge base. Mira stops answering from it immediately. |
| propose_conversion_setupA | Read a sample of a website and propose a complete assistant setup: persona, welcome message, grounded instructions, qualification questions, quick actions, the site's own privacy and imprint links, and a knowledge probe. The result is a settings draft; nothing is stored or configured. Takes up to a minute. |
| answer_visitor_questionA | Add a question-and-answer pair to the company's knowledge base in the company's own words. This closes a visitor knowledge gap. Repeating the same question replaces the earlier answer rather than creating two versions. |
| get_conversation_insightsA | Summarise recent website assistant activity and the visitor questions it could not answer. Unanswered questions identify gaps suitable for new knowledge entries. |
| search_company_knowledgeA | Semantically search the knowledge base using the same retrieval Mira uses for visitor answers. The results validate grounded coverage for a question before launch. |
| get_setup_statusA | Return the dashboard launch checklist for bookable meeting type, assistant, knowledge, test drive, installation and live state. Each stage includes completion status and the concrete next move, making the result suitable before or after setup changes. |
| create_qualification_formA | Create a real routing form from supplied qualification questions, with structured fields the company can edit and a fallback rule routing qualified visitors into a meeting type or callback. The returned formId is suitable for a qualifying web chat profile. |
| run_test_driveA | Send scripted visitors to the saved assistant, including a buyer, a callback lead and an adversarial visitor, then return pass/fail verdicts with full transcripts. Preview mode creates no bookings or emails and does not require a live widget. The stored result feeds the launch checklist. Takes about a minute and is rate-limited to a few runs per hour. |
| verify_widget_installA | Fetch a page of the customer's website and verify that it serves both the Mira loader script and the customer's own embed key. Intended after the snippet is installed; installed is true only when both elements are present. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| onboard | Guided setup: analyse the company website, propose meeting types + qualification + the Mira assistant, apply only after approval, then prove it with scripted visitors and hand over the install snippet. |
| weekly-review | Pull the last week of website-assistant activity, surface the questions it could not answer, and offer to teach it the missing answers. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/meetergo/meetergo-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server