@mindstone/mcp-server-fathom

List and search meetings, view details, read transcripts, and manage teams via Fathom AI.
Local-only Fathom MCP. Not the official server β built before Fathom shipped theirs; tokens stay on disk and each release goes through our own security review.
Status
- Version: 0.3.0 Β· npm
- Auth: API key (
FATHOM_API_KEY)
- Tools: 12 (meetings, transcripts, action items, recordings, teams, webhooks)
- Surface: cloud-api
- Machine-readable:
STATUS.json
Why this exists
When we built this in early 2026, Fathom had not published an official MCP server, and the community options available at the time were thin and unmaintained β they listed meetings, but did not cover the team and transcript data our meeting-notes workflows depend on. We wrote our own so that any MCP host could pull Fathom transcripts and meeting details with the same credential handling, timeouts, and safety wrapping we apply across the rest of this repository. Fathom has since released an official MCP server; we continue to maintain this one because it runs locally on the user's machine and goes through our own security review before each release.
Example interaction
"Pull yesterday's Q3 planning meeting from Fathom and list the action items from the transcript."
Tools the host calls:
list_fathom_meetings β filtered by date range, finds the meeting and returns its ID.
get_fathom_meeting β fetches details, summary, and action items for that meeting ID. (For a cross-meeting view β "what are my open action items from customer calls this week?" β the host calls get_fathom_action_items directly.)
Response (trimmed):
{
"meeting": {
"recording_id": 123456789,
"title": "<untrusted-content source=\"fathom:meeting:title\">Q3 planning</untrusted-content>",
"scheduled_start_time": "2026-05-18T15:00:00Z",
"action_items": [
{
"description": "<untrusted-content source=\"fathom:meeting:action_item\">Lock the JD by Friday</untrusted-content>",
"completed": false,
"assignee": { "name": "<untrusted-content source=\"fathom:meeting:assignee_name\">Bob</untrusted-content>", "email": "bob@example.com" }
}
]
}
}
Requirements
One-click install

After clicking the button, your host will prompt you to fill: FATHOM_API_KEY.
Manual config for Claude Desktop / Claude Code / Goose / Continue.dev (Fathom)
{
"mcpServers": {
"Fathom": {
"command": "npx",
"args": [
"-y",
"@mindstone/mcp-server-fathom"
],
"env": {
"FATHOM_API_KEY": ""
}
}
}
}
Quick Start
Install & build
cd <path-to-repo>/connectors/fathom
npm install
npm run build
npx (once published)
npx -y @mindstone/mcp-server-fathom
Local
Configuration
Environment variables
FATHOM_API_KEY β Fathom API key (from fathom.video settings)
MCP_HOST_BRIDGE_STATE β optional path to a host bridge state file used for credential management
MINDSTONE_REBEL_BRIDGE_STATE β backwards-compatible alias for MCP_HOST_BRIDGE_STATE
Host configuration examples
Claude Desktop / Cursor
{
"mcpServers": {
"Fathom": {
"command": "npx",
"args": ["-y", "@mindstone/mcp-server-fathom"],
"env": {
"FATHOM_API_KEY": "your-api-key"
}
}
}
}
Local development (no npm publish needed)
{
"mcpServers": {
"Fathom": {
"command": "node",
"args": ["<path-to-repo>/connectors/fathom/dist/index.js"],
"env": {
"FATHOM_API_KEY": "your-api-key"
}
}
}
}
Configuration
configure_fathom_api_key β Configure the Fathom API key
Meetings
list_fathom_meetings β List meetings with server-side filtering (optionally including action items)
get_fathom_meeting β Get details for a single meeting, including summary and action items
get_fathom_transcript β Get the transcript for a meeting
get_fathom_meeting_participants β List the participants of a meeting
get_fathom_action_items β List action items across meetings (open items by default)
Recordings
request_fathom_recording_download β Start async generation of a downloadable recording file
get_fathom_recording_download_status β Poll a download for its short-lived signed URL
Teams
list_fathom_teams β List all accessible teams
list_fathom_team_members β List members of a specific team
Webhooks
create_fathom_webhook β Push new-meeting data (summary, transcript, action items) to an HTTPS URL you control
delete_fathom_webhook β Delete a webhook by id
All caller-controllable text returned by these tools (meeting titles, attendee
names, AI summaries, transcript lines, action item descriptions, team names) is
wrapped in <untrusted-content> envelopes so the host treats meeting content as
data, not instructions. The same applies to vendor API error bodies surfaced in
tool errors, which are additionally truncated.
Licence
FSL-1.1-MIT β Functional Source License, Version 1.1, with MIT future licence. The software converts to MIT licence on 2030-04-08.