Fathom connects AI assistants to meeting recordings, transcripts, and AI-generated summaries. Search past meetings, retrieve discussion highlights and action items, filter recordings by date or team, and analyze meeting and participant statistics.
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
Returns the authenticated user's name and email address. Call this once per session to determine who the authenticated user is. The email is needed only for queries explicitly scoped to the user's own recordings (recorded_by filter), not for every tool call.
List all Fathom teams the current user belongs to. Returns team names. Use the returned names for the teams filter in list_meetings. Call list_teams first if you need team names — do not guess them.
List Fathom meetings with filters. Returns recording_id, title, url, recorded_by, and calendar invitees. It does not scan meeting content; use find_person for people and find_relevant_meetings or scan_meeting_summaries for topics.
Returns the AI summary of a specific Fathom meeting. Required: recording_id (from list_meetings). When presenting, cite with a working link using the meeting url field.
Returns the full transcript of a specific Fathom meeting. Required: recording_id (from list_meetings). Pass url (from list_meetings) to get timestamped deep links in the transcript output. Each speaker segment includes a clickable [MM:SS](url?timestamp=secs) link. Fetch at most 3 transcripts per query — they are large.
Find a person by name across meeting speakers, then return compact summaries for matched meetings. Use find_relevant_meetings or scan_meeting_summaries instead for topic searches. recorded_by is required; prefer 'anyone' when ambiguous.
Targeted ranked retrieval for specific facts, decisions, quotes, named projects, companies, products, people-plus-topic questions, or locating the best matching meetings. Searches meeting titles, participant names, and full transcripts, returning the strongest matches first. Do not use for broad themes, frequencies, trends, or synthesis across many meetings; use scan_meeting_summaries for those. Use distinctive terms people would actually have said. Complementary parallel calls are allowed for different targeted phrasings. Rate every query word from 0 to 10 in word_weights. Use title_only=true for a named recurring meeting series. recorded_by is required; prefer 'anyone' when scope is ambiguous. Pass user_question as the user's complete original request verbatim; it is used to write the per-meeting relevant extracts. This starts the search and returns a search_id to pass to get_relevant_meetings_result.
Returns the find_relevant_meetings result for a search_id. While the search is still running it says so; searches usually finish in 15-30 seconds and can take up to 3 minutes, so keep calling this tool with the same search_id until the meetings are returned. Do not answer from other tools while it runs.
Broad chronological scan for themes, patterns, frequency, change over time, comparisons, or synthesis across many meetings. Scans about 25 meetings per page, newest first, and matches titles plus summaries using AND logic: every query word must appear. Use a few broad keywords and raise max_pages for broad or historical scopes. Retry with fewer words or synonyms if results are too narrow. Do not use for a precise fact or locating the best single meeting; use find_relevant_meetings for those. recorded_by is required; prefer 'anyone' when scope is ambiguous.
Deprecated: use scan_meeting_summaries or find_relevant_meetings. Search meeting summaries and titles by topic or keyword. All words in the query must appear somewhere in the meeting text (AND logic). Use this when looking for a specific topic, discussion, idea, or decision — e.g. "voiceprint script", "churn reduction seat contraction", "iOS onboarding". Returns matching meetings with full summary snippets. SCOPE (recorded_by is required — choose based on user intent): - User's own recordings ("search my meetings for churn reduction") → recorded_by = user's email - Accessible / org-wide ("any meeting about iOS onboarding", "search all meetings for X") → recorded_by = "anyone" When ambiguous, prefer "anyone" for broader results. For topic searches that mention a person name AND a topic ("Rich had an idea about X"), use the topic keywords as the query — not the person name.
Resolve a Fathom call ID to a recording_id plus title, date, and url. Use when the user pastes or types a numeric call ID (e.g. "summarize call 12345"). Pass the returned recording_id to get_meeting_summary, get_meeting_transcript, etc. Returns the same title/date/url shape as list_meetings. For pasted URLs use get_recording_by_url instead. On failure, fall back to using the number directly as a recording_id in get_meeting_summary.
Resolve a Fathom URL to a recording_id plus title, date, and url. Accepts direct call URLs (/calls/:id) and share links (/share/:token and the /share/h/, /share/i/, /share/p/, /share/u/ variants). Use when the user pastes any Fathom link (e.g. "get the transcript for https://fathom.video/share/123"). Pass the returned recording_id to get_meeting_summary, get_meeting_transcript, etc. Returns the same title/date/url shape as list_meetings. For bare numeric call IDs use get_recording_by_call_id instead.
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
Fathom 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.