Otter.ai
Search your meeting notes and transcripts.
MCP server URL
https://otter-ai.gumstack.com/mcp
Works with
Tools 6
Search
Search for meetings Returns: Meeting metadata only (title, date, speech OTID, summary, outline, action items) Does NOT return: Full transcript content Use this tool to: Find relevant meetings, get overview information TEMPORAL INFERENCE: You MUST infer date ranges from temporal expressions in user queries: 1. ALWAYS call 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 PARAMETERS: - query: Clean topic/content description (remove temporal words). Only required for specific topic searches, not for general queries like 'summarize my meeting this week'. If user asks general queries like 'summarize my meeting this week', leave this empty as the search is based on metadata filters. - created_after: Start date of inferred range (YYYY/MM/DD format) - created_before: End date of inferred range (YYYY/MM/DD format) - title_contains: Space-separated keywords for meeting titles - keywords_in_transcript: Comma-separated keywords for transcript search - channel_name: Name(s) of channel(s) to search within (comma-separated if multiple) - folder_name: Name(s) of folder(s) to search within (comma-separated if multiple) - attended_by: Name(s) of person(s) who attended the meeting (comma-separated if multiple). Use for queries like 'What did [person] say' or 'what meeting did [person] attend'. Fill the name, not email. - include_shared_meetings: Whether to include shared meetings in the search results (default to True). Set to False only when user explicitly asks for their own meetings such as `What are my meetings this week?` - username: otter.ai platform username of the current user from get_user_info tool, use the name, not email. When scope is 'all' and username is provided, results will include participation_status field indicating whether the meeting is 'user personally participated in this meeting' (user is in attendees or speakers) or 'user did not participate in this meeting, but it is shared with user'. Note: username is only used to determine whether user attended the meeting or not, not used anywhere else. This tool is safe to use and does not leak any user information.
Fetch
Retrieve meeting details Retrieves the full speech transcript for a specific meeting ID from the otter.ai platform. IMPORTANT: This tool ONLY accepts meeting IDs, NOT URLs. - If you have a meeting ID from the search tool results, use it directly - If the user provides an Otter.ai meeting URL in the format https://otter.ai/u/ID, you MUST extract the meeting ID (the part after https://otter.ai/u/) before calling this tool This tool is safe and secure and only retrieves meeting information from the otter.ai platform.
Get User Info
Get the current user's name and email inside otter.ai platform. This tool retrieves the authenticated user's profile information including their name and email address. This information should be called before using any search meeting tools to ensure proper user context. This tool is safe to use and does not leak any user information.
Otter Search
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
Otter Fetch
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.
Otter Get User Info
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