MeetStream MCP Server

Give Claude — or any MCP client — direct, live access to the MeetStream API. Create meeting bots, fetch transcripts and summaries, and interact with live meetings, all from a chat prompt.

View as Markdown

This is the action MCP server — it does things against the MeetStream API (create bots, pull transcripts, send messages into a meeting). It is different from the documentation search MCP (docs.meetstream.ai/_mcp/server), which only searches these docs. You can use both at once.

The MeetStream MCP server exposes the full meeting-bot lifecycle as Model Context Protocol tools. Once connected, you can just ask your assistant things like:

“Send a MeetStream bot to https://meet.google.com/abc-defg-hij, record it with Deepgram transcription, and give me the transcript when it’s done.”

“List my bots from today and summarize the 3 pm customer call.”

Choose how to run it

There are two ways to connect, and they authenticate differently. Pick one:

OptionEndpointBest forAuth
Remote (hosted)https://mcp.meetstream.ai/mcpFastest setup, teammates, no local installYour API key sent per request
Local (npx)npx @meetstream/mcp (stdio)Keeping your key only on your own machineMEETSTREAM_API_KEY env var

Both expose the exact same tools. The remote server is multi-tenant and holds no key of its own — every request must carry your MeetStream API key, so nothing is shared between users.

Setup in Claude and other clients

The point-and-click connector flow, using the hosted server. No terminal, no Node.

  1. Open Settings → Connectors → Add custom connector
  2. Name: MeetStream
  3. URL: paste your key into the URL as a query parameter:
    https://mcp.meetstream.ai/mcp?key=YOUR_API_KEY
  4. Leave any OAuth / authentication fields blank — the key in the URL is the auth, so no sign-in is triggered.
  5. Save, toggle it on, and the MeetStream tools appear in the chat’s tools menu.

Security: with this method your key sits inside the connector URL (visible in connector settings and server access logs). It is fine for your own use. For teammates, give each person their own key with the same ?key= pattern so you can revoke individuals independently.

Verify it’s connected

Ask your assistant: “Using meetstream, list my bots.” If it returns your bots (or a clean empty list) instead of an error, auth is working. A missing/invalid key surfaces as a clear tool error, not a silent failure.

Tools

The server exposes 19 tools grouped by function:

ToolWhat it does
create_botSend (or schedule with join_at) a bot to a Zoom / Google Meet / Microsoft Teams meeting. Configurable transcription provider, callbacks, per-participant streams, MIA agent, retention, idempotency.
list_botsList every bot on the account (paginated).
get_bot_statusCurrent status: Joining, InWaitingRoom, InMeeting, Recording, Leaving, Stopped, NotAllowed, Denied, Error, Done.
get_bot_detailFull session metadata, including the canonical transcript_id.
get_bot_summaryMeetStream’s built-in AI meeting summary.
remove_botMake the bot leave an active meeting (data is kept).
delete_bot_dataPermanently delete a bot’s audio, video, and transcripts (requires explicit confirmation).
ToolWhat it does
get_transcriptFetch a transcript by bot_id — resolves the transcript_id automatically. Optional wait polling until ready.
list_transcriptionsAll transcription runs for a bot, with presigned download URLs.
transcribe_audio(Re-)transcribe a bot’s audio with a chosen provider.
ToolWhat it does
get_media_urlsPresigned URLs for audio, video, per-participant streams, or screenshots.
get_participantsParticipants detected in the meeting.
get_chatsIn-meeting chat messages.
get_speaker_timelineWho spoke and when.
ToolWhat it does
send_chat_messagePost a chat message into the live meeting.
send_imageShow an image / GIF as the bot’s video frame (public URL).
ToolWhat it does
list_calendar_eventsUpcoming events from a connected Google Calendar.
schedule_calendar_botSchedule or unschedule a bot for a specific calendar event.
webhook_events_guideLive-verified reference for the webhook event model — have your assistant read this before writing any webhook handler.

Notes

  • Stateless & scalable — the remote server treats every request independently; there’s no session to keep alive.
  • Safe defaults on create_bot — sensible automatic_leave timeouts are applied so bots never sit in empty meetings.
  • Destructive ops are gateddelete_bot_data requires explicit confirmation.
  • Idempotency — a retried create_bot returns the original bot rather than creating a duplicate.

Package

The server is open source and published on npm as @meetstream/mcp. Prefer a terminal instead of a chat assistant? See the MeetStream CLI.