开发者生态
morning
显示 HN:WhatsApp MCP 在 Cloudflare 上免费运行
摘要
Let your AI agent read your WhatsApp messages. This is a small server that runs in your own Cloudflare account. You link your phone to it once, the way you'd link WhatsApp Web, and from then on any MC...
your
the
and
phone
WhatsApp
agent
that
can
for
you
2026-10-19
1 阅读
约7分钟阅读
zoozla
字号:
让您的 AI 代理读取您的 WhatsApp 消息。这是一个在您自己的 Cloudflare 帐户中运行的小型服务器。您将手机链接到它一次,就像链接 WhatsApp Web 一样,从那时起,任何 MCP 客户端(Claude Code、Claude Desktop、任何支持 MCP 的设备)都可以搜索和阅读您的聊天记录。它可以读取和搜索您的消息,并记住您为电话号码指定的名称。它不能发送任何东西。询问您的代理人,例如:“达纳对航班有何评论?” “在我的所有聊天记录中找到每一条有人提到租约的消息。” “总结一下这周我在家庭小组中错过的事情。”您的手机仍然是真相的来源。服务器是您的代理与之对话的链接设备。它不会与 WhatsApp 保持连接。当您的代理请求某些内容时,它每天一次会进行连接,收集自上次以来排队等待的所有 WhatsApp 内容,将其写入自己的数据库,然后挂断。您的手机保持正常工作并不断收到通知。您的消息位于 Cloudflare 帐户中持久对象内的 SQLite 数据库中。没有什么可以去其他地方。您需要 Workers Paid 计划的 Cloudflare 帐户(请参阅下面的注释)、Node 20 或更高版本以及您的手机。 git clone https://github.com/finereli/whatsapp-mcp cd Whatsapp-mcp npm install # 1. 放置登录令牌的位置。将其打印的 id 粘贴到 wrangler.jsonc 中。 npx wrangler kv namespace create OAUTH_KV # 2. 链接您手机的页面的密码。 12 个以上字符。 npx Wrangler Secret put OWNER_PASSWORD # 3. 部署。 npm run deploy Wrangler 打印您的 URL,例如 https://whatsapp-mcp.your-name.workers.dev 。打开它。首页还剩下两个步骤:链接 WhatsApp。使用 WhatsApp 扫描二维码(设置、链接设备、链接设备)。如果您使用的是手机本身并且无法扫描屏幕,请改用电话号码选项。第一个链接导入您的历史记录。该页面显示进度,您可以关闭它。连接您的代理。在 Claude 代码中: claude mcp add --transport http Whatsapp https://your-url/mcp 然后输入 /mcp 并使用密码登录。其他客户端:将它们指向相同的 /mcp URL。如果您想要自己的域名,请参阅 wrangler.jsonc 底部的注释。导入大量历史记录会一次性解码大量数据,而 Workers 的默认 CPU 限制对此来说太小了。 wrangler.jsonc 筹集它,筹集它需要付费计划,每月几美元。我还没有尝试过免费计划。如果您正在这样做,请删除限制块并预期第一次导入会很脆弱。这不是官方的。 WhatsApp 没有用于读取您自己的个人消息的 API。它使用与 WhatsApp Web 使用的相同协议,通过开源库 (Baileys)。这违反了 WhatsApp 的条款。对于仅读取的链接设备,实际风险较低,但并非为零。在您自己的帐户上使用它,不要用它来发送消息。您收到 WhatsApp 发送的内容。第一个链接导入 WhatsApp 决定交付新设备的所有历史记录。它可能不是全部。每个链接只执行一次。要再次导入,请重新链接(您存储的消息将保留,重新导入将填补任何缺失的内容)。有些聊天显示为电话号码。 WhatsApp 不会向链接设备提供每个联系人姓名,而且其中大多数都是来自您从未保存过的人的一次性消息。对于重要的问题,您的代理可以修复它:它会列出未命名的聊天,使用现有的任何联系人工具(例如 Google 通讯录或 Gmail 连接器)在您的联系人中查找号码,然后保存姓名。服务器从不连接到联系人服务本身。请参阅下面的“命名聊天”。未下载媒体。照片、语音注释和文档显示为 [image] 或 [voice note 12s] 等标签,如果有的话还带有标题。没有任何内容被转录。这是一个人的。一项部署是一个 WhatsApp 帐户和一名所有者。这是经过深思熟虑的:每个部署都保存完整的消息历史记录和帐户的实时登录,因此每个人都应该运行自己的部署。重新链接。如果您的手机显示设备已被删除,或者您想重新开始,请要求您的代理运行 relink ,或打开 /setup 并选择“取消链接并再次扫描”。您扫描新的二维码。保存已存储的消息。工具 用途 list_chats 聊天,最新的在前。按名称或号码过滤。 get_messages 阅读一篇聊天记录。按日期向后或向前翻页。 search_messages 对所有内容或在一次聊天中进行全文搜索。 unnamed_chats 只能通过电话号码知道的聊天,最忙的在前,以及对方最后说的话。 set_contact_names 以任何格式保存电话号码的名称。名字紧随数字,因此它们也会成组出现。 sync_now 立即拉取新消息。 link_status 是否链接,上次拉取是什么时候,存储了多少。重新链接 取消链接并重新开始。人类必须扫描新的二维码。如果存储的副本超过十分钟,每个读取工具都会首先从 WhatsApp 充值。 WhatsApp 只为该服务器提供它所知道的名称。其余的sh
这篇文章对您有帮助吗?
订阅66必读
每日精选科技资讯,直达你的邮箱