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.
Visual Studio Code runs MCP servers for Copilot Chat in agent mode, so the model can use external tools while it works on your code.
This guide connects Fathom MCP to VS Code through MewCP, so VS Code can use Fathom MCP's 12 tools, like get_identity, list_teams and list_meetings, without your Fathom MCP credentials ever reaching the app.
Fathom MCP signs in through managed OAuth. MewCP stores the token encrypted, refreshes it before it expires and injects it only at call time. Your agent never holds it, so it can never leak it.
More apps
Manage events, schedules and availability across Google Calendar. Create meetings, coordinate calendars, track availability and automate scheduling workflows.
Microsoft Outlook MCP Server gives AI agents full control over Outlook email and calendar workflows, including reading and sending emails, managing attachments, organizing mail, scheduling and updating meetings, managing contacts, and creating tasks.
Create, schedule and manage Google Meet sessions for video collaboration. Work with meetings, participants, recordings and conferencing workflows across your organization.
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.
Other clients
Fathom MCP works the same way in every client below. Pick yours for its own guide.
Free to start.
Scope access to the exact Fathom MCP tools and accounts you allow, work and personal side by side. Anything outside that scope is refused at call time, even when the model asks for it.
Each call is logged: what ran, on which account, and whether it worked. Failures come back structured, so the agent knows whether to retry instead of guessing.
Every app sits behind one secure MCP URL, and there is no server for you to deploy or keep running. Add an integration in the dashboard and it is live on the next call, with no config to change and no new credentials to wire up. Tools load only when a task needs them, so your agent stays fast and focused however many apps you connect.
A browser window opens the first time the client connects. Sign in and approve access. No API key needed.
Start a new chat and ask: "List the tools you can use from MewCP." You should see your connected apps.
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.