使用说明

项目简介

any-chat-completions-mcp 是一个基于 Model Context Protocol (MCP) 的服务器实现,旨在桥接各种兼容 OpenAI SDK 的聊天补全 API(例如 OpenAI, Perplexity, Groq, xAI, PyroPrompts 等)与 MCP 客户端。通过该服务器,你可以将不同的 AI 聊天服务作为工具集成到支持 MCP 协议的客户端应用中,例如 Claude Desktop。目前,该服务器实现了一个名为 'chat' 的工具,允许用户通过配置选择不同的聊天服务提供商进行对话。

主要功能点

  • 集成多种聊天 API: 支持集成任何兼容 OpenAI SDK 的聊天补全 API,包括 OpenAI、Perplexity、Groq、xAI、PyroPrompts 等。
  • 提供 "chat" 工具: 向 MCP 客户端暴露一个 'chat' 工具,允许用户通过该工具与配置的聊天服务提供商进行对话。
  • 灵活配置: 通过环境变量配置不同的聊天服务提供商的 API 密钥、模型、基础 URL 等信息。
  • 易于部署: 使用 Node.js 和 npm 构建,易于安装和运行。
  • 兼容 MCP 协议: 完全遵循 MCP 协议规范,可以与任何标准的 MCP 客户端配合使用。

安装步骤

  1. 安装 Node.js 和 npm: 确保你的系统已安装 Node.js 和 npm。
  2. 克隆仓库: 将仓库克隆到本地:
    git clone https://github.com/MCP-Mirror/pyroprompts_any-chat-completions-mcp.git
    cd pyroprompts_any-chat-completions-mcp
  3. 安装依赖: 在项目根目录下运行以下命令安装项目依赖:
    npm install
  4. 构建项目: 运行以下命令构建项目:
    npm run build
    构建成功后,会在 'build' 目录下生成服务器代码 'index.js'。

服务器配置

MCP 服务器是为 MCP 客户端设计的,你需要将以下配置信息添加到 MCP 客户端的配置文件中,以连接到此服务器。以 Claude Desktop 为例,你需要编辑 'claude_desktop_config.json' 文件(路径在 README.md 中已给出)。

以下是一个配置示例,用于配置 OpenAI、Perplexity 和 PyroPrompts 三个不同的聊天服务提供商:

{
  "mcpServers": {
    "chat-pyroprompts": {
      "command": "node",
      "args": [
        "/path/to/any-chat-completions-mcp/build/index.js"
      ],
      "env": {
        "AI_CHAT_KEY": "PYROPROMPTS_KEY",
        "AI_CHAT_NAME": "PyroPrompts",
        "AI_CHAT_MODEL": "ash",
        "AI_CHAT_BASE_URL": "https://api.pyroprompts.com/openaiv1"
      }
    },
    "chat-perplexity": {
      "command": "node",
      "args": [
        "/path/to/any-chat-completions-mcp/build/index.js"
      ],
      "env": {
        "AI_CHAT_KEY": "PERPLEXITY_KEY",
        "AI_CHAT_NAME": "Perplexity",
        "AI_CHAT_MODEL": "llama-3.1-sonar-small-128k-online",
        "AI_CHAT_BASE_URL": "https://api.perplexity.ai"
      }
    },
    "chat-openai": {
      "command": "node",
      "args": [
        "/path/to/any-chat-completions-mcp/build/index.js"
      ],
      "env": {
        "AI_CHAT_KEY": "OPENAI_KEY",
        "AI_CHAT_NAME": "OpenAI",
        "AI_CHAT_MODEL": "gpt-4o",
        "AI_CHAT_BASE_URL": "https://api.openai.com/v1"
      }
    }
  }
}

配置参数说明:

  • '"chat-pyroprompts"', '"chat-perplexity"', '"chat-openai"': 服务器名称,在 MCP 客户端中用于标识不同的服务器配置。可以自定义,但需要保持唯一。
  • '"command": "node"': 运行服务器的命令,这里使用 Node.js 解释器。
  • '"args": ["/path/to/any-chat-completions-mcp/build/index.js"]': 传递给 'command' 的参数,指向构建后的服务器入口文件 'index.js' 的绝对路径。你需要将 '/path/to/any-chat-completions-mcp' 替换为你本地仓库的实际路径。
  • '"env"': 环境变量配置,用于设置聊天 API 的相关信息。
    • '"AI_CHAT_KEY"': 聊天 API 的密钥,例如 OpenAI API Key, Perplexity API Key 等。你需要根据你使用的聊天服务提供商替换为正确的密钥。
    • '"AI_CHAT_NAME"': 聊天服务提供商的名称,用于在 MCP 客户端中显示,例如 "OpenAI", "Perplexity", "PyroPrompts"。
    • '"AI_CHAT_MODEL"': 使用的聊天模型名称,例如 "gpt-4o", "llama-3.1-sonar-small-128k-online", "ash"。请参考你使用的聊天服务提供商的文档选择合适的模型。
    • '"AI_CHAT_BASE_URL"': 聊天 API 的基础 URL,例如 "https://api.openai.com/v1", "https://api.perplexity.ai", "https://api.pyroprompts.com/openaiv1"。请参考你使用的聊天服务提供商的文档设置正确的 URL。

重要提示:

  • 确保将 '/path/to/any-chat-completions-mcp/build/index.js' 替换为服务器 'index.js' 文件的实际路径。
  • 确保配置正确的 'AI_CHAT_KEY', 'AI_CHAT_NAME', 'AI_CHAT_MODEL', 'AI_CHAT_BASE_URL' 环境变量,以便服务器能够正确连接到聊天 API 服务。

基本使用方法

  1. 启动 MCP 客户端: 启动配置了该 MCP 服务器的 MCP 客户端,例如 Claude Desktop。
  2. 查看 "chat" 工具: 在 MCP 客户端的界面中,你应该能看到根据你的配置创建的 "chat" 工具,例如 "Chat with OpenAI", "Chat with Perplexity", "Chat with PyroPrompts" 等。
  3. 使用 "chat" 工具进行对话: 选择相应的 "chat" 工具,即可在 MCP 客户端中与配置的聊天服务提供商进行对话。输入你的对话内容,客户端会将请求发送到 MCP 服务器,服务器调用相应的聊天 API 并将结果返回给客户端。

信息

分类

AI与计算