
MeetStream
io.github.meetstream-aiPublished by GitHub account meetstream-aiv0.3.0Updated Oct 24, 2026
Meeting bots for Zoom, Google Meet and Teams: record, transcribe, summarize, run voice agents.
The publisher's own server: Stream Estate
Overview
Hosted MeetStream server that lets an assistant send meeting bots to Zoom, Google Meet and Teams to record, transcribe, summarize and interact live.
- What you can do
- Create, schedule, list, inspect and remove meeting bots, and delete their recorded data
- Fetch transcripts, list transcription runs and re-transcribe recorded audio with a chosen provider
- Retrieve presigned media URLs, participants, in-meeting chats and speaker timelines
- Post chat messages and display images into a live meeting through the bot
- List connected Google Calendar events and schedule or unschedule bots for them
- Return a webhook events reference for writing handler code
- When to use it
- Useful when you want an assistant to join real meetings on your behalf: capture a call, get a transcript or AI summary afterwards, drop a message or image into a live session, or schedule bots from a connected calendar.
- Requirements
- Remote Streamable HTTP endpoint at mcp.meetstream.ai; nothing to install. Needs a MeetStream account and OAuth sign-in through the client, or an API key sent as an Authorization bearer token (or the X-MeetStream-Api-Key header). Calendar tools need a Google Calendar connected first.
Installation
In SourceWeft
- Open MeetStream in the dashboard and add it to a workspace.
- Connect the required credentials. They are stored privately and never shown on public pages.
- Enable the server for the chats that should use its tools.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Use with an agent
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/io.github.meetstream-ai%2Fmeetstream-mcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Other MCP clients
Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.
{
"mcpServers": {
"meetstream": {
"type": "http",
"url": "https://mcp.meetstream.ai/mcp"
}
}
}README
MeetStream MCP Server
Give Claude - or any MCP-compatible client - direct access to the MeetStream meeting-bot API. Add one URL, sign in, and your assistant can run the full bot lifecycle (create, record, transcribe, summarize, interact live, manage calendar auto-join) through 19 tools.
MeetStream hosts the server. There is nothing to install or run on your machine, and it is always the current version.
Quick start
[Connect MeetStream in 4 steps: add the URL, click Connect, sign in and click Allow, then ask]
- Add
https://mcp.meetstream.ai/mcpto your AI tool. Do not add a key. - Click Connect (in Claude Code: run
/mcp, then choose Authenticate). Your browser opensapp.meetstream.ai. - Sign in to MeetStream, then click Allow. MeetStream creates an API key for this connection. You do not see or copy the key.
- Ask your AI tool: "list my meetstream bots". A list, or an empty list, means that you are connected.
The exact steps for each tool are in Connect.
Which URL to use
The old npm package
@meetstream/mcp(npx @meetstream/mcp) is frozen at 0.3.0 and no longer maintained. It predates the currentcreate_botdefaults and fixes. Use the hosted URL instead.
Connect
Add the URL with no key. Your client finds MeetStream's sign-in, opens app.meetstream.ai in your browser, and you click Allow. The dashboard creates an API key for that connection, named MCP · <app name> · <date> · <number>. To disconnect, delete that key on the API keys page.
This is the page that opens in your browser. If you are not signed in to MeetStream, you sign in first, then you see this page:
[MeetStream consent page: Connect Claude Code to MeetStream, with Cancel and Allow buttons]
The page shows the name of the app that asked to connect. If you do not recognize the app, click Cancel. The sign-in link is valid for 15 minutes.
Claude Code
Claude (web and desktop)
Customize → Connectors → + → Add custom connector. Name it meetstream, set the URL to https://mcp.meetstream.ai/mcp, leave the OAuth fields blank, and click Connect.
Cursor
~/.cursor/mcp.json (or install the MeetStream Cursor plugin), then click Connect next to meetstream in Cursor Settings → MCP:
VS Code
.vscode/mcp.json, then start the server and sign in when VS Code asks:
Windsurf
~/.codeium/windsurf/mcp_config.json. Cascade asks you to sign in on first use. If your Windsurf version cannot finish the sign-in, use an API key header (below):
Codex
~/.codex/config.toml, then run codex mcp login meetstream:
Any other MCP client
Point it at https://mcp.meetstream.ai/mcp as a remote (Streamable HTTP) server. Clients that support MCP authorization sign in by themselves: protected resource metadata (RFC 9728), authorization server metadata (RFC 8414), dynamic client registration (RFC 7591) and the authorization code flow with PKCE. Access tokens last an hour and refresh automatically.
Or use an API key
For clients without OAuth, or for scripts and CI, create a key at app.meetstream.ai/api-keys and send it as a header:
- Claude Code:
claude mcp add --transport http meetstream https://mcp.meetstream.ai/mcp --header "Authorization: Bearer $MEETSTREAM_API_KEY" - Codex: add
bearer_token_env_var = "MEETSTREAM_API_KEY"to the[mcp_servers.meetstream]block. X-MeetStream-Api-Key: <key>works too. For connector UIs that cannot set headers,https://mcp.meetstream.ai/mcp?key=<key>. The server never logs query strings, but a key in a URL can end up in client-side history, so prefer OAuth or a header.
Older clients (HTTP+SSE)
/mcp is the main endpoint, and its replies already stream as server-sent events (text/event-stream). Clients that only speak the older 2024-11-05 HTTP+SSE transport connect to https://mcp.meetstream.ai/sse with the same sign-in or key options. The stream's first event names the per-session message endpoint; the key never appears in it.
Check it is connected
Ask your client something like "list my meetstream bots" - if it returns data (or a clean empty list) instead of an error, you are connected.
Then just ask
"Join my standup at 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 give me the AI summary of the 3pm customer call."
"Send 'we'll follow up by email' into the meeting the bot is in, then show them our logo."
"Schedule a bot for tomorrow's board meeting on my calendar."
Full capability list - 19 tools
Bot lifecycle
Transcription
Media & meeting data
Live meeting interaction
Calendar
Reference
What makes this different from just reading the docs
Every tool description and the webhook_events_guide bake in live-verified ground truth, confirmed against real production bot runs, that the public API docs currently get wrong:
- Every delivery carries
event, and most also carrybot_eventwith the specific name. Readeventto route,bot_eventfor detail. - Terminals are two-layer: every ending arrives once with
event: "bot.stopped", andbot_eventsays why (bot.stopped,bot.kicked,bot.notallowed,bot.denied,bot.failed). Lobby timeouts, denials and failures carrystatus_code: 500. Branch onbot_event, notbot_status- a kick and a clean exit both reportStopped. - Streaming-only transcription providers (
deepgram_streaming,assemblyai_streaming,jigsawstack_streaming,meetstream_streaming,meeting_captions) produce no post-call transcript, sotranscription.processednever fires.bot.donestill does. A post-call transcript fetch for them returns202indefinitely, so cap your polling. transcript_idis never in a webhook payload -get_transcriptresolves it for you automatically instead of making the model guess.- Safe defaults everywhere:
automatic_leavetimeouts on everycreate_botcall, andrecording_permission_denied_timeoutfloored at 60 (the API rejects lower values with a 400).
How it works
The server holds no API key of its own: each request (or SSE session) carries the caller's key or an OAuth token that wraps it. A request with no credentials gets a 401 with setup instructions and a WWW-Authenticate header pointing OAuth clients at the sign-in flow. Streamable HTTP is stateless, so the service scales horizontally with no shared state; OAuth tokens are encrypted, self-contained values, so there is no token database either.
MeetStream runs the server; it is written in Go and its source is not published. This repo holds the user docs and the MCP Registry entry (server.json). To report a problem, open an issue here.
Troubleshooting
Prefer a terminal? See the MeetStream CLI. Docs: docs.meetstream.ai · API spec: openapi.json · Migrating from Recall.ai: @meetstream/migrate
Privacy and telemetry
The hosted server records anonymous counts of which tools are called and whether each call succeeded. It never records your API key, OAuth tokens, meeting URLs, transcripts, or any other content. Server logs contain the request path only, never the query string.
MIT © MeetStream.ai
Source: README.md at commit cf531ca
Tools
0Version history
1- v0.3.0LatestSep 16, 2026
Score
85% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 daysRequired25 pts
- Auth declaredRequired10 pts
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Other Stream integrations
Stream Estate
estate.streamOfficial publisher
Remote MCP server giving an assistant access to French real estate listings, market data and property alerts through the Stream Estate API v2.

AuraStream
Published by GitHub account UnbiasedAlpha
AuraStream MCP pulls historical market, macro, positioning and alternative data from 45+ sources through one API, so an assistant can fetch and compare time…

GenPark Reservoir Sampling Stream Auditor
Published by GitHub account alphaparkinc
A local Python MCP server that provides reservoir sampling and quantile estimation over high-volume streams, aimed at LLM telemetry and token-stream auditing.

pubmed-stream
Published by GitHub account melhzy
Searches PubMed and PubMed Central, downloads open full texts, reads them, maps citations and builds an Obsidian knowledge graph.

Alpha Stream Mcp
Published by GitHub account robertoyanguas-ops
Remote MCP feed that gives an assistant 5-minute delta signals on DEX buy/sell ratios, DeFiLlama APY spreads and Polymarket odds, plus agent wallet balance…