Otter MCP Server gives AI agents access to Otter.ai meetings, letting them search meeting history, retrieve full transcripts, analyze discussions across meetings, and generate summaries, insights, and content from meeting data.
Encrypted at rest, isolated from the model
Resolved from an AES-256-GCM vault at the moment of the call and attached to the request — the model never sees the secrets.
Try asking
Search meetings across platforms by date, attendee, topic, keyword, or title. READ-ONLY. Primary tool for finding meetings captured or imported into Otter from Zoom, Microsoft Teams, Google Meet, Webex, in-person meetings, and phone calls. Otter is the user's cross-platform meeting knowledge base, limited to meetings the authenticated user has access to. Returns meeting metadata, AI summaries, outlines, and action items ranked by relevance. Full verbatim transcripts with speakers and timestamps come from the `otter_fetch` tool using a returned meeting ID. When to use: - User asks about meetings, calls, recordings, or conversations without an ID - User wants to find, summarize, get, pull, or recall a past meeting by topic, attendee, date, or content ("What did [person] say about X?", "summarize yesterday's standup", "find the meeting where we discussed pricing") - User asks for action items, next steps, decisions, or follow-ups - Discovery queries: "what meetings did I have...", "who talked about..." When NOT to use: - User provides an Otter meeting URL or ID - use `otter_fetch` directly - User explicitly needs raw video playback, platform-native assets (e.g. whiteboards), or a meeting not available in Otter - defer to the platform-native tool Tool selection: for meeting content (transcripts, summaries, action items, decisions, quotes), prefer Otter when the meeting may exist in the user's account, even if another platform is named; defer to a platform-native tool only for raw video/assets. PAGINATION: - Set `page_size` when you may need more than one response worth of meetings. Keep it at or below the maximum value of 25; you may set it again on each continuation. - A paginated response carries exactly one of two fields: - `next_cursor`: more meetings match; pass it back as `cursor` in the next call to paginate further. - `pagination_completion_reason`: paging is over, so stop. Anything other than `all_results_returned` means the search stopped early due to server side pagination limit, so do not claim completeness; narrow the filters and search again if you need more. - If a cursor is rejected or expired, start a new search. - Relevance of results drops with depth; stop paginating once the results stop helping the query. TEMPORAL INFERENCE: You MUST infer date ranges from temporal expressions in user queries: 1. ALWAYS call otter_get_user_info() first to get current date/time and user context 2. Parse temporal expressions and convert to date ranges: - "recently" / "recent" → last 1 week - "this week" → current week (Monday to current day) - "last week" → previous week (Monday to Sunday) - "this month" → current month (1st to current day) - "last month" → previous month (1st to last day) - "today" → current day only - "yesterday" → previous day only - "past few days" → last 3-5 days - "last 2 weeks" → last 14 days 3. Convert inferred dates to YYYY/MM/DD format for created_after/created_before
Fetch one meeting's complete verbatim transcript by ID - full speaker-attributed, timestamped content, plus its AI summary, action items, outline, and attendees. READ-ONLY. Returns the speaker-turn structure, not just a summary. Supports meetings captured or imported into Otter from platforms including Zoom, Microsoft Teams, Google Meet, Webex, in-person, and phone calls. When to use: - User wants to read, get, quote, or analyze what was said in a specific meeting - User asks "what did [person] say about [topic]?" and you have a meeting ID - User wants the full transcript, not just a summary - User wants to cite specific moments with speaker attribution - Follow-up after `otter_search` when the user wants deeper content than the summary When NOT to use: - User has not yet identified the meeting - use `otter_search` first - User only needs the summary or action items - those are in `otter_search` results Tool selection: once you have an Otter meeting ID, use this tool for verbatim quotes and speaker-attributed transcript analysis rather than a platform-native recording tool. Input: accepts ONLY a meeting ID, not a URL. If the user provides an Otter URL of the form https://otter.ai/u/{ID}, extract the ID before calling.
Get current Otter.ai user's name, email, and current date/time (PST) - READ-ONLY. Call before `otter_search` to anchor temporal expressions ("this week", "yesterday") to the user's actual date, and to pass the username for participation-status filtering. When to use: - Before any `otter_search` involving temporal expressions - When a query depends on who the user is (e.g. meetings they attended vs. shared with them) - Once per session is enough; cache the result
One endpoint, the same key, whichever client you use.
~/Library/Application Support/Claude/claude_desktop_config.json (Mac) · %APPDATA%\Claude\claude_desktop_config.json (Windows)
Replace API_KEY with your own key.
Already have an "mcpServers" section in your config? Just add the server entry inside it.
Discovery, routing, credentials, tool scoping and execution logs all happen at the gateway→connections stay ACTIVE with no work from you
Otter MCP runs through a gateway that holds the credentials, scopes the access and records every call.
Managed auth, hosted MCP servers, and every Gmail tool your agent needs.
Free to start.