Elevated-Agents/fathom-mcp-server
If you are the rightful owner of fathom-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
Fathom-mcp-server is a specialized server designed for managing and transcribing meeting content using the Model Context Protocol (MCP).
Fathom MCP Server
Fathom meeting transcription MCP server - A Model Context Protocol (MCP) server that provides access to Fathom meeting recordings, summaries, and transcripts.
Overview
This MCP server integrates with the Fathom API to provide:
- List meetings with flexible filtering options
- Retrieve meeting summaries
- Access meeting transcripts with speaker information
- TypeScript with strict type checking and Zod validation
- Biome for linting and formatting
- Native Node.js test runner for tests
Installation
npm install
Configuration
The server requires a Fathom API key to function. Set the environment variable:
export FATHOM_API_KEY="your-api-key-here"
To get a Fathom API key:
- Log in to your Fathom account
- Navigate to Settings > API
- Generate a new API key
Development
# Build the project
npm run build
# Run in development mode (with API key)
FATHOM_API_KEY="your-api-key" npm run dev
# Run tests
npm test
# Lint code
npm run lint
# Auto-fix linting issues
npm run lint:fix
# Format code
npm run format
Usage
Running the server
FATHOM_API_KEY="your-api-key" npm start
The server runs using stdio transport, which is ideal for use with MCP clients like Claude Desktop.
Testing with MCP Inspector
You can test the server using the MCP Inspector:
FATHOM_API_KEY="your-api-key" npx @modelcontextprotocol/inspector node dist/index.js
Available Tools
list_meetings
List all meetings from Fathom with optional filtering and pagination.
Input Schema:
createdAfter(string, optional): Filter meetings created after this ISO 8601 datetimecreatedBefore(string, optional): Filter meetings created before this ISO 8601 datetimeincludeSummary(boolean, optional): Include meeting summaries in the responseincludeTranscript(boolean, optional): Include meeting transcripts in the responserecordedBy(string, optional): Filter by email of the person who recorded the meetingcalendarInvitees(string, optional): Filter by calendar invitee email addressescursor(string, optional): Pagination cursor for next/previous page
Output:
meetings(array): Array of meeting objects with recording detailsnext_cursor(string, nullable): Cursor for next page of resultsprevious_cursor(string, nullable): Cursor for previous page of results
get_summary
Get the summary for a specific Fathom meeting recording.
Input Schema:
recordingId(string): The ID of the recording to get summary for
Output:
template_name(string): Name of the summary template usedmarkdown_formatted(string): The meeting summary in markdown format
get_transcript
Get the transcript for a specific Fathom meeting recording.
Input Schema:
recordingId(string): The ID of the recording to get transcript for
Output:
transcript(array): Array of transcript items, each containing:speaker(string): Name of the speakertext(string): The spoken textstart_time(string): Start timestamp (HH:MM:SS)end_time(string): End timestamp (HH:MM:SS)
Available Resources
fathom://status
A status resource showing whether the Fathom API client is properly initialized.
Configuration for Claude Desktop
Add this to your Claude Desktop configuration file:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"fathom": {
"command": "node",
"args": ["/path/to/Fathom-mcp-server/dist/index.js"],
"env": {
"FATHOM_API_KEY": "your-api-key-here"
}
}
}
}
Tech Stack
- Runtime: Node.js
- Package Manager: NPM
- Language: TypeScript
- Validation: Zod
- Linter/Formatter: Biome
- Testing: Native Node.js test runner
- MCP SDK: @modelcontextprotocol/sdk
API Reference
This server uses the Fathom API v1. For more information, visit:
License
ISC