返回市场
麦普聊天

麦普聊天

作者:hbd5 星标更新:2025-07-01

项目介绍

MCP 聊天

使用 MCP(模型上下文协议)服务器进行聊天。

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

MCP 聊天演示

什么是 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 - 离开房间

需求

  • Python 3.11+
  • uv 包管理器

未来的想法

  • 随机配对(类似聊天轮盘)
  • 自定义异步消息通知
  • 多用户房间
  • 消息历史记录

为什么?

周日项目。想看看 MCP 是否可以被改造为聊天协议。结果是可以的。

许可证

MIT