Provides access to Fathom meeting recordings, AI-generated summaries, and transcripts. Enables listing meetings with filtering by date, recorder, or team, and retrieving full transcripts with speaker attribution and timestamps.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Fathom Video MCP Serverlist my meetings from yesterday"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Fathom Video MCP Server
An MCP (Model Context Protocol) server that provides access to your Fathom meeting recordings, AI-generated summaries, and transcripts.
Features
List Meetings - Browse your Fathom meetings with filtering by date, recorder, or team
Get Summaries - Retrieve AI-generated meeting summaries in markdown format
Get Transcripts - Access full transcripts with speaker attribution and timestamps
Installation
From source
Configuration
Step 1: Get your Fathom API Key
Login to your Fathom account, go to fathom.video/api_settings/new
Select Generate Api Key
Copy your new API key and save it somewhere secure
Step 2: Add to Claude Code or Claude Desktop
Choose one of the following based on which Claude app you use.
Claude Code
Edit ~/.claude/settings.json:
Replace /path/to/fathom-video-mcp with the actual path where you cloned the repo.
Claude Desktop
Edit your config file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Replace /path/to/fathom-video-mcp with the actual path where you cloned the repo.
Step 3: Restart Claude
Restart Claude Code or Claude Desktop to load the new MCP server. You should now be able to ask Claude about your Fathom meetings.
Available Tools
list_meetings
List your Fathom meetings with optional filters.
Parameters:
limit(int, optional): Maximum number of meetings to return (1-50)search(string, optional): Smart search - matches titles, attendee names, and email domainscursor(string, optional): Pagination cursor from previous responsecreated_after(string, optional): ISO timestamp to filter meetings aftercreated_before(string, optional): ISO timestamp to filter meetings beforeinclude_summary(bool, optional): Include AI summary in responseinclude_transcript(bool, optional): Include transcript in responseinclude_action_items(bool, optional): Include action items in responserecorded_by(list[string], optional): Filter by recorder email addressesteams(list[string], optional): Filter by team namescalendar_invitees_domains_type(string, optional): Filter by invitee type ('all', 'only_internal', 'one_or_more_external')invitee_domains(list[string], optional): Filter by invitee email domains (e.g., ['acme.com'])
Example:
get_summary
Get the AI-generated summary for a specific meeting.
Parameters:
recording_id(int, required): The recording ID from list_meetings
Example:
get_transcript
Get the full transcript with speaker attribution.
Parameters:
recording_id(int, required): The recording ID from list_meetings
Example: