Fathom Mcp Server — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Fathom Mcp Server (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
It was fun while it lasted! Fathom now has an offical mcp: https://developers.fathom.ai/mcp-docs
However, I plan on adding very customizable tools to this mcp so it will be kept alive and expanded on once I have time or if anyone else contributes.
<div align="center">
Connect Claude to your Fathom meetings, transcripts, and AI summaries.
Get Started | Available Tools | API Docs | Self-Hosting | Contributing
</div>
This server is published to the MCP Registry as io.github.agencyenterprise/fathom-mcp-server.
Connect in under 60 seconds:
https://www.fathom-mcp-server.com/mcpThat's it. Ask Claude about your meetings.
Organizations: Admins must add the connector via organization admin settings, not personal settings.
For clients that use the legacy SSE transport (such as Perplexity Desktop for Mac), use the SSE endpoint:
https://www.fathom-mcp-server.com/sseRefer to your client's documentation for how to add a remote SSE connector.
| Tool | Description | Docs |
|---|---|---|
list_meetings | List meetings with filters (date, team, recorder, etc.) | Fathom API |
search_meetings | Search meetings by title, host, or attendee information | MCP Custom |
get_transcript | Get full transcript for a recording | Fathom API |
get_summary | Get AI-generated summary for a recording | Fathom API |
list_teams | List all accessible teams | Fathom API |
list_team_members | List members of a team | Fathom API |
#### search_meetings
Search Fathom meetings by title, meeting title, host name, host email, or attendee name/email. Automatically scans up to 5 pages of results. This is an MCP-native tool that performs client-side filtering since Fathom's API doesn't provide a search endpoint.
See the Fathom MCP Server documentation for full request and response parameters.
"Show me my meetings from last week"
"Get the transcript from my standup yesterday"
"Summarize my meeting with the design team"
Your Fathom data is never stored or exposed by this server.
| Data | Stored? | Exposed? | Details |
|---|---|---|---|
| Meetings, transcripts, summaries | No | No | Fetched from Fathom and passed directly to Claude |
| Team and member info | No | No | Fetched from Fathom and passed directly to Claude |
| OAuth tokens | Yes | No | Encrypted at rest (AES-256-GCM), never logged or exposed |
See our full Privacy Policy for details on data collection, usage, and your rights.
This MCP server defines a custom scope called fathom:read for tokens it issues to Claude. This is not a Fathom API scope - it's specific to this MCP server to describe read-only access to your Fathom data.
The Fathom API itself only provides read access via its public_api scope. Write operations (creating/editing meetings, transcripts, etc.) are not available in the Fathom API.
search_meetings performs client-side filtering since Fathom's API doesn't provide a search endpoint. For users with many meetings, use list_meetings with date filters instead.Fathom OAuth apps require HTTPS redirect URIs, so local development with http://localhost isn't possible. Deploy to a hosting provider to test.
Railway (recommended), Render, or any platform that provides:
Railway setup:
https://your-app-url.railway.app/oauth/fathom/callbackSet these in your hosting provider's dashboard (as well as your local .env file to test build and start commands locally before pushing changes)
| Variable | Description |
|---|---|
DATABASE_URL | PostgreSQL connection string (auto-set by Railway - use public db url) |
BASE_URL | Your app's public URL (e.g., https://your-app.railway.app) |
TOKEN_ENCRYPTION_KEY | 32-byte hex key (generate with openssl rand -hex 32) |
FATHOM_CLIENT_ID | From step 2 |
FATHOM_CLIENT_SECRET | From step 2 |
Run migrations after first deploy:
npm run db:migrateOr via Railway CLI:
railway run npm run db:migrateAdd your deployed URL as a custom connector in Claude Desktop:
https://your-app.railway.app/mcpFor SSE clients (Perplexity Desktop, etc.):
https://your-app.railway.app/ssenpm run dev # Start dev server with hot reload only for testing
npm run build # Build for production
npm run start # Run production build
npm run lint # Check for linting errors
npm run lint:fix # Fix linting errors
npm run typecheck # Run TypeScript type checking
npm run ci # Run all CI checks (lint, typecheck, test, build)
npm run format # Format code with Prettier
npm run db:studio # Open Drizzle Studio for database inspection
npm run db:generate # Generate migrations from schema changes
npm run db:migrate # Run pending migrations
npm run db:push # Push schema directly (dev only)Tip: Run npm run ci before pushing to ensure your changes pass GitHub Actions.For pre-release features, use the staging URLs:
https://fathom-mcp-staging.up.railway.app/mcphttps://fathom-mcp-staging.up.railway.app/ssehttps://developers.fathom.ai/llms.txt
See CONTRIBUTING.md for development setup and guidelines.
See RELEASING.md for version and release instructions.
Contributions toward these goals are welcome. See CONTRIBUTING.md.
MIT License - see LICENSE for details.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.