什么是mcp
](https://www.npmjs.com/package/whats-mcp) ](https://www.npmjs.com/package/whats-mcp) 
全面的 WhatsApp MCP服务器 由Baileys提供动力,具有意图优先读取表面和双传输支持:
- 本地
stdio对于直接MCP客户端 - 远程
streamable-http用于家庭实验室部署 - 操作员通过CLI、HTTP和Telegram访问
特性
- 64个MCP工具 用于消息传递、聊天、联系人、组、个人资料、渠道、标签、分析、观察列表和意图优先概述流
- 意图优先工具 已内置于表面:
- whatsup - find_messages - daily_digest - manage_watchlist
- 持久身份验证+本地分析存储
- 双重运输:
- whats-mcp serve - whats-mcp serve-http
- 操作员表面:
- whats-admin - /health - /admin/status - /admin/help - POST /admin/reconnect - POST /admin/pair-code - 配置Telegram管理桥时
包布局
src/
├── admin/
│ ├── service.js # shared operator summaries and runtime status helpers
│ └── telegram.js # Telegram command bridge
├── tools/ # MCP tool catalog
├── connection.js # Baileys lifecycle and reconnect logic
├── config.js # config.json + env overrides + package metadata
├── helpers.js # shared WhatsApp helper functions
├── http_app.js # HTTP transport + /health + /admin/*
├── main.js # transport entrypoint (stdio + HTTP)
├── server.js # shared MCP server construction
└── store.js # local cache, analytics index, watchlists安装
# recommended — installs globally as a standalone tool
npm install -g whats-mcp
# or via npx (no install)
npx whats-mcp暴露的命令:
whats-mcp
whats-admin本地使用
MCP 体育 场
whats-mcp serveHTTP MCP
whats-mcp serve-http默认HTTP表面:
- MCP:
/mcp - 健康:
/health - 管理员状态:
/admin/status - 管理员帮助:
/admin/help - 管理员重新连接:
POST /admin/reconnect - 管理员配对代码:
POST /admin/pair-code
默认URL:
- 主要的,重要的
https://whats.kpihx-labs.com - 退路:
https://whats.homelab
配置
该项目使用:
config.json用于非敏感运行时设置src/.env.example用于部署/运行时环境变量
相关环境变量:
| 变量 | 目的 |
|---|---|
WHATSAPP_STATE_DIR | 持久Baileys认证+本地存储路径 |
WHATSAPP_LOG_LEVEL | 运行时日志级别 |
WHATS_MCP_HTTP_HOST | HTTP绑定主机 |
WHATS_MCP_HTTP_PORT | HTTP绑定端口 |
WHATS_MCP_HTTP_MCP_PATH | MCP HTTP路径 |
WHATS_MCP_PUBLIC_BASE_URL | 主要可信路由 |
WHATS_MCP_FALLBACK_BASE_URL | 后退路线 |
TELEGRAM_WHATS_HOMELAB_TOKEN | 可选Telegram管理员机器人令牌 |
TELEGRAM_CHAT_IDS | 可选逗号分隔的Telegram管理员列表 |
CLI管理员
共享操作员摘要:
whats-admin guide主要命令:
whats-admin status
whats-admin guide
whats-admin login [--code] [--phone N] [--force]
whats-admin logout [-f]
whats-admin server status|stop|restart|reconnect|pid|test
whats-admin config show|edit|reset|path
whats-admin logs show|tail|clean|path容器使用:
docker exec -it whats-mcp whats-admin status
docker exec -it whats-mcp whats-admin login
docker exec -it whats-mcp whats-admin login --code --phone +33605957785
curl -fsS -X POST https://whats.kpihx-labs.com/admin/pair-code -H 'content-type: application/json' -d '{"phone":"33605957785"}'
curl -fsS -X POST https://whats.kpihx-labs.com/admin/reconnect
docker exec -it whats-mcp whats-admin server reconnect重新连接语义:
reconnect执行进程中的WhatsApp套接字重新连接,并使HTTP服务器和Telegram轮询器保持活动状态。restart重启容器进程,应保留用于全服务重启,而不是常规会话刷新。
电报管理员
当配置了这两个变量时:
TELEGRAM_WHATS_HOMELAB_TOKENTELEGRAM_CHAT_IDS
HTTP服务自动启动Telegram管理轮询器。
当前命令:
/start
/help
/status
/health
/urls
/logs [lines]
/pair_code
/reconnect
/restartDocker/Homelab部署
部署捆绑包:
Dockerfiledeploy/docker-compose.ymldeploy/docker-compose.override.example.yml.dockerignore.gitlab-ci.ymlsrc/.env.example
典型的局部干运行:
cd deploy
cp ../src/.env.example .env
docker compose config -q
docker compose up --build该部署将WhatsApp的持久状态存储在 /data/state 在容器卷内,因此重新部署不会擦除链接的会话。
验证
当前基线:
npm test -- --runInBand这验证了:
- 配置加载
- 助手
- 商店行为
- 工具注册表和处理程序
- HTTP管理处理程序界面
- 电报管理调度和运行时状态
