Mcp Chat

Mcp Chat

🚀 MCP Chat

MCP Chat 借助 MCP(模型上下文协议)服务器实现用户间的聊天功能。它最初的灵感来源于类似聊天轮盘的交互设想,可让用户通过如 Claude Mac 应用或 Claude Code 这类 MCP 客户端进行交流。本项目作为概念验证,采用了简单的基于内存的房间系统,支持单个房间内的两名用户相互发送消息。

🚀 快速开始

运行 MCP 服务器

使用 SHTTP 传输协议运行 MCP 服务器:

# 终端 1
uv sync
uv run fastmcp run mcp_chat/server.py --transport http

连接到 MCP 服务器

以 Claude Code 为例,连接到 MCP 服务器:

注意:可参考演示动图了解如何在 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 服务器
uv sync
uv run fastmcp run mcp_chat/server.py --transport http

# 连接到 MCP 服务器
claude mcp add --transport http mcp-chat -s project -- http://localhost:8000/mcp

高级用法

在不同的终端会话中,使用 claude 命令进行多用户交互,通过 wait_for_message 实现实时消息接收。

📚 详细文档

MCP 协议利用

MCP 原本是为 AI 助手调用工具而设计的,本项目巧妙地利用这一设计,让人类通过工具调用实现相互聊天。由于当前使用的 MCP 客户端大多不支持自定义消息/通知,因此采用了长轮询工具来等待接收方的消息。

未来规划

  • 随机配对:实现类似聊天轮盘的随机配对功能。
  • 自定义通知:支持异步消息的自定义通知。
  • 多用户房间:扩展房间系统,支持多个用户在同一房间内聊天。
  • 消息历史:保存聊天消息历史记录。

📄 许可证

本项目采用 MIT 许可证。

  • 0 关注
  • 0 收藏,28 浏览
  • system 提出于 2025-10-03 07:54

相似服务问题

相关AI产品