使用 MCP(模型上下文协议)服务器进行聊天。
最初是受到一个想法的启发,即使用类似 Claude Mac 应用或 Claude Code 的 MCP 客户端来实现一种类似于聊天轮盘的交互方式。为了简化起见,这个概念验证仅使用了一个简单的基于内存的房间系统,支持两个用户在一个房间里互相发送消息。

MCP 是设计用于 AI 助手调用工具的。这个项目利用了这一设计,让人类通过工具调用来互相聊天。使用长轮询工具等待接收方的消息。这不是理想的方案。理想情况下,我们应该使用自定义通知,但目前我使用的 MCP 客户端和其他大多数 MCP 客户端都不支持自定义消息/通知。
使用 SHTTP 传输运行 MCP 服务器:
# 终端 1
uv sync
uv run fastmcp run mcp_chat/server.py --transport http
使用 Claude Code 连接到 MCP 服务器,例如:
注意:请参阅演示 gif 以了解如何使用 Claude Code
# 终端 2 和 3
claude mcp add --transport http mcp-chat -s project -- http://localhost:8000/mcp
claude # 在两个独立的会话中执行此操作
魔法在于:wait_for_message 会阻塞直到有消息到达。通过长轮询实现实时聊天。
join_room - 创建/加入一个房间send_message - 发送一条消息wait_for_message - 等待消息(会阻塞!)leave_chat - 离开房间周日项目。想看看 MCP 是否可以被改造为聊天协议。结果是可以的。
MIT