这是一个实现了MCP(Model Context Protocol)协议的服务器,作为LLM客户端(如Anthropic的Claude UI)与OpenAI或兼容聊天API之间的桥梁。它允许LLM通过标准化的MCP接口使用聊天功能,并管理多轮对话。

主要功能点

  • 聊天对话: 通过标准工具调用OpenAI或兼容API进行聊天补全,支持流式响应。
  • 会话管理: 支持创建新的聊天会话、向现有会话添加消息、获取会话历史、列出所有会话以及删除会话。
  • 会话持久化: 将聊天记录存储在本地文件系统中,即使服务器重启也能保留历史记录。
  • 配置灵活: 支持通过环境变量配置API密钥、基础URL、默认模型以及聊天参数等。
  • 兼容OpenAI API: 可连接OpenAI官方API或任何实现了OpenAI API接口的兼容服务(如OpenRouter)。

安装步骤

  1. 确保你已安装 Node.js 和 Yarn。
  2. 通过 npm 全局安装该适配器:'npm install -g mcp-chat-adapter'
  3. 或者通过 npx 直接运行(无需提前安装):'npx mcp-chat-adapter'

服务器配置

MCP客户端需要配置如何启动和连接到这个MCP服务器。通常在MCP客户端的配置文件中(例如 'mcp.json'),你需要添加一个条目来描述此服务器。

配置信息会包含服务器的名称、启动命令以及环境变量等。以下是配置的关键部分说明(不是实际代码,请根据你的MCP客户端格式填写):

  • 'mcpServers':一个包含所有MCP服务器配置的对象。
  • 'chat-adapter':这是你为此服务器指定的本地名称,可以自定义。
  • 'command':用于启动服务器的可执行命令,例如 '"npx"' 或 '"mcp-chat-adapter"' (如果你全局安装了)。
  • 'args':传递给命令的参数列表,例如 '["-y", "mcp-chat-adapter"]' (如果使用npx)。
  • 'env':一个对象,用于设置服务器运行所需的环境变量。这是最重要的部分。
    • 'OPENAI_API_KEY': 必需,你的OpenAI或兼容API的密钥。
    • 'OPENAI_API_BASE': API的基础URL,默认为OpenAI,可以改为其他兼容服务的地址,例如 'https://openrouter.ai/api/v1'。
    • 'CONVERSATION_DIR': 必需,指定存储聊天记录的本地目录的绝对路径,例如 '/home/user/mcp-convos'。
    • 'DEFAULT_MODEL': 指定默认使用的模型名称,例如 'gpt-4o-mini'。
    • 其他可选参数如 'DEFAULT_SYSTEM_PROMPT', 'DEFAULT_MAX_TOKENS' 等也可以在此处配置。

确保在你的MCP客户端配置文件中正确设置了 'OPENAI_API_KEY' 和 'CONVERSATION_DIR' 环境变量。

基本使用方法

服务器启动并连接到MCP客户端后,LLM就可以通过调用MCP工具与服务器交互。主要的工具有:

  • 'create_conversation': 用于启动一个新的聊天会话,返回会话ID。
  • 'chat': 向指定的会话ID发送用户消息,服务器会调用API获取回复,并将用户和助手消息都添加到会话历史中。
  • 'list_conversations': 获取所有已保存会话的列表(包含元数据)。
  • 'get_conversation': 获取某个特定会话的完整聊天记录。
  • 'delete_conversation': 删除某个会话。

LLM客户端(例如Claude)会理解这些工具的描述和参数,并在需要时自动生成工具调用请求。例如,当用户要求开始一个新对话时,LLM可能会调用 'create_conversation';当用户继续聊天时,LLM会调用 'chat' 并提供会话ID和用户消息。

信息

分类

AI与计算