meetergo-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MEETERGO_API_KEY | Yes | Bearer token (rgo-… or ak_live:…) | |
| MEETERGO_TIMEOUT | No | Per-request timeout (seconds) | 30 |
| MEETERGO_USER_ID | No | x-meetergo-api-user-id (Platform API Key only) | |
| MEETERGO_API_BASE | No | Override base URL | https://api.meetergo.com/v4 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_meA | Return the authenticated meetergo user (verifies auth; gives your userId). Call this first to confirm the connector works. |
| list_meeting_typesA | List bookable meeting types (event types) with ids, names, durations, slugs. |
| get_meeting_typeA | Get full config of a single meeting type (branding, CSS mode, redirect, reminders, CRM sync options). |
| create_meeting_typeA | Create a meeting type. meetergo requires a fairly complete Minimal example: { "meetingInfo": { "name": "Discovery Call", "description": "", "duration": 30, "channel": "zoom", "enableRedirect": false, "redirect": "", "passEventDetailsToRedirect": false, "customChannelName": "", "customChannelLink": "", "groupBooking": false, "showAvailableSlots": false, "enrichInvitee": false, "bufferBefore": 0, "bufferAfter": 0, "confirmationButton": {"useConfirmationButton": false, "text": "", "color": "", "link": ""} }, "slug": "discovery-call" } Tip: POST /v4/user creates a user + default meeting type in one call; use this endpoint when you need a specific configuration. |
| update_meeting_typeA | Edit a meeting type (partial update — send only fields you want to change): rename, change duration/buffers, redirect URL, branding color, booking-page password, cancellation/rescheduling policy, CRM sync toggles, etc. Example: {"meetingInfo": {"duration": 60}, "slug": "discovery-call-60"} |
| create_one_time_booking_linkB | Generate a single-use booking link for a meeting type. Returns {id, url, ...}. |
| get_personal_pageA | Get your personal booking page: colors, header image, description, online profiles, meeting-type order. |
| update_personal_pageA | Update your personal page branding & graphics. Supported fields (all optional): useCustomColors (bool), primaryColor (str), secondaryColor (str), headerImage (url str or null), description (str), showAllMeetingTypes (bool), meetingTypeOrder (list[str]), onlineProfiles: { linkedIn, facebook, twitter, instagram, xing, phone, email, addressStreet, addressCity, addressPostalCode, addressCountry, customLinks: [{name, url, icon}] } Example: {"useCustomColors": true, "primaryColor": "#2E4A3F", "headerImage": "https://.../hero.jpg"} Note: covers brand colors, header image and profile links. Meeting-type pages also have CSS modes (see update_meeting_type -> cssSetting), but arbitrary raw CSS is configured in the meetergo dashboard, not this API. |
| get_availabilityB | Open bookable slots for a meeting type in a date range. Args: meeting_type_id: Meeting type to check. start: "YYYY-MM-DD". end: "YYYY-MM-DD". timezone: IANA tz for the returned times. |
| create_bookingA | Book an appointment (metered/billed by meetergo). Args: meeting_type_id: Meeting type being booked. start: ISO 8601, e.g. "2026-07-15T14:00:00Z". attendee_email / attendee_firstname / attendee_lastname: attendee. timezone: optional IANA tz of attendee. notes: optional booking note. |
| list_appointmentsA | List appointments (paginated). Args: page: 0-indexed page number (0 = first page). page_size: items per page (1-100). start / end: optional ISO date/time bounds. search: optional free-text search. status: optional status filter. meeting_type_id: optional filter by meeting type. sort_by: "appointment.start" | "appointment.createdAt". sort_direction: "ASC" | "DESC". |
| get_appointmentB | Get full details of a single appointment (attendees, hosts, notes, transcript). |
| cancel_appointmentB | Cancel an appointment. For group bookings, pass attendee_id (single) or cancel_all=True (whole appointment). |
| reschedule_appointmentC | Move an appointment to a new start time (duration unchanged). |
| update_appointment_notesC | Add/replace the host-side note on an appointment. |
| update_meeting_transcriptionA | Store a meeting transcript and/or AI summary (markdown) on an appointment. meetergo does NOT record meetings itself — feed this from a notetaker (Granola, Fireflies, etc.). Only provided fields are sent; omit a field to leave it unchanged. Args: appointment_id: The appointment. transcription: Full transcript in markdown. summary: AI-generated summary in markdown. |
| send_quick_emailA | Send a one-off email to an attendee (e.g. a manual/AI-drafted follow-up). Rate limited to 5 per 5 minutes. Args: attendee_id: Attendee to email (from a booking/webhook payload). title: Subject line. content: Body. |
| create_routing_formA | Create a routing form / multi-step funnel with branching logic.
A qualifier routes the visitor based on conditions: { "routingAction": "eventRedirect", "meetingTypeId": "...", "expression": {"operator":"and","operands":[ {"operator":"equals","target":"attendeeOther", "customTarget":"Company Size","value":"enterprise"}]} } routingAction ∈ eventRedirect | customPage | externalRedirect | contactForm | requestCallback | instantCall | formRedirect. Include one qualifier with "isFallback": true as the default. Field types include text/email/phone/select/ radio/checkbox/file/signature/pdf-template/currency/rating and more. |
| list_routing_formsB | List routing forms. |
| get_routing_formC | Get a routing form's full definition. |
| update_routing_formA | Update a routing form. Qualifiers use declarative sync (items with |
| delete_routing_formB | Delete a routing form. |
| send_routing_formA | Send a routing form to a recipient (one-time link). Returns {publicUrl, status}. Args: form_id: Form to send. recipient_name: Recipient display name. email: Required if delivery_method="email". phone: Required if delivery_method="sms". message: Optional cover message. delivery_method: "email" | "sms" | "link" (link = generate URL only). |
| list_form_recipientsC | List recipients of a form with status (sent/opened/completed) and timestamps. |
| create_data_fieldA | Create a reusable form data field (company-scoped). Example: {"label":"Budget Range","fieldType":"select","required":true, "options":[{"label":"< $10k","value":"small"}, {"label":"$50k+","value":"large"}]} |
| list_data_fieldsB | List reusable form data fields. |
| create_contactA | Create a CRM contact (either email or phone_number is required). Args: first_name, last_name, email, phone_number: basics. tags: labels like ["Lead", "Enterprise"]. notes: internal notes. additional_data: custom fields (e.g. {"revenueBand": "$1-5M"}). |
| search_contactsA | Search/list CRM contacts (paginated). Args: search_term: match name/email/phone. tags: filter by tags. owner_id: filter by account owner. sort_by: firstName|lastName|email|createdAt. sort_order: ASC|DESC. page, limit: pagination (limit max 100). |
| get_contactA | Get a contact's full record (incl. linked appointments and form answers). Look up by contact_id OR by attendee_id (from a booking webhook). |
| update_contactB | Update a contact (partial). Example: {"tags":["Lead","Qualified"], "notes":"Interested in premium plan"}. |
| delete_contactC | Delete a CRM contact. |
| bulk_create_contactsA | Bulk-create contacts (e.g. a CSV import). Each item like the create_contact body: {"firstName","lastName","email","phoneNumber","tags","notes"}. |
| list_webhooksA | List webhook endpoints (max 6 per company). |
| create_webhookA | Register a webhook to drive automations (feed bookings/forms into a CRM, email drafts, your website, etc.). Args: endpoint: HTTPS URL to receive POSTs. event_types: any of booking_created, booking_cancelled, booking_rescheduled, form_submission, new_employee. description: optional label. |
| update_webhookB | Update a webhook (endpoint / description / eventTypes — all optional). |
| delete_webhookC | Delete a webhook endpoint. |
| list_calendar_connectionsA | List connected calendars (confirm your Proton Calendar CalDAV link is active). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- 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/chill-lichen/meetergo-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server