Skip to main content
Glama
meetstream-ai

MeetStream MCP Server

Official

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
DO_NOT_TRACKNoStandard environment variable to disable telemetry; set to '1' to disable.0
MEETSTREAM_API_KEYYesYour MeetStream API key, sent as Authorization: Token <key> on every request. Create one at app.meetstream.ai/api-keys.
MEETSTREAM_API_URLNoOverride the base URL (default https://api.meetstream.ai/api/v1) - useful for testing against a staging environment.https://api.meetstream.ai/api/v1
MEETSTREAM_TELEMETRYNoSet to '0' to disable anonymous telemetry. Alternatively set DO_NOT_TRACK=1.1

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
create_botA

Send a MeetStream bot to a Zoom / Google Meet / Microsoft Teams meeting (or schedule it with join_at). Returns bot_id and (when a transcription provider is set) transcript_id. Set callback_url to receive lifecycle webhooks.

list_botsA

List all bots on the account (paginated: bots[], hasNextPage, nextCursor).

get_bot_statusB

Current bot status. Values: Joining, InWaitingRoom, InMeeting, Recording, Leaving, Stopped, NotAllowed, Denied, Error, Done.

get_bot_detailA

Full session metadata: platform, duration, timings, status timeline, transcript_id (canonical source), caption_file (for meeting_captions provider), original request payload.

get_bot_summaryB

MeetStream's built-in AI summary of the meeting (no external LLM needed).

remove_botA

Make the bot leave an active meeting now. Recorded data is KEPT (use delete_bot_data to erase).

delete_bot_dataA

PERMANENTLY delete a bot's audio, video, and transcripts. Irreversible — fires a data_deletion webhook. Only call when the user explicitly asks to delete data.

get_transcriptA

Fetch a bot's transcript by bot_id. Resolves transcript_id automatically (it is NOT in webhooks) via /detail → /transcriptions. Set wait=true to poll until ready (after transcription.processed fires). Segments have speaker and transcript fields.

list_transcriptionsA

All transcription runs for a bot: transcript_id, provider, status, presigned download_urls (valid 1h).

transcribe_audioB

Start a (re-)transcription of a bot's recorded audio with a chosen post-call provider. Useful to try a different provider or language after the meeting.

get_media_urlsA

Presigned S3 URLs for recorded media. kind=audio (valid 1h), video (valid 10min), audio_streams / video_streams (per-participant; require separate_*_streams at creation), screenshots.

get_participantsB

Participants detected in the meeting (displayName, fullName, status, stream ids).

get_chatsC

Chat messages captured during the meeting.

get_speaker_timelineB

Who spoke and when (chunk timeline with speaker ids/names).

send_chat_messageA

Post a chat message into the live meeting through the bot.

send_imageC

Display an image/GIF as the bot's video frame. img_url must be PUBLIC.

list_calendar_eventsC

Upcoming events from connected Google Calendars (connect via POST /calendar/create_calendar with google_client_id/secret/refresh_token — needs OAuth credentials, usually done once from the dashboard or CLI).

schedule_calendar_botB

action=schedule sends a bot to a specific calendar event; action=unschedule removes it.

webhook_events_guideA

Authoritative reference for MeetStream webhook events — envelope shape, full event list, two-layer bot.stopped model, streaming-provider caveats. Use this before writing any webhook handler.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.5/5.0

Scored across 19 tools

Disambiguation5/5

Each tool targets a distinct resource or action: bot lifecycle (create, status, detail, summary, remove, delete), media/transcript retrieval (transcript, transcriptions, media urls), meeting content (participants, chats, speaker timeline), and live interaction (send chat/image). There is minor overlap between get_bot_status and get_bot_detail, but the difference (current status vs full metadata) is clear.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case: create_bot, get_bot_status, remove_bot, list_transcriptions, send_chat_message, etc. The only slight deviation is webhook_events_guide, but it's still a noun phrase and does not break the overall convention.

Tool Count4/5

19 tools is above the typical 3-15 range, but the count is justified by the breadth of features: bot lifecycle, transcripts, media, participants, chat, calendar, and webhook guidance. It feels slightly heavy but each tool covers a distinct function and none are redundant.

Completeness4/5

The core meeting bot lifecycle is well covered: create, monitor, retrieve data, leave, delete, and interact. Minor gaps exist—there is no direct tool to create/connect calendar OAuth credentials (only list and schedule against existing connections), and no update/pause/resume bot action—but these can be worked around via the dashboard/CLI or by re-creating a bot.

Maintenance

ActivityActive
ResponsivenessNo issues