Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Beschreibung vom Entwickler (englisches Original)
Meeting bots for Zoom, Google Meet and Teams: record, transcribe, summarize, run voice agents.
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
AuthorizationAls geheim markierte Werte sind Schlüssel zu deinem Konto. Gib sie nie weiter und füge sie nie in einen Chat ein.
Du brauchst
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Diese Adresse braucht einen Schlüssel in einem Header der Anfrage, und das Menü zum Hinzufügen von Connectors kann ihn nicht setzen. Nutze stattdessen Claude Code, Cursor oder VS Code.
Führe das in deinem Terminal aus
claude mcp add --transport http meetstream https://mcp.meetstream.ai/mcp --header 'Authorization: your-value'Trag die leeren Werte ein, bevor du ihn startest.
In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"meetstream": {
"url": "https://mcp.meetstream.ai/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"meetstream": {
"type": "http",
"url": "https://mcp.meetstream.ai/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
Diese Adresse braucht einen Schlüssel in einem Header der Anfrage, und das Menü zum Hinzufügen von Connectors kann ihn nicht setzen. Nutze stattdessen Claude Code, Cursor oder VS Code.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
Authorization geheim erforderlich HTTP headerDiese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Die Tool-Liste dieses Servers haben wir noch nicht gelesen; wir prüfen die Endpunkte reihum.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 7. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto meetstream-ai bestätigt, dem das Repo gehört
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Noch nicht geprüft; wir prüfen die Endpunkte reihum
Noch nicht geprüft; wir prüfen die Endpunkte reihum
Noch nicht geprüft; wir lesen die Tool-Liste, wenn wir den Endpunkt prüfen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Das musst du eintragen: Authorization
Er läuft in der Cloud des Entwicklers. Du verbindest dich übers Internet, ohne etwas zu installieren, aber was du sendest, läuft über die Server des Entwicklers.
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.3.0) kam vor 2 Monaten in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Er verbindet sich per URL, also funktionieren auch Apps, die Remote-MCP-Server akzeptieren, zum Beispiel ChatGPT im Entwicklermodus.
In derselben Kategorie: Spec Driven Development, Remote Desktop Commander, Dialyne
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Real phone calls in France for AI agents: dial +33 numbers, menus, hold, AI disclosure.
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
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.
https://mcp.meetstream.ai/mcp
MeetStream hosts the server. There is nothing to install or run on your machine, and it is always the current version.
https://mcp.meetstream.ai/mcp to your AI tool. Do not add a key./mcp, then choose Authenticate). Your browser opens app.meetstream.ai.The exact steps for each tool are in Connect.
| URL | Use it for |
|---|---|
https://mcp.meetstream.ai/mcp | All current clients. Streamable HTTP. The replies stream as server-sent events (SSE), so you do not need a separate SSE setting. |
https://mcp.meetstream.ai/sse | Only clients that support just the older HTTP+SSE transport (2024-11-05). The sign-in and the API key work the same way. |
Your AI tool ──HTTPS + OAuth sign-in──► mcp.meetstream.ai ──► api.meetstream.ai
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.
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 · · · . 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:
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 mcp add --transport http meetstream https://mcp.meetstream.ai/mcp
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/mcp.json (or install the MeetStream Cursor plugin), then click Connect next to meetstream in Cursor Settings → MCP:
{
"mcpServers": { "meetstream": { "url": "https://mcp.meetstream.ai/mcp" } } }
.vscode/mcp.json, then start the server and sign in when VS Code asks:
{
"servers": { "meetstream": { "type": "http", "url": "https://mcp.meetstream.ai/mcp" } } }
~/.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):
{
"mcpServers": { "meetstream": { "serverUrl": "https://mcp.meetstream.ai/mcp" } } }
~/.codex/config.toml, then run codex mcp login meetstream:
[mcp_servers.meetstream]
url = "https://mcp.meetstream.ai/mcp"
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.
For clients without OAuth, or for scripts and CI, create a key at [app.meetstream.ai/api-keys](https://app.meetstream.ai/api-keys) and send it as a header:
{
"mcpServers": { "meetstream": { "url": "https://mcp.meetstream.ai/mcp", "headers": { "Authorization": "Bearer ms_YOUR_API_KEY" } } } }
claude mcp add --transport http meetstream https://mcp.meetstream.ai/mcp --header "Authorization: Bearer $MEETSTREAM_API_KEY"bearer_token_env_var = "MEETSTREAM_API_KEY" to the [mcp_servers.meetstream] block.X-MeetStream-Api-Key: works too. For connector UIs that cannot set headers, https://mcp.meetstream.ai/mcp?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./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.
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.
"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."
| Tool | What it does |
|---|---|
create_bot | Sends (or schedules, via join_at) a bot to a Zoom / Google Meet / Microsoft Teams meeting. Audio only by default; record_video turns video on and records it in speaker view unless video_layout: "grid_view" is asked for, and per-participant video stays off unless requested. Configurable: transcription provider + language, callback_url for webhooks, video recording, per-participant audio/video streams, MIA conversational agent, signed-in joins (google_login_domain / teams_login_domain, optional sign_in_email / strict_email, for domains already registered on your account), authenticated Zoom joins (zoom_zak_url / zoom_obf_url), custom attributes, retention window, idempotency key (safe retries - a repeat call returns the original bot, never a duplicate). Returns bot_id and transcript_id (when a provider is set). |
list_bots | Lists every bot on the account (paginated). |
get_bot_status | Current lifecycle status - one of Joining, InWaitingRoom, InMeeting, Recording, Leaving, Stopped, NotAllowed, Denied, Error, Done. |
get_bot_detail | Full session metadata: platform, timings, status timeline, the canonical transcript_id, caption_file (for the meeting_captions provider), and the original request payload. |
get_bot_summary | MeetStream's built-in AI meeting summary - no external LLM call needed. |
remove_bot | Makes the bot leave an active meeting immediately. Recorded data is kept. |
delete_bot_data | Permanently deletes a bot's audio, video, and transcripts. Requires confirm: true - only call this when the user has explicitly asked to delete data. Irreversible. |
| Tool | What it does |
|---|---|
get_transcript | Fetches a transcript by bot_id. Automatically resolves the transcript_id (it is never delivered in webhooks) via /detail → /transcriptions. Set wait: true to poll until it's ready; raw: true for unprocessed provider output. Segments come back as { speaker, transcript, start_time, end_time }. |
list_transcriptions | Lists every transcription run for a bot - provider, status, and presigned download URLs (valid 1h). |
transcribe_audio | (Re-)transcribes a bot's recorded audio with a chosen provider - useful to retry with a different provider or language after the meeting. |
| Tool | What it does |
|---|---|
get_media_urls | Presigned URLs for audio (1h), video (10min), audio_streams/video_streams (per-participant - needs separate_audio_streams/separate_video_streams at creation), or screenshots. |
get_participants | Everyone detected in the meeting - display name, full name, status, stream ids. |
get_chats | In-meeting chat messages captured during the call. |
get_speaker_timeline | Who spoke and when, as a timeline of speaker segments. |
| Tool | What it does |
|---|---|
send_chat_message | Posts a chat message into the live meeting through the bot. |
send_image | Displays an image or GIF as the bot's video frame. img_url must be publicly accessible (no base64). |
| Tool | What it does |
|---|---|
list_calendar_events | Upcoming events from a connected Google Calendar. (Connecting a calendar - POST /calendar/create_calendar with OAuth credentials - is a one-time setup usually done via the MeetStream CLI or dashboard.) |
schedule_calendar_bot | Schedules (action: "schedule") or removes ("unschedule") a bot for a specific calendar event. |
| Tool | What it does |
|---|---|
webhook_events_guide | Returns the webhook reference - envelope shape (event and bot_event), the two-layer bot.stopped terminal model, status codes, and streaming-provider caveats, checked against captured production deliveries. Have your model call this before it writes any webhook handler code. |
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:
bot_event with the specific name. Read event to route, bot_event for detail.event: "bot.stopped", and bot_event says why (bot.stopped, bot.kicked, bot.notallowed, bot.denied, bot.failed). Lobby timeouts, denials and failures carry status_code: 500. Branch on bot_event, not bot_status - a kick and a clean exit both report Stopped.deepgram_streaming, assemblyai_streaming, jigsawstack_streaming, meetstream_streaming, meeting_captions) produce no post-call transcript, so transcription.processed never fires. bot.done still does. A post-call transcript fetch for them returns 202 indefinitely, so cap your polling.get_transcript resolves it for you automatically instead of making the model guess.automatic_leave timeouts on every create_bot call, and recording_permission_denied_timeout floored at 60 (the API rejects lower values with a 400).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
Nur der Anfang wird gezeigt; den Rest findest du im Repo