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
git clone https://github.com/trevorwelch/fathom-video-mcp.git
cd fathom-video-mcp
uv sync
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:
{
"mcpServers": {
"fathom": {
"command": "uv",
"args": ["run", "--directory", "/path/to/fathom-video-mcp", "fathom-video-mcp"],
"env": {
"FATHOM_API_KEY": "your-api-key-here"
}
}
}
}
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.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"fathom": {
"command": "uv",
"args": ["run", "--directory", "/path/to/fathom-video-mcp", "fathom-video-mcp"],
"env": {
"FATHOM_API_KEY": "your-api-key-here"
}
}
}
}
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:
List my meetings from the last week
get_summary
Get the AI-generated summary for a specific meeting.
Parameters:
recording_id(int, required): The recording ID from list_meetings
Example:
Get the summary for meeting 123456789
get_transcript
Get the full transcript with speaker attribution.
Parameters:
recording_id(int, required): The recording ID from list_meetings
Example:
Get the transcript for meeting 123456789
Development
Running locally
cd fathom-video-mcp
uv sync
export FATHOM_API_KEY="your-api-key"
uv run python -m fathom_video_mcp.server
