项目简介
本项目 'just-my-kids' 的核心组件之一是 'whatsapp-mcp-server',它基于 Model Context Protocol (MCP) 构建,旨在将用户的 WhatsApp 聊天数据(包括消息记录、联系人信息等)以结构化的方式暴露给支持 MCP 协议的 LLM 客户端,例如 Claude 或 Cursor。通过此 MCP 服务器,LLM 客户端可以便捷地访问和利用 WhatsApp 数据,实现更智能的对话和信息检索功能。
请注意: 'just-my-kids' 项目的完整功能还包括基于人脸识别的照片过滤,但本分析报告仅关注其 MCP 服务器实现 部分。
主要功能点
- 消息检索: 允许 LLM 客户端查询 WhatsApp 消息,支持按日期范围、发送者、聊天对象、关键词等条件进行过滤。
- 聊天记录访问: 提供对 WhatsApp 聊天会话的访问,包括群组和个人聊天。
- 联系人查询: 支持 LLM 客户端搜索 WhatsApp 联系人信息。
- 消息上下文: 能够获取特定消息的上下文信息,包括其前后一段时间的消息记录。
- 发送消息: 允许 LLM 客户端通过服务器发送 WhatsApp 消息。
- 资源与工具: 将 WhatsApp 聊天数据作为 资源 (Resources) 提供,并将消息查询、发送等功能作为 工具 (Tools) 注册到 MCP 服务器。
- 标准协议: 使用 JSON-RPC over Stdio 协议与 MCP 客户端通信,符合 MCP 标准。
安装步骤
-
克隆仓库
git clone https://github.com/Yakirbe/just-my-kids.git cd just-my-kids -
安装 Python 依赖
pip install -r requirements.txt -
安装 Go 依赖
cd whatsapp-bridge go mod download -
安装 'fastmcp' 库 (如果尚未安装)
pip install fastmcp
服务器配置
MCP 客户端需要配置 MCP 服务器的启动命令和参数,以便建立连接。以下是针对 'whatsapp-mcp-server' 的配置信息示例 (JSON 格式):
{ "mcpServers": { "whatsapp": { "command": "/path/to/python", "args": [ "--directory", "/full/path/to/just-my-kids/whatsapp-mcp-server", "run", "main.py" ] } } }
配置参数说明:
- '"whatsapp"': 服务器名称,可以自定义。
- '"command"': Python 解释器的完整路径。请务必替换为您的 Python 解释器实际路径 (例如:'/usr/bin/python3' 或 'C:\Python39\python.exe')。 您可以使用 'which python' (Linux/macOS) 或 'where python' (Windows) 命令查找 Python 路径。
- '"args"': 传递给 Python 脚本的参数列表。
- '"--directory"': 指定 'whatsapp-mcp-server' 目录的完整路径。 请务必替换为 'just-my-kids' 仓库中 'whatsapp-mcp-server' 目录的实际路径 (例如:'/Users/yourname/just-my-kids/whatsapp-mcp-server' 或 'C:\Users\YourName\just-my-kids\whatsapp-mcp-server')。
- '"run"': 表示运行 MCP 服务器。
- '"main.py"': 指定 MCP 服务器的入口脚本。
MCP 客户端配置示例 (以 Claude Desktop 或 Cursor 为例):
将上述 JSON 配置添加到 Claude Desktop 的 'claude_desktop_config.json' 文件 ('~/Library/Application Support/Claude/claude_desktop_config.json' on macOS) 或 Cursor 的 'mcp.json' 文件 ('~/.cursor/mcp.json') 中。
基本使用方法
-
启动 WhatsApp Bridge: 首先,您需要启动 'whatsapp-bridge' 组件,它负责连接 WhatsApp 并将消息存储到数据库。
cd whatsapp-bridge go run main.go首次运行时,会生成二维码,请使用您的 WhatsApp 扫描二维码登录。
-
启动 MCP 服务器: 在新的终端窗口中,导航到 'whatsapp-mcp-server' 目录并启动 MCP 服务器。
cd whatsapp-mcp-server python main.py run stdio或者,如果您已在 MCP 客户端配置中指定了正确的启动命令和参数,则无需手动运行此命令,MCP 客户端会自动启动服务器。
-
在 MCP 客户端中使用: 启动支持 MCP 协议的 LLM 客户端 (例如 Claude Desktop 或 Cursor),并按照其文档指示,选择已配置的 "whatsapp" MCP 服务器。您现在应该可以在 LLM 客户端中使用注册的工具来访问和操作 WhatsApp 数据。
例如,在 Claude 中,您可以使用 '@whatsapp' 前缀来调用 WhatsApp MCP 服务器提供的工具,例如:
@whatsapp/list_messages query="会议" limit=5这将调用 'list_messages' 工具,搜索包含关键词 "会议" 的最近 5 条 WhatsApp 消息。
注意:
- 确保 'whatsapp-bridge' 组件先于 MCP 服务器启动并成功连接到 WhatsApp。
- MCP 客户端的具体使用方法请参考其官方文档。
信息
分类
通信与社交