README
🚀 电话求助MCP(Phone - a - Friend MCP)
电话求助MCP是一个MCP服务器,它能够让Claude Code实例进行实时通信。一个实例进入“监听模式”,而另一个实例则带着特定意图发起联系。
🚀 快速开始
本项目可让Claude Code实例实现实时通信,按照以下步骤操作即可使用。
🏗️ 架构
┌─────────────────────────────────────────┐
│ paf - hub (TCP服务器) │
│ 本地地址:7777 │
└─────────────────────────────────────────┘
▲ ▲
│ TCP │ TCP
│ │
Claude标签1 Claude标签2
(监听方) (呼叫方)
📦 安装指南
在终端中执行以下命令进行安装:
cd ~/.claude/mcps/phone - a - friend
pip install -e .
💻 使用示例
基础用法
按照以下步骤使用本服务:
步骤1:启动中心服务
paf - hub
步骤2:配置Claude Code
在~/.claude/settings.json文件中添加以下内容:
{
"mcpServers": {
"phone - a - friend": {
"command": "python",
"args": ["-m", "phone_a_friend.server"],
"cwd": "/Users/YOUR_USERNAME/.claude/mcps/phone - a - friend/src"
}
}
}
步骤3:开始使用
标签1(监听方):
"监听问题。你是认证专家。"
→ paf(action="listen", session_name="auth - expert", description="认证专家")
→ 进入阻塞等待状态...
标签2(呼叫方):
"向认证专家询问令牌刷新的问题。"
→ paf(action="list_sessions") → 看到 "auth - expert"
→ paf(action="connect", target_session="auth - expert", intent="令牌刷新", my_name="feature - dev")
→ paf(action="send", target_session="auth - expert", message="如何处理过期令牌?", my_name="feature - dev")
→ paf(action="wait_response", my_name="feature - dev") → 进入阻塞等待回复状态
标签1收到消息并回复:
→ 监听方接收到问题后解除阻塞
→ paf(action="respond", session_name="auth - expert", message="使用滑动窗口...")
→ paf(action="listen", ...) → 回到等待状态
高级用法
本项目提供了完整的对话流程,以下是详细的交互过程:
监听方 呼叫方
──────── ──────
listen() [进入阻塞状态]
connect(intent)
send(问题)
[接收到问题]
respond(答案)
wait_response() → 答案
listen() [进入阻塞状态] send(后续问题)
[接收到后续问题]
...
📚 详细文档
工具参考
单工具paf支持以下操作:
| 操作 | 参数 | 描述 |
|--------|------------|-------------|
| listen | session_name, description | 进入阻塞状态等待消息 |
| list_sessions | (无) | 列出活跃的监听方 |
| connect | target_session, intent, my_name | 带着特定意图进行连接 |
| send | target_session, message, my_name | 发送消息 |
| wait_response | my_name | 进入阻塞状态等待回复 |
| respond | session_name, message | 回复呼叫方 |
| end_session | session_name | 关闭会话 |
Scan to join WeChat group