@kaptionai/mcp扩展
Claude / Cursor ──stdio──> mcp-whatsapp ──ws://localhost:7865──> KaptionAI Extension ──> WhatsApp Web
Browser AI Agent ──navigator.modelContext──> KaptionAI Extension ──> WhatsApp Web (WebMCP)设置
1.安装扩展
安装 KaptionAI Chrome扩展程序 并在设置中启用MCP桥。
2.配置您的AI工具
克劳德桌面版
添加 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"whatsapp": {
"command": "npx",
"args": ["-y", "@kaptionai/mcp-extension@latest"]
}
}
}克劳德代码
claude mcp add whatsapp -- npx -y @kaptionai/mcp-extension@latest光标
添加 .cursor/mcp.json 在您的项目中,或转到“设置”>“MCP服务器”:
{
"mcpServers": {
"whatsapp": {
"command": "npx",
"args": ["-y", "@kaptionai/mcp-extension@latest"]
}
}
}帆板运动
添加 ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"whatsapp": {
"command": "npx",
"args": ["-y", "@kaptionai/mcp-extension@latest"]
}
}
}VS代码(副本)
添加 .vscode/mcp.json 在您的项目中:
{
"servers": {
"whatsapp": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@kaptionai/mcp-extension@latest"]
}
}
}或者添加到您的VS代码中 settings.json:
{
"mcp": {
"servers": {
"whatsapp": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@kaptionai/mcp-extension@latest"]
}
}
}
}泽德
添加到Zed设置(~/.config/zed/settings.json):
{
"context_servers": {
"whatsapp": {
"command": {
"path": "npx",
"args": ["-y", "@kaptionai/mcp-extension@latest"]
}
}
}
}OpenAI代理SDK(Python)
from agents import Agent
from agents.mcp import MCPServerStdio
whatsapp = MCPServerStdio(
name="whatsapp",
command="npx",
args=["-y", "@kaptionai/mcp-extension@latest"],
)
agent = Agent(
name="assistant",
instructions="You can access WhatsApp conversations.",
mcp_servers=[whatsapp],
)任何兼容MCP的客户端
此包作为标准MCP服务器在stdio上运行。要从任何客户端连接:
npx -y @kaptionai/mcp-extension@latest服务器使用MCP协议通过stdin/stdout进行通信。将客户端的MCP配置指向此命令。
3.打开WhatsApp网页
打开 web.whatsapp.com Chrome或Edge浏览器。该扩展将自动连接到MCP服务器。
工具
query
查询WhatsApp数据——对话、联系人、消息、转录、标签和社区。
# List conversations
query {}
# Search everything
query { query: "meeting" }
# Unread only
query { unread: true }
# Look up a conversation with messages
query { id: "5511999887766@c.us" }
# Search contacts
query { query: "Alice", entity: "contacts" }
# List labels (Business accounts)
query { entity: "labels" }
# Filter by label
query { label: "Important" }
# List communities
query { entity: "communities" }
# Filter by community
query { community: "My Community" }
# Get session info
query { entity: "session" }| 参数 | 类型 | 说明 |
|---|---|---|
query | string | 搜索文本(姓名、消息、转录) |
id | string | 查找特定的对话、联系人或标签 |
entity | 字符串 | conversations, contacts, messages, transcriptions, labels, communities, session |
limit | number | 最大结果数(默认值25,最大值5000) |
unread | boolean | 仅限未读对话 |
label | string | 按标签名称或ID筛选 |
community | string | 按社区名称或ID筛选 |
before | string | 此ISO 8601时间戳之前的消息(分页) |
after | string | 此ISO 8601时间戳之后的消息(增量同步) |
summarize_conversation
生成对话摘要。
| 参数 | 类型 | 说明 |
|---|---|---|
conversation_id | string | 对话ID |
manage_labels
管理WhatsApp Business标签-添加、删除、创建或删除标签。
| 参数 | 类型 | 说明 |
|---|---|---|
action | 字符串 | add, remove, create, delete |
label_name | string | 标签名称 |
label_id | string | 标签ID(名称的替代) |
conversation_id | string | 添加/删除时需要 |
manage_lists
管理个人聊天列表(自定义列表)。个人帐户相当于商业标签——将聊天组织到自定义类别中。
# List all custom lists
manage_lists { action: "list" }
# Get a list with its chats
manage_lists { action: "get", name: "Family" }
# Create a new list
manage_lists { action: "create", name: "Work", conversation_id: "5511999887766@c.us" }
# Add a chat to a list
manage_lists { action: "add_chat", name: "Family", conversation_id: "5511999887766@c.us" }
# Remove a chat from a list
manage_lists { action: "remove_chat", name: "Family", conversation_id: "5511999887766@c.us" }
# Delete a list
manage_lists { action: "delete", name: "Old List" }| 参数 | 类型 | 说明 |
|---|---|---|
action | 字符串 | list, get, create, edit, delete, add_chat, remove_chat |
id | string | 列表ID |
name | string | 列表名称(用于创建/编辑,或按名称解析) |
conversation_id | string | 要添加/删除的聊天ID |
manage_chat
管理聊天状态——存档、取消存档、标记为已读/未读、固定、取消固定、静音、取消静音、设置/清除草稿消息。
# Archive a chat
manage_chat { action: "archive", conversation_id: "5511999887766@c.us" }
# Mark as read
manage_chat { action: "mark_read", conversation_id: "5511999887766@c.us" }
# Pin a chat (max 3)
manage_chat { action: "pin", conversation_id: "5511999887766@c.us" }
# Mute for 1 week
manage_chat { action: "mute", conversation_id: "5511999887766@c.us", mute_duration: "1w" }
# Set a draft message
manage_chat { action: "set_draft", conversation_id: "5511999887766@c.us", text: "Hey, I'll call you back" }| 参数 | 类型 | 说明 |
|---|---|---|
action | 字符串 | archive, unarchive, mark_read, mark_unread, pin, unpin, mute, unmute, set_draft, clear_draft |
conversation_id | string | 对话ID |
mute_duration | 字符串 | 8h, 1w,或 forever (默认)。仅供 mute |
text | string | 草稿文本。要求…… set_draft |
manage_reminders
创建和管理个人提醒。存储在云中,并通过Kaption扩展程序交付。
# List active reminders
manage_reminders { action: "list" }
# Create a reminder
manage_reminders { action: "create", title: "Follow up with client", datetime: "2026-03-07T14:00:00Z" }
# Complete a reminder
manage_reminders { action: "complete", id: "rem_abc123" }
# List all including completed
manage_reminders { action: "list", filter: "all" }| 参数 | 类型 | 说明 |
|---|---|---|
action | 字符串 | list, get, create, update, delete, complete, uncomplete |
filter | string | 列表: active (默认), completed, all |
id | string | 提醒ID(用于获取/更新/删除/完成/不完成) |
title | string | 提醒文本(最多800个字符,无换行符) |
datetime | string | ISO 8601日期时间 |
notification_type | 字符串 | extension, whatsapp,或 automatic (默认) |
manage_scheduled_messages
安排在特定时间自动发送的消息。仅适用于1:1聊天。
# List pending messages
manage_scheduled_messages { action: "list" }
# Schedule a message
manage_scheduled_messages { action: "create", message: "Hey, just following up!", datetime: "2026-03-07T09:00:00Z", conversation_id: "5511999887766@c.us" }
# Cancel a scheduled message
manage_scheduled_messages { action: "delete", id: "msg_abc123" }| 参数 | 类型 | 说明 |
|---|---|---|
action | 字符串 | list, get, create, update, delete |
filter | string | 列表: pending (默认), sent, all |
id | string | 计划消息ID(用于获取/更新/删除) |
conversation_id | string | 要发送的联系人/聊天ID(用于创建) |
message | string | 消息文本(最多800个字符,无换行符) |
datetime | string | 应发送消息的ISO 8601日期时间 |
download_media
从消息中下载和解密媒体(图像、视频、音频、文档)。
| 参数 | 类型 | 说明 |
|---|---|---|
message_id | string | 包含媒体的消息ID |
conversation_id | string | 消息所属的对话 |
返回带有MIME类型、大小、持续时间和标题的base64编码媒体数据。
manage_notes
读写联系方式(WhatsApp Business)。
| 参数 | 类型 | 说明 |
|---|---|---|
action | 字符串 | get, set |
contact_id | string | 联系人ID |
note | string | 注释文本(必填 set) |
get_api_info
获取用于编程访问的HTTP REST API连接信息,而无需MCP开销。返回URL、身份验证令牌和可用端点。
多账户支持
多个WhatsApp帐户可以同时连接(例如个人+企业)。使用 target_session 在任何工具上路由到特定帐户。查询 entity: "session" 查看所有连接的帐户及其会话ID。
多实例支持
多个AI工具可以共享同一个扩展连接。第一个实例启动WebSocket集线器;后续实例会自动检测现有的集线器并通过它进行中继。如果集线器停止,中继会自动升级。
WebMCP支持
Kaption已准备好WebMCP。在支持的浏览器上 W3C WebMCP草案 (navigator.modelContextChrome 146+),该扩展程序会自动在浏览器的原生AI工具注册表中注册所有工具。这意味着基于浏览器的AI代理可以在没有任何MCP服务器或WebSocket连接的情况下发现和调用Kaption工具——零配置。
当WebMCP可用时,扩展会注册前缀为的工具 kaption_ (例如。 kaption_query, kaption_manage_chat)完整的JSON模式输入定义和 readOnlyHint 注释。这些工具使用与MCP服务器相同的处理程序,因此两条路径的行为是相同的。
安全
- 仅限本地主机 --无云中继,无外部连接
- 未发送消息 --人工智能助手可以阅读、组织、安排和起草,但从不直接发送消息
- 隐藏已锁定的聊天记录 --WhatsApp锁定的对话被排除在所有查询之外
- 功能门控 --必须在扩展中明确启用MCP网桥
- 封闭式商务功能 --标签和注释需要WhatsApp Business帐户
- 速率限制 --草稿消息每5分钟窗口限制10次对话;写入操作包括随机延迟
许可证
BSL 1.1 --免费使用,4年后转换为麻省理工学院。
