Skip to main content
Glama
chill-lichen

meetergo-mcp

by chill-lichen

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MEETERGO_API_KEYYesBearer token (rgo-… or ak_live:…)
MEETERGO_TIMEOUTNoPer-request timeout (seconds)30
MEETERGO_USER_IDNox-meetergo-api-user-id (Platform API Key only)
MEETERGO_API_BASENoOverride base URLhttps://api.meetergo.com/v4

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
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 meetingInfo object, so pass the full body as payload (schema: CreateMeetingTypeV4Dto).

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.

form is the full body. Key fields: name (str), structureType ("FORM_ONLY" | "FUNNEL_WITH_FORM" | "FUNNEL_ONLY"), showProgressBar (bool), funnelSteps: [{ dataFields: [{ dataField: {label, fieldType, options,...} }] }], fields: [{ dataFieldId, order }] (reference existing data fields), qualifiers: [ routing rules ].

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 id are updated, without id created, missing removed); funnelSteps/fields are full-replace. Set a slug here to create an unlimited public share link (https://cal.meetergo.com/f/).

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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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