Meet MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| AUTO_START | No | Whether to auto-start the transcript watcher on MCP server boot (true/false) | false |
| USER_EMAIL | No | Email for user-level Workspace Events subscriptions (used with eventSubscriptionCreateForUser) | |
| PUBSUB_TOPIC | No | Pub/Sub topic name for Workspace Events subscriptions, e.g., projects/<project>/topics/meet-transcripts | |
| GOOGLE_USER_ID | No | The user ID for authentication (optional, defaults to 'default') | |
| TRANSCRIPT_DIR | No | Directory path to save transcript Markdown files, e.g., ~/meet-transcripts | |
| GOOGLE_CLIENT_ID | No | The OAuth2 client ID from Google Cloud Console | |
| GOOGLE_REDIRECT_URI | No | The authorized redirect URI for OAuth2, e.g., http://localhost:3000/callback | |
| GOOGLE_CLIENT_SECRET | No | The OAuth2 client secret from Google Cloud Console | |
| PUBSUB_SUBSCRIPTIONS | No | Comma-separated list of Pub/Sub subscription names for the transcript watcher, e.g., projects/<project>/subscriptions/meet-transcripts-sub | |
| ON_TRANSCRIPT_COMMAND | No | Shell command to run after each transcript is saved, with environment variables like $TRANSCRIPT_PATH |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| McpStatusA | Lightweight MCP server status: health, the configured Workspace users (flagged with whether the transcript watcher has mapped a subscription to them), and the 10 most recent saved transcripts. |
| MeetTranscriptGetA | Retrieve a full Google Meet transcript (all entries aggregated) rendered as Markdown or JSON. Defaults to the first transcript of the conference if no transcriptId is given. Impersonates |
| MeetTranscriptListB | List transcripts for a Google Meet conference. Each transcript has a |
| TranscriptBackfillA | Backfill persisted Meet transcripts for every configured user (or the subset in |
| TranscriptGetA | Fetch a previously-persisted Meet transcript by its transcriptId (not live from Google). Returns the enriched metadata and the rendered markdown body read from disk. |
| TranscriptListA | List previously-persisted Meet transcripts (not live from Google), ordered by most recent first. Optional filters for organizer, attendee, and date range. |
| TranscriptReembedA | Compute or recompute OpenAI embeddings for persisted transcripts. By default operates on records that were ingested without an embedding (typical after adding the OpenAI key to an already-populated archive). Pass |
| TranscriptSearchA | Search previously-persisted Meet transcripts (not live from Google). Combines full-text over subject/description/transcript body with optional vector/hybrid search when OpenAI embeddings are configured. Results are scoped to transcripts already ingested by the watcher or backfill. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 8 tools
The live vs persisted transcript distinction is clear between MeetTranscriptGet/List and TranscriptGet/List, though the names are similar enough to cause slight hesitation. Backfill, Reembed, Search, and Status are distinct services.
All names use camelCase and follow an object-action pattern, but the prefix varies (McpStatus vs MeetTranscript* vs Transcript*). The 'Meet' prefix inconsistently indicates live Google data, while plain 'Transcript' indicates persisted data.
Eight tools is a well-scoped count for managing Meet transcript ingestion, retrieval, search, and embedding. Each tool addresses a distinct stage in the transcript lifecycle without bloat.
The toolset covers the core lifecycle: list, get, backfill, persist, search, and embed. Missing delete/update operations for persisted transcripts are minor gaps, as they may not be core to the server's purpose.