聊天应用

一个基于MCP(模型上下文协议)的Python聊天应用,支持客户端-服务器架构、持久化聊天历史和自动刷新功能。

  • by tehZevo
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 tehZevo/mcp-chat

使用说明

MCP聊天

一个简单的Python聊天应用程序,演示MCP(模型上下文协议)客户端-服务器架构。

内置于 FastMCP

特性

  • 客户端-服务器体系结构:带CLI客户端的基于HTTP的MCP服务器
  • 持续聊天记录:消息存储在 .mcp-chat 文件,在重新启动后仍然存在
  • 自动刷新客户端:新消息会自动出现,无需轮询命令
  • 报文编号:使用消息编号跟踪您看到的消息
  • MCP工具:四种聊天操作工具(发送、检索、计数、同步)
  • 人/代理人区分:消息被标记并显示为视觉指示器(👤 对于人类来说,🤖 代理商)
  • FastMCP供电:基于现代装饰器的MCP框架构建
  • CLI包:可通过pip使用全局CLI命令安装

安装

选项1:从GitHub安装(推荐)

直接从GitHub安装软件包:

pip install git+<this repository url>

这将安装 mcp-chat 打包并生成CLI命令 mcp-chat-server 和 mcp-chat-client 全球可用。

选项2:手动安装

如果您更喜欢从源代码运行而不安装:

pip install -r requirements.txt
python -m mcp_chat.server  # Run server
python -m mcp_chat.client  # Run client

用法

运行服务器

MCP服务器在上以HTTP模式运行 localhost:8000:

mcp-chat-server

服务器将启动并等待客户端连接。它提供了客户可以使用的MCP工具。

特征:

  • 聊天记录会自动保存到 .mcp-chat 在当前工作目录中
  • 历史记录在服务器重新启动时持续存在
  • 支持多个并发客户端连接

运行客户端

CLI客户端连接到正在运行的MCP服务器:

mcp-chat-client

特征:

  • 连接时自动加载最后10条消息
  • 每2秒自动刷新一次新消息
  • 无需命令-只需键入并发送消息
  • 按Ctrl+C退出

您可以选择指定自定义服务器URL:

mcp-chat-client http://custom-server:8000/mcp

MCP工具

服务器提供四种MCP工具:

1. send_message

向聊天室发送消息。

参数:

  • user (string,必填):发件人的用户名
  • message (string,必填):消息内容
  • is_human (boolean,可选):发送者是否为人类(默认值:false)

例子:

{
  "user": "Agent",
  "message": "Hello from the AI agent!",
  "is_human": false
}

2. get_recent_messages

使用消息编号检索最近的聊天消息。

参数:

  • count (number,可选):要检索的邮件数(默认值:10)

例子:

{
  "count": 5
}

3. get_messages_since

仅获取特定消息编号后的新消息(对轮询有用)。

参数:

  • since (number,必填):从中开始的消息编号(不包括)。必须为0或更大。

例子:

{
  "since": 5
}

4. get_message_count

获取聊天记录中的消息总数。

退货: 当前邮件计数。

需求

  • Python 3.10或更高版本
  • FastMCP(pip install fastmcp)