finereli/whatsapp-mcp

AI 工程

只读 MCP 服务器,让 AI 代理搜索并读取你自己的 WhatsApp 聊天记录。

387
34
TypeScript
MIT
创建于 9 天前

这个项目是一个 MCP 服务器,把你的 WhatsApp 聊天记录开放给支持 MCP 的代理(如 Claude、ChatGPT、Grok)。它严格只读,没有任何发送、编辑或删除工具,并以类似 WhatsApp Web 的方式作为一台关联设备工作。它适合想用对话方式查询自己聊天记录的人,但需要接受 WhatsApp 条款风险,以及在托管路径上的信任取舍。

功能与工作机制

手机始终是数据源。服务器是一台独立的关联设备,多数时间并不保持连接:代理发起请求时它才连接、收取 WhatsApp 排队的内容,然后断开。消息存放在 Cloudflare Durable Object 中每人独立的 SQLite 数据库里。没有搜索索引,因此搜索会解密并从新到旧扫描;作者称完整扫描 20 万条消息约需 2 秒,且 search_messages 接收一个查询列表,一次扫描可同时回答多个查询 README。

共暴露 8 个工具,覆盖聊天列表、按日期翻页读取、搜索、仅显示号码的聊天、保存联系人名称、手动同步、连接状态和重新关联 README。匹配是精确词匹配:整词、忽略大小写和重音,支持引号短语和结尾 * 前缀匹配,不做模糊匹配也不做词干化。媒体文件不会下载,图片和语音以 [image]、[voice note 12s] 之类的标签出现,不做转写。

两种使用方式

托管测试版 whatsapp.finereli.com 是最快的路径:用 Google 登录、扫描二维码,再把 MCP 端点加进代理。测试期免费,席位有限,每个账号有容量上限 项目主页。README 里有一段提示词,可以让代理带你完成设置 设置说明页。

自托管需要 Cloudflare Workers 付费计划(每月 $5)、Node 20 或更高版本以及一部手机。付费计划之所以必要,是因为首次导入大量历史会超过 Workers 默认 CPU 限制;作者没试过免费计划,并预计不提高限制时首次导入会不稳定 README。部署通过 wrangler 完成,并设置密码(OWNER_PASSWORD,至少 12 位),数据密钥由该密码派生。

隐私与信任边界

消息以 AES-256-GCM 静态加密,电话号码和聊天 id 以带密钥的哈希替代,而时间戳、消息类型、收发方向以及大致消息长度保持可读。这不是端到端加密:请求处理期间服务器持有密钥并以明文处理消息,运行服务器的人可以部署会窃取密码或密钥的代码。在托管路径上,登录服务能为每个用户派生密钥,因此加密防的是数据库和备份泄露,而不是运营者;自托管可以消除这一点。代理读到的内容会发送给运行代理的公司。作者还指出,聊天中的其他人并未同意此事 README。HN 评论者提出了同样的两点担忧:第三方 AI 摄取他人消息,以及 WhatsApp 账号风险 HN 讨论、评论、评论。一位评论者描述了通过官方应用关联设备后被 WhatsApp 临时限制的经历,这与作者关于 WhatsApp 不鼓励该协议的提醒一致 评论。

运行限制

没有定时拉取,因为密钥只在有人登录时存在;每次读取时若本地副本超过十分钟会先补拉。WhatsApp 为关联设备排队消息的时间有限,数周不用的账号可能需要重新关联并重新导入。历史只会在每次关联时下发一次,且可能并不完整。自托管模式丢失密码就意味着丢失已存的加密副本(WhatsApp 里仍有消息)。注册席位、消息数和存储上限都是可选项;首次导入过大时会被拒绝、手机被解绑。使用 Google 登录时,WhatsApp 里缺失的聊天名称可由代理通过已有的联系人工具补全,服务器本身不连接联系人服务。作者表示只在一个真实账号上验证过,编辑/删除的处理路径也没有针对真实事件测试过。

HotRepo 点评

该仓库创建于 2026-10-18,2026-10-26 以 387 总星出现在 HotRepo 新项目榜上;没有可比的每日榜历史,所给证据无法说明热度趋势。决策依据应是上述已记录的取舍,而不是星数。

本文由 AI 根据项目 README 生成,更新于 2026年10月28日,以项目官方文档为准。

Hacker News 讨论

Show HN: WhatsApp MCP running free on Cloudflare
▲ 157 · 85 条评论 · 2026年10月18日