项目简介

Chat Bridge是一个交互式AI助手对话平台,旨在连接两个AI助手并促进它们之间的交流。Chat Bridge MCP内存服务是其核心后端组件之一,负责管理和提供历史对话的上下文信息。它通过实现Model Context Protocol (MCP) 标准,使LLM客户端能够以结构化的方式访问和利用这些丰富的对话数据,从而支持更智能、更连贯的LLM应用。

主要功能点

  • 对话资源托管: 管理并提供对历史对话统计信息和系统健康状态的访问。例如,可以查询数据库中的总对话数、总消息数等。
  • 工具功能扩展: 允许LLM客户端调用预定义的工具,执行诸如查询近期对话列表、通过关键词搜索历史对话、获取特定主题的上下文记忆以及根据对话ID检索完整对话内容等操作。
  • JSON-RPC协议支持: 采用JSON-RPC作为通信协议,确保与MCP客户端之间的数据交换标准化和高效。
  • 上下文服务框架: 为LLM应用提供一个安全、可扩展的上下文服务框架,支持会话管理和能力声明。

安装步骤

  1. 克隆仓库: 首先,使用Git命令将Chat Bridge仓库克隆到您的本地机器:
    git clone https://github.com/meistro57/chat_bridge.git
    cd chat_bridge
  2. 安装Python依赖: 确保您的Python版本为3.8或更高。然后安装所有必要的Python依赖库:
    pip install -r requirements.txt
    pip install fastmcp  # 额外安装fastmcp库,这是MCP服务器的核心依赖
  3. 初始化数据库: MCP服务器需要SQLite数据库('bridge.db')来存储对话历史。您可以运行 'chat_bridge.py' 主程序一次,它将自动创建并初始化数据库。或者,您也可以手动运行数据库迁移脚本:
    python chat_bridge.py # 运行一次以确保bridge.db被创建
    # 或者手动运行
    # python db/migrate_db.py migrate
  4. (可选)填充历史日志: 如果您在 'transcripts/' 和 'logs/' 目录下有旧的对话记录文件,可以通过运行 'populate_mcp_logs.py' 脚本将其导入到数据库中。这样,MCP服务器就可以查询这些历史数据并提供更丰富的上下文记忆:
    python populate_mcp_logs.py

服务器配置

MCP客户端需要配置服务器的启动命令和参数才能与Chat Bridge MCP内存服务建立连接。以下是一个标准的JSON配置示例,您可以根据您的MCP客户端要求进行调整:

{
  "name": "Chat Bridge MCP Memory",
  "command": "python",
  "args": ["mcp_server.py"],
  "transport": "stdio",
  "description": "用于Chat Bridge项目的MCP内存服务器,通过JSON-RPC提供对话历史查询和上下文管理服务。"
}
  • 'name': 服务器的显示名称,用于MCP客户端的用户界面中识别该服务。
  • 'command': 用于启动MCP服务器进程的命令(这里是Python解释器)。
  • 'args': 一个字符串列表,作为参数传递给 'command'。这里指定运行 'mcp_server.py' 脚本。
  • 'transport': 服务器使用的通信传输协议。'stdio' 表示标准输入/输出,是FastMCP支持的一种传输方式。
  • 'description': 服务器功能的简要说明,帮助用户了解服务的作用。

基本使用方法

  1. 启动MCP服务器: 在项目根目录('chat_bridge')下,运行以下命令启动MCP服务器:
    python mcp_server.py
    服务器将通过标准输入/输出运行,等待MCP客户端的连接。请保持此终端窗口打开,直到您希望停止服务。
  2. 连接MCP客户端: 使用支持MCP协议的LLM客户端,根据上述“服务器配置”信息连接到Chat Bridge MCP内存服务。一旦连接成功,LLM客户端即可通过JSON-RPC调用服务器提供的工具和读取资源,获取对话上下文。
  3. (可选)在Chat Bridge主程序中使用MCP内存: 如果您希望Chat Bridge主程序('chat_bridge.py')能够利用MCP服务器提供的内存功能,请在启动时添加 '--enable-mcp' 命令行标志。
    python chat_bridge.py --enable-mcp
    请注意,Chat Bridge主程序默认通过一个独立的HTTP API ('main.py') 访问MCP内存,而非直接与 'mcp_server.py' 的stdio接口通信。但 'mcp_server.py' 仍可作为独立的、符合MCP协议的后端服务被其他MCP客户端使用。

信息

分类

AI与计算