Whatsapp

me.wacli由 wacli.me 发布官方发布者v0.2.1更新于 Oct 25, 2026

Your own WhatsApp as an MCP server: read, search and send from any MCP client.

已验证Streamable HTTP可网页运行知识与记忆沟通与协作

概览

AI 生成的概览

一个托管式 MCP 网关,可关联你自己的 WhatsApp 账号,让任意 MCP 客户端读取、搜索并可选地发送消息。

可以做什么
读取已关联 WhatsApp 账号同步存储中的消息,并在其中搜索;读取以只读模式运行,工具调用无法改动存储。仅当账号所有者明确为该租户开启写入权限时,才会提供发送消息的能力。通过 Streamable HTTP 在 MCP 端点使用 bearer 令牌连接,并提供 OAuth 2.1 发现,客户端可自行获取凭据。像 WhatsApp Web 一样扫码关联一次账号后,即可在任意 MCP 客户端中使用,无需本地运行任何程序。
适用场景
适合让助手查看自己的 WhatsApp 历史记录,或从 MCP 客户端起草并发送回复,而无需运行本地桥接程序。适用于个人或小团队、每个令牌对应一个关联账号的场景。
运行要求
位于 wacli.me 的远程端点,使用 Streamable HTTP,并要求 OAuth 认证。需要一个可扫码关联的 WhatsApp 账号,以及在连接页面签发的 bearer 令牌。自托管需要 Node.js、随附的 wacli 二进制文件,以及用于回填历史记录的同步守护进程。
安装前请注意
扫码关联属于“已关联设备”:持有存储目录或租户令牌的人都能读取该账号的消息,因此二者都应视为凭据。发送属于写入操作,仅在启用 allowSend 时才会注册;除非所有者要求,否则应保持关闭。该服务是单主机上的公开 alpha 版本。自托管时应绑定回环地址并通过隧道访问,不要直接暴露端口。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Whatsapp,将其添加到工作区。
  2. 连接 所需的 凭据。它们会被私密存储,绝不会在公开页面上展示。
  3. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/me.wacli%2Fwhatsapp/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。 客户端会在首次连接时完成 OAuth 登录。

{
  "mcpServers": {
    "whatsapp": {
      "type": "http",
      "url": "https://wacli.me/mcp"
    }
  }
}

README

wacli.me

Hosted MCP gateway in front of the wacli WhatsApp CLI.

The idea: someone links their WhatsApp account once (QR, like WhatsApp Web) and gets a URL plus a bearer token. Any MCP client can then read, search — and optionally send — without running anything locally.

Status: public alpha. Single host, single process. Live at https://wacli.me.

MIT licensed. Self-hosting is a first-class path — see "Running" below.

Layout

server/      Node MCP server (Streamable HTTP) + static file servingsite/        website sources (pages + layout + assets)web/         generated site, built from site/ by scripts/build.mjs — never editconfig/      tenants.json (gitignored) — token -> store mappingbin/wacli    pinned wacli binary, isolated from any system installstores/      one wacli store directory per tenant (gitignored)scripts/     start/stop/tunnel helpers

Endpoints

PathPurpose
/landing page
/mcpMCP over Streamable HTTP, Authorization: Bearer …
/healthzliveness + tenant count
/connectself-service linking: live QR, issues a token
/.well-known/oauth-*OAuth 2.1 discovery — clients fetch their own credentials

Tenants

config/tenants.json:

json
{  "tenants": [    { "id": "demo", "token": "<32 random bytes, hex>", "store": "/Users/<user>/wacli-me/stores/demo", "allowSend": false }  ]}

The file is re-read every 5 seconds — adding a tenant needs no restart. A token maps to exactly one store directory; tools are constructed per request against that store, so two tenants cannot see each other's data. allowSend is what registers the send_message tool at all; leave it false unless the account owner explicitly asked for write access.

Generate a token with openssl rand -hex 32.

Running

bash
npm install --prefix servernode scripts/build.mjs                        # site/ -> web/PORT=8787 HOST=127.0.0.1 node server/server.mjs

Environment:

VariableDefaultMeaning
PORT8787listen port
HOST127.0.0.1bind address — keep loopback, expose via tunnel
WACLI_BIN./bin/wacliwacli binary
WACLI_ME_TENANTS./config/tenants.jsontenant file

Linking an account

bash
bin/wacli --store stores/<tenant> auth        # prints a QR, scan it on the phonebin/wacli --store stores/<tenant> sync        # backfill history (long-running; run as a daemon)

Without a sync daemon the store only holds what was fetched during the last run.

Security notes

  • Bind to loopback and publish through a tunnel; never expose the port directly.
  • Every MCP request needs a valid bearer token; tokens are compared in constant time.
  • Reads run wacli with --read-only, so a compromised tool call cannot mutate the store.
  • The QR link is a linked device. Whoever holds the store can read that account's messages — treat store directories and tenant tokens as credentials.

License

MIT, see LICENSE. site/assets/qrcode.min.js is Kazuhiko Arase's qrcode-generator, vendored unchanged (MIT). wacli itself is a separate MIT project — this repository only drives it.

Linking an account uses an unofficial WhatsApp client. That is against WhatsApp's terms of service, and Meta may block a number for it. Run it on accounts you own, and tell your users the same.

来源:README.md,提交 0bcd107

工具

0
该服务器需要登录,因此 SourceWeft 无法在没有账号的情况下读取其工具,也未收录。已连接账号所能看到的内容可能因账号及其权限而异。

版本历史

2
  1. v0.2.1最新Sep 19, 2026
  2. v0.2.0Sep 18, 2026

评分

已满足适用检查项的 85%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分