项目简介
Chat Bridge是一个交互式AI助手对话平台,旨在连接两个AI助手并促进它们之间的交流。Chat Bridge MCP内存服务是其核心后端组件之一,负责管理和提供历史对话的上下文信息。它通过实现Model Context Protocol (MCP) 标准,使LLM客户端能够以结构化的方式访问和利用这些丰富的对话数据,从而支持更智能、更连贯的LLM应用。
主要功能点
- 对话资源托管: 管理并提供对历史对话统计信息和系统健康状态的访问。例如,可以查询数据库中的总对话数、总消息数等。
- 工具功能扩展: 允许LLM客户端调用预定义的工具,执行诸如查询近期对话列表、通过关键词搜索历史对话、获取特定主题的上下文记忆以及根据对话ID检索完整对话内容等操作。
- JSON-RPC协议支持: 采用JSON-RPC作为通信协议,确保与MCP客户端之间的数据交换标准化和高效。
- 上下文服务框架: 为LLM应用提供一个安全、可扩展的上下文服务框架,支持会话管理和能力声明。
安装步骤
- 克隆仓库:
首先,使用Git命令将Chat Bridge仓库克隆到您的本地机器:
git clone https://github.com/meistro57/chat_bridge.git cd chat_bridge - 安装Python依赖:
确保您的Python版本为3.8或更高。然后安装所有必要的Python依赖库:
pip install -r requirements.txt pip install fastmcp # 额外安装fastmcp库,这是MCP服务器的核心依赖 - 初始化数据库:
MCP服务器需要SQLite数据库('bridge.db')来存储对话历史。您可以运行 'chat_bridge.py' 主程序一次,它将自动创建并初始化数据库。或者,您也可以手动运行数据库迁移脚本:
python chat_bridge.py # 运行一次以确保bridge.db被创建 # 或者手动运行 # python db/migrate_db.py migrate - (可选)填充历史日志:
如果您在 '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': 服务器功能的简要说明,帮助用户了解服务的作用。
基本使用方法
- 启动MCP服务器: 在项目根目录('chat_bridge')下,运行以下命令启动MCP服务器:
服务器将通过标准输入/输出运行,等待MCP客户端的连接。请保持此终端窗口打开,直到您希望停止服务。python mcp_server.py - 连接MCP客户端: 使用支持MCP协议的LLM客户端,根据上述“服务器配置”信息连接到Chat Bridge MCP内存服务。一旦连接成功,LLM客户端即可通过JSON-RPC调用服务器提供的工具和读取资源,获取对话上下文。
- (可选)在Chat Bridge主程序中使用MCP内存: 如果您希望Chat Bridge主程序('chat_bridge.py')能够利用MCP服务器提供的内存功能,请在启动时添加 '--enable-mcp' 命令行标志。
请注意,Chat Bridge主程序默认通过一个独立的HTTP API ('main.py') 访问MCP内存,而非直接与 'mcp_server.py' 的stdio接口通信。但 'mcp_server.py' 仍可作为独立的、符合MCP协议的后端服务被其他MCP客户端使用。python chat_bridge.py --enable-mcp
信息
分类
AI与计算