@mindstone/mcp-server-fathom
v0.3.0
Published
Fathom AI meeting transcription MCP server for Model Context Protocol hosts
Readme
@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 callsget_fathom_action_itemsdirectly.)
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": "[email protected]" }
}
]
}
}Requirements
- Node.js 20+
- npm
One-click install
After clicking the button, your host will prompt you to fill: FATHOM_API_KEY.
{
"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 buildnpx (once published)
npx -y @mindstone/mcp-server-fathomLocal
node dist/index.jsConfiguration
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 managementMINDSTONE_REBEL_BRIDGE_STATE— backwards-compatible alias forMCP_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"
}
}
}
}Tools (12)
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 itemsget_fathom_transcript— Get the transcript for a meetingget_fathom_meeting_participants— List the participants of a meetingget_fathom_action_items— List action items across meetings (open items by default)
Recordings
request_fathom_recording_download— Start async generation of a downloadable recording fileget_fathom_recording_download_status— Poll a download for its short-lived signed URL
Teams
list_fathom_teams— List all accessible teamslist_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 controldelete_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.
