Otter.ai
Search Otter.ai meeting transcripts and pull their summaries and action items. Sign in with Otter.ai to connect.
What Otter.ai exposes.
Every tool below is one this server advertised the last time Omniio refreshed it, under the otter__ namespace. Your agent never loads them all — it searches, and gets the few that match.
otter__otter_fetch1 argument · 1 required
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.
Required
idotter__otter_get_user_infono arguments
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
otter__otter_search13 arguments
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
Three steps, and the last one is not yours.
Point a client at Omniio
One URL, authorized once by your client. If you already use Omniio, this step is done.
Switch Otter.ai on
Authorize it from your library; the grant is yours and stays yours.
Ask for what you need
The agent searches, reads the one schema it picked, and runs it. You do not name the tool.
claude mcp add --transport http omniio https://mcp.omniio.devOthers in the same category.
They share the endpoint, so having more than one on costs you nothing in context — the search decides which is relevant.