fathom-mcp-server
v1.0.0
Published
MCP server for Fathom API - Access meetings, recordings, teams, and webhooks
Downloads
6
Maintainers
Readme
Fathom MCP Server
MCP (Model Context Protocol) server for the Fathom API, enabling AI assistants to interact with Fathom meetings, recordings, teams, and webhooks.
Features
This MCP server provides access to the following Fathom API capabilities:
Tools
- list_meetings - List all meetings with optional filtering and pagination
- get_summary - Get AI-generated summary for a recording
- get_transcript - Get full transcript for a recording
- list_teams - List all teams
- list_team_members - List members of a specific team
- create_webhook - Create a webhook for Fathom events
- delete_webhook - Delete an existing webhook
Installation
Prerequisites
- Node.js >= 18
- A Fathom account with API access
- Fathom API key (get it from Fathom Settings)
Setup
- Clone or download this repository:
cd fathom-mcp-server- Install dependencies:
npm install- Create a
.envfile based on.env.example:
cp .env.example .env- Add your Fathom API key to the
.envfile:
FATHOM_API_KEY=your_api_key_here- Build the project:
npm run buildUsage
Running Locally
For development and testing:
npm run devOr run the built version:
npm startUsing with Claude Desktop
To use this MCP server with Claude Desktop, add it to your Claude configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"fathom": {
"command": "node",
"args": ["/absolute/path/to/fathom-mcp-server/dist/index.js"],
"env": {
"FATHOM_API_KEY": "your_api_key_here"
}
}
}
}Replace /absolute/path/to/fathom-mcp-server with the actual path to this project.
After configuration:
- Restart Claude Desktop
- Look for the plug icon to verify the server is connected
- Use the hammer icon to see available tools
Publishing to npm (Optional)
If you want to publish this as a package:
- Update
package.jsonwith your package name and details - Build the project:
npm run build - Publish:
npm publish
Then you can use it with Claude Desktop like this:
{
"mcpServers": {
"fathom": {
"command": "npx",
"args": ["-y", "your-package-name"],
"env": {
"FATHOM_API_KEY": "your_api_key_here"
}
}
}
}API Rate Limits
The Fathom API has a rate limit of 60 requests per 60 seconds. This server implements intelligent rate limiting:
- Requests are queued and processed in batches
- Automatic throttling when approaching rate limits
- Respects
RateLimit-*headers from the API - Returns clear error messages when rate limited
Tool Usage Examples
List Meetings
List my recent meetings from the last weekGet Recording Summary
Get the summary for recording ID abc123Get Recording Transcript
Get the full transcript for recording xyz789List Teams
Show me all my Fathom teamsList Team Members
List all members of team team_id_123Create Webhook
Create a webhook at https://myapp.com/webhook for new_meeting_content_ready eventsDelete Webhook
Delete webhook webhook_id_456Project Structure
fathom-mcp-server/
├── src/
│ ├── index.ts # Main server entry point
│ ├── api.ts # API client with rate limiting
│ ├── types.ts # TypeScript type definitions
│ ├── utils.ts # Helper functions
│ └── tools/ # MCP tool implementations
│ ├── meetings.ts # Meeting-related tools
│ ├── recordings.ts # Recording tools (summary/transcript)
│ ├── teams.ts # Team management tools
│ ├── team-members.ts # Team member tools
│ └── webhooks.ts # Webhook management tools
├── dist/ # Compiled JavaScript (generated)
├── package.json
├── tsconfig.json
├── .env.example
└── README.mdDevelopment
Build
npm run buildDevelopment Mode
npm run devType Checking
TypeScript will check types during build. The project uses strict mode for maximum type safety.
Troubleshooting
Server Not Connecting
- Check that your API key is correct in
.envor Claude config - Verify the server is built:
npm run build - Check Claude Desktop logs:
~/Library/Logs/Claude/mcp*.log - Enable Developer Tools in Claude Desktop:
echo '{"allowDevTools": true}' > ~/Library/Application\ Support/Claude/developer_settings.json
Rate Limit Errors
If you see 429 errors:
- The server automatically handles rate limiting
- Wait for the rate limit window to reset (shown in error message)
- Consider reducing request frequency
API Errors
- Verify your API key has the necessary permissions
- Check that recording IDs, team IDs, etc. are valid
- Review Fathom API documentation for endpoint requirements
License
MIT
Support
For issues related to:
- This MCP server: Open an issue in this repository
- Fathom API: Contact Fathom support or check Fathom API docs
- MCP protocol: See Model Context Protocol documentation
