README
🚀 Fathom AI MCP 服务器
将 Claude 连接到您的 Fathom 会议、会议记录和 AI 摘要。
本服务器允许您无缝地将 Claude 与 Fathom 平台集成,让您可以直接通过 Claude 查询会议相关信息,如会议列表、会议记录和摘要等。
🚀 快速开始
本服务器已作为 io.github.agencyenterprise/fathom-mcp-server 发布到 MCP 注册表。
在 60 秒内完成连接:
https://www.fathom-mcp-server.com/mcp
操作步骤如下:
- 打开 Claude 桌面版。
- 转到 设置 > 连接器 > 添加自定义连接器。
- 粘贴上述 URL。
- 使用 Fathom 进行身份验证。
完成以上步骤后,您就可以向 Claude 询问您的会议信息了。
⚠️ 重要提示:
对于组织用户,管理员必须通过组织管理设置添加连接器,而不是个人设置。
✨ 主要特性
可用工具
| 工具 | 描述 | 文档 |
| ---- | ---- | ---- |
| list_meetings | 按过滤器(日期、团队、记录者等)列出会议 | Fathom API |
| search_meetings | 按标题、主持人或参会者信息搜索会议 | MCP 自定义工具 |
| get_transcript | 获取会议记录的完整文本 | Fathom API |
| get_summary | 获取会议记录的 AI 生成摘要 | Fathom API |
| list_teams | 列出所有可访问的团队 | Fathom API |
| list_team_members | 列出团队成员 | Fathom API |
自定义 MCP 工具
search_meetings
可按会议标题、主持人姓名、主持人电子邮件或参会者姓名/电子邮件搜索 Fathom 会议。该工具会自动扫描最多 5 页的搜索结果。由于 Fathom 的 API 未提供搜索端点,因此这是一个在客户端进行过滤的 MCP 原生工具。
完整的请求和响应参数请参考 Fathom MCP 服务器文档。
在 Claude 中的使用示例
"显示我上周的会议"
"获取我昨天站会的记录"
"总结我与设计团队的会议"
🔒 安全说明
本服务器不会存储或泄露您的 Fathom 数据。
| 数据 | 是否存储? | 是否泄露? | 详情 | | ---- | ---- | ---- | ---- | | 会议、会议记录、摘要 | 否 | 否 | 从 Fathom 获取并直接传递给 Claude | | 团队和成员信息 | 否 | 否 | 从 Fathom 获取并直接传递给 Claude | | OAuth 令牌 | 是 | 否 | 静态加密(AES - 256 - GCM),不会记录或泄露 |
- 直连架构:本服务器充当安全代理,您的 Fathom 数据直接从 Fathom 流向 Claude,不会被存储、缓存或记录。
- 静态加密:唯一存储的数据(OAuth 令牌)在写入数据库之前使用 AES - 256 - GCM 进行加密。
- 仅支持 HTTPS:Claude、本服务器和 Fathom 之间的所有通信在传输过程中均进行加密。
有关数据收集、使用和您的权利的详细信息,请参阅我们的完整 隐私政策。
📄 权限说明
此 MCP 服务器为向 Claude 颁发的令牌定义了一个名为 fathom:read 的自定义范围。这不是 Fathom API 范围,而是此 MCP 服务器特有的,用于描述对您的 Fathom 数据的只读访问权限。
Fathom API 本身仅通过其 public_api 范围提供只读访问。Fathom API 不支持写操作(创建/编辑会议、会议记录等)。
⚠️ 使用限制
- 由于 Fathom 的 API 未提供搜索端点,
search_meetings工具在客户端进行过滤。对于会议较多的用户,建议使用带有日期过滤器的list_meetings工具。 - 您可以随时询问大语言模型(LLM)可用的查询参数。
📦 安装指南
Fathom OAuth 应用需要 HTTPS 重定向 URI,因此无法使用 http://localhost 进行本地开发。请部署到托管提供商进行测试。
1. 部署到托管提供商
推荐使用 Railway,也可以选择 Render 或任何提供以下条件的平台:
- Node.js 18+ 运行时
- PostgreSQL 数据库
- HTTPS URL
Railway 设置步骤:
- 分叉/克隆此仓库。
- 创建一个新的 Railway 项目(您可以直接从分叉的 GitHub 仓库部署)。
- 在项目中添加一个 PostgreSQL 数据库服务。
- 将数据库 URL 连接到项目中已部署的仓库,并设置其他环境变量。
2. 创建 Fathom OAuth 应用
- 访问 Fathom 开发者门户。
- 点击“注册您的应用”(需要 Fathom 管理员权限)。
- 将重定向 URI 设置为
https://your-app-url.railway.app/oauth/fathom/callback。 - 记录您的客户端 ID 和客户端密钥。
3. 配置环境变量(本地和 Railway)
在托管提供商的仪表板中设置这些变量(以及本地的 .env 文件,以便在推送更改之前在本地测试构建和启动命令)。
| 变量 | 描述 |
| ---- | ---- |
| DATABASE_URL | PostgreSQL 连接字符串(由 Railway 自动设置 - 使用公共数据库 URL) |
| BASE_URL | 您的应用的公共 URL(例如,https://your-app.railway.app) |
| TOKEN_ENCRYPTION_KEY | 32 字节的十六进制密钥(使用 openssl rand -hex 32 生成) |
| FATHOM_CLIENT_ID | 步骤 2 中获得的客户端 ID |
| FATHOM_CLIENT_SECRET | 步骤 2 中获得的客户端密钥 |
4. 初始化数据库
首次部署后运行迁移:
npm run db:migrate
或者通过 Railway CLI 运行:
railway run npm run db:migrate
5. 连接 Claude
在 Claude 桌面版中添加您部署的 URL 作为自定义连接器:
https://your-app.railway.app/mcp
💻 使用示例
开发命令示例
npm run dev # 启动开发服务器,仅用于测试,支持热重载
npm run build # 为生产环境构建
npm run start # 运行生产构建
npm run lint # 检查代码风格错误
npm run lint:fix # 修复代码风格错误
npm run typecheck # 运行 TypeScript 类型检查
npm run ci # 运行所有 CI 检查(代码风格检查、类型检查、构建)
npm run format # 使用 Prettier 格式化代码
npm run db:studio # 打开 Drizzle Studio 进行数据库检查
npm run db:generate # 根据模式更改生成迁移文件
npm run db:migrate # 运行待处理的迁移
npm run db:push # 直接推送模式(仅用于开发)
💡 使用建议:
在推送代码之前运行
npm run ci,以确保您的更改通过 GitHub Actions 检查。
📚 详细文档
测试版功能使用
对于预发布功能,请使用测试环境 URL:
https://fathom-mcp-staging.up.railway.app/mcp
Fathom AI 深入了解
更多信息请参考:https://developers.fathom.ai/llms.txt
贡献代码
开发设置和指南请参阅 CONTRIBUTING.md。
版本发布
版本和发布说明请参阅 RELEASING.md。
未来开发计划
- 会议记录向量化 — 对大型会议记录进行向量化处理,使大语言模型能够更高效地解析和理解它们。将作为无状态工作进程实现,以确保不保留用户数据。
- 行动项聚合 — 通过过滤器聚合会议中的行动项。例如,“显示我本周所有未完成的行动项”。
- 会议分析 — 计算会议总时长、会议频率和主要参会者等统计信息。
- 发言人时间分析 — 分析会议记录,显示会议中发言最多的人。
- 会议比较 — 比较两个会议摘要,突出显示随时间的变化。
- Fathom API 变更日志监控 — 通过 GitHub Action 自动检测 Fathom API 的更改,定期检查其 API 参考,若检测到更改则创建问题。
欢迎为实现这些目标做出贡献。详情请参阅 CONTRIBUTING.md。
📄 许可证
本项目采用 MIT 许可证,详情请参阅 LICENSE。
Scan to contact