{"_id":"@mindstone/mcp-server-fathom","_rev":"2-c0b4eff3a801419d234e8ac6d9a73172","name":"@mindstone/mcp-server-fathom","dist-tags":{"latest":"0.3.0"},"versions":{"0.2.3":{"name":"@mindstone/mcp-server-fathom","version":"0.2.3","license":"FSL-1.1-MIT","_id":"@mindstone/mcp-server-fathom@0.2.3","maintainers":[{"name":"mindstone-engineering","email":"engineering@mindstone.com"}],"homepage":"https://github.com/mindstone/mcp-servers/tree/main/connectors/fathom","bugs":{"url":"https://github.com/mindstone/mcp-servers/issues"},"bin":{"mcp-server-fathom":"dist/index.js"},"dist":{"shasum":"ea447db2be1c68a2dd406d8c98cf9fb68cc6b479","tarball":"https://registry.npmjs.org/@mindstone/mcp-server-fathom/-/mcp-server-fathom-0.2.3.tgz","fileCount":25,"integrity":"sha512-GsPOP9gIFh+q7enxd2tdC6SEroOmhBAwBQ9xjyJaeSbUTks1+gkTFWIeuSp5wz3r6+6AqbjaPXtSqYt8nDK7og==","signatures":[{"sig":"MEUCIBFudYToQYHMbCLb35la3aa/ZGmoISyElGeoAA1x8PadAiEAgPJ6ifqj3quXTKe54fghuM8K733fqs1dllIkruyLxVY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42041},"type":"module","engines":{"node":">=20"},"gitHead":"83878671b322434710c729d19cd790301bc68369","mcpName":"io.github.mindstone/mcp-server-fathom","scripts":{"test":"vitest run","build":"tsc && shx chmod +x dist/index.js","start":"node dist/index.js","watch":"tsc --watch","prepare":"npm run build","test:watch":"vitest","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"mindstone-engineering","email":"engineering@mindstone.com"},"overrides":{"hono":"^4.12.18","fast-uri":"^3.1.2","ip-address":"^10.2.0"},"repository":{"url":"git+https://github.com/mindstone/mcp-servers.git","type":"git","directory":"connectors/fathom"},"_npmVersion":"11.11.1","description":"Fathom AI meeting transcription MCP server for Model Context Protocol hosts","directories":{},"_nodeVersion":"25.8.2","dependencies":{"zod":"^3.23.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.13.2","shx":"^0.3.4","vitest":"^4.1.3","typescript":"^5.8.2","@types/node":"^22","@vitest/coverage-v8":"^4.1.3","@mindstone/mcp-test-harness":"file:../../test-harness"},"_npmOperationalInternal":{"tmp":"tmp/mcp-server-fathom_0.2.3_1779136593770_0.8523511550840734","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@mindstone/mcp-server-fathom","version":"0.3.0","mcpName":"io.github.mindstone/mcp-server-fathom","description":"Fathom AI meeting transcription MCP server for Model Context Protocol hosts","license":"FSL-1.1-MIT","type":"module","bin":{"mcp-server-fathom":"dist/index.js"},"repository":{"type":"git","url":"git+https://github.com/mindstone/mcp-servers.git","directory":"connectors/fathom"},"homepage":"https://github.com/mindstone/mcp-servers/tree/main/connectors/fathom","publishConfig":{"access":"public"},"scripts":{"build":"tsc && shx chmod +x dist/index.js","prepare":"npm run build","watch":"tsc --watch","start":"node dist/index.js","test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage"},"dependencies":{"@modelcontextprotocol/sdk":"^1.26.0","zod":"^3.23.0"},"devDependencies":{"@mindstone/mcp-test-harness":"file:../../test-harness","@types/node":"^22","@vitest/coverage-v8":"^4.1.3","msw":"^2.13.2","shx":"^0.3.4","typescript":"^5.8.2","vitest":"^4.1.3"},"engines":{"node":">=20"},"overrides":{"fast-uri":"^3.1.2","hono":"^4.12.18","ip-address":"^10.2.0"},"_id":"@mindstone/mcp-server-fathom@0.3.0","bugs":{"url":"https://github.com/mindstone/mcp-servers/issues"},"_integrity":"sha512-yNUot8X0SEGQYVH1FflDBt1nr7qU+XTJizBUa+bvj2KdQ/7HLNrLueEAmDsgK1y7rL9f6FeDHPIc7f099VCdzg==","_resolved":"/home/runner/work/mcp-servers/mcp-servers/mindstone-mcp-server-fathom-0.3.0.tgz","_from":"file:mindstone-mcp-server-fathom-0.3.0.tgz","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-yNUot8X0SEGQYVH1FflDBt1nr7qU+XTJizBUa+bvj2KdQ/7HLNrLueEAmDsgK1y7rL9f6FeDHPIc7f099VCdzg==","shasum":"590700ef483faf7c5c3a695ea1694ca6909c53b0","tarball":"https://registry.npmjs.org/@mindstone/mcp-server-fathom/-/mcp-server-fathom-0.3.0.tgz","fileCount":31,"unpackedSize":80057,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@mindstone%2fmcp-server-fathom@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDvrmKYdZ3HyXzreHFwRG6aGI6CiJh1wiZvessprRMTPgIgTRfHnzsqR4pjlX7oZaxxvSg6vb00eHOyaQTBelINpWs="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f1a04f5e-a58f-43c8-b399-e47ff46a37b1"}},"directories":{},"maintainers":[{"name":"mindstone-engineering","email":"engineering@mindstone.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-server-fathom_0.3.0_1786139735490_0.36447268914266595"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-18T20:36:33.612Z","modified":"2026-08-07T21:55:36.032Z","0.2.3":"2026-05-18T20:36:33.917Z","0.3.0":"2026-08-07T21:55:35.690Z"},"bugs":{"url":"https://github.com/mindstone/mcp-servers/issues"},"license":"FSL-1.1-MIT","homepage":"https://github.com/mindstone/mcp-servers/tree/main/connectors/fathom","repository":{"type":"git","url":"git+https://github.com/mindstone/mcp-servers.git","directory":"connectors/fathom"},"description":"Fathom AI meeting transcription MCP server for Model Context Protocol hosts","maintainers":[{"name":"mindstone-engineering","email":"engineering@mindstone.com"}],"readme":"# @mindstone/mcp-server-fathom\n\n[![npm version](https://img.shields.io/npm/v/@mindstone/mcp-server-fathom.svg)](https://www.npmjs.com/package/@mindstone/mcp-server-fathom)\n[![License: FSL-1.1-MIT](https://img.shields.io/badge/License-FSL--1.1--MIT-blue.svg)](./LICENSE)\n\nList and search meetings, view details, read transcripts, and manage teams via Fathom AI.\n\n*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.*\n\n## Status\n\n- **Version:** [0.3.0](./CHANGELOG.md) · [npm](https://www.npmjs.com/package/@mindstone/mcp-server-fathom)\n- **Auth:** API key ([`FATHOM_API_KEY`](./server.json))\n- **Tools:** [12](./src/tools/) (meetings, transcripts, action items, recordings, teams, webhooks)\n- **Surface:** cloud-api\n- **Machine-readable:** [`STATUS.json`](./STATUS.json)\n\n## Why this exists\n\nWhen 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](https://developers.fathom.ai/mcp-docs); 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.\n\n## Example interaction\n\n> \"Pull yesterday's Q3 planning meeting from Fathom and list the action items from the transcript.\"\n\nTools the host calls:\n1. `list_fathom_meetings` — filtered by date range, finds the meeting and returns its ID.\n2. `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.)\n\nResponse (trimmed):\n\n```json\n{\n  \"meeting\": {\n    \"recording_id\": 123456789,\n    \"title\": \"<untrusted-content source=\\\"fathom:meeting:title\\\">Q3 planning</untrusted-content>\",\n    \"scheduled_start_time\": \"2026-05-18T15:00:00Z\",\n    \"action_items\": [\n      {\n        \"description\": \"<untrusted-content source=\\\"fathom:meeting:action_item\\\">Lock the JD by Friday</untrusted-content>\",\n        \"completed\": false,\n        \"assignee\": { \"name\": \"<untrusted-content source=\\\"fathom:meeting:assignee_name\\\">Bob</untrusted-content>\", \"email\": \"bob@example.com\" }\n      }\n    ]\n  }\n}\n```\n\n## Requirements\n\n- Node.js 20+\n- npm\n\n<!-- BEGIN INSTALL_LINKS: do not edit by hand; regenerated by scripts/gen-install-links.mjs -->\n## One-click install\n\n[![Add to Cursor](https://img.shields.io/badge/Add_to_Cursor-black?style=for-the-badge&logo=cursor&logoColor=white)](cursor://anysphere.cursor-deeplink/mcp/install?name=Fathom&config=eyJ0eXBlIjoic3RkaW8iLCJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBtaW5kc3RvbmUvbWNwLXNlcnZlci1mYXRob20iXSwiZW52Ijp7IkZBVEhPTV9BUElfS0VZIjoiIn19)\n[![Add to VS Code](https://img.shields.io/badge/Add_to_VS_Code-007ACC?style=for-the-badge&logo=visual-studio-code&logoColor=white)](vscode:mcp/install?%7B%22name%22%3A%22Fathom%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40mindstone%2Fmcp-server-fathom%22%5D%2C%22env%22%3A%7B%22FATHOM_API_KEY%22%3A%22%22%7D%7D)\n[![Add to VS Code Insiders](https://img.shields.io/badge/Add_to_VS_Code_Insiders-24bfa5?style=for-the-badge&logo=visual-studio-code&logoColor=white)](vscode-insiders:mcp/install?%7B%22name%22%3A%22Fathom%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40mindstone%2Fmcp-server-fathom%22%5D%2C%22env%22%3A%7B%22FATHOM_API_KEY%22%3A%22%22%7D%7D)\n\nAfter clicking the button, your host will prompt you to fill: `FATHOM_API_KEY`.\n\n<details>\n<summary>Manual config for Claude Desktop / Claude Code / Goose / Continue.dev (Fathom)</summary>\n\n```json\n{\n  \"mcpServers\": {\n    \"Fathom\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"@mindstone/mcp-server-fathom\"\n      ],\n      \"env\": {\n        \"FATHOM_API_KEY\": \"\"\n      }\n    }\n  }\n}\n```\n\n</details>\n<!-- END INSTALL_LINKS -->\n\n## Quick Start\n\n### Install & build\n\n```bash\ncd <path-to-repo>/connectors/fathom\nnpm install\nnpm run build\n```\n\n### npx (once published)\n\n```bash\nnpx -y @mindstone/mcp-server-fathom\n```\n\n### Local\n\n```bash\nnode dist/index.js\n```\n\n## Configuration\n\n### Environment variables\n\n- `FATHOM_API_KEY` — Fathom API key (from fathom.video settings)\n- `MCP_HOST_BRIDGE_STATE` — optional path to a host bridge state file used for credential management\n- `MINDSTONE_REBEL_BRIDGE_STATE` — backwards-compatible alias for `MCP_HOST_BRIDGE_STATE`\n\n## Host configuration examples\n\n### Claude Desktop / Cursor\n\n```json\n{\n  \"mcpServers\": {\n    \"Fathom\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@mindstone/mcp-server-fathom\"],\n      \"env\": {\n        \"FATHOM_API_KEY\": \"your-api-key\"\n      }\n    }\n  }\n}\n```\n\n### Local development (no npm publish needed)\n\n```json\n{\n  \"mcpServers\": {\n    \"Fathom\": {\n      \"command\": \"node\",\n      \"args\": [\"<path-to-repo>/connectors/fathom/dist/index.js\"],\n      \"env\": {\n        \"FATHOM_API_KEY\": \"your-api-key\"\n      }\n    }\n  }\n}\n```\n\n## Tools (12)\n\n### Configuration\n- `configure_fathom_api_key` — Configure the Fathom API key\n\n### Meetings\n- `list_fathom_meetings` — List meetings with server-side filtering (optionally including action items)\n- `get_fathom_meeting` — Get details for a single meeting, including summary and action items\n- `get_fathom_transcript` — Get the transcript for a meeting\n- `get_fathom_meeting_participants` — List the participants of a meeting\n- `get_fathom_action_items` — List action items across meetings (open items by default)\n\n### Recordings\n- `request_fathom_recording_download` — Start async generation of a downloadable recording file\n- `get_fathom_recording_download_status` — Poll a download for its short-lived signed URL\n\n### Teams\n- `list_fathom_teams` — List all accessible teams\n- `list_fathom_team_members` — List members of a specific team\n\n### Webhooks\n- `create_fathom_webhook` — Push new-meeting data (summary, transcript, action items) to an HTTPS URL you control\n- `delete_fathom_webhook` — Delete a webhook by id\n\nAll caller-controllable text returned by these tools (meeting titles, attendee\nnames, AI summaries, transcript lines, action item descriptions, team names) is\nwrapped in `<untrusted-content>` envelopes so the host treats meeting content as\ndata, not instructions. The same applies to vendor API error bodies surfaced in\ntool errors, which are additionally truncated.\n\n## Licence\n\n[FSL-1.1-MIT](./LICENSE) — Functional Source License, Version 1.1, with MIT future licence. The software converts to MIT licence on 2030-04-08.\n","readmeFilename":"README.md"}