使用说明

项目简介

OpenAI MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器实现,它充当 Claude 等 LLM 客户端与 OpenAI 模型之间的桥梁。通过这个服务器,您可以让支持 MCP 协议的客户端(如 Claude)直接调用 OpenAI 的语言模型,例如 GPT-4 和 GPT-3.5-turbo,从而扩展客户端的功能。

主要功能点

  • 连接 OpenAI 模型: 允许 LLM 客户端通过 MCP 协议调用 OpenAI 的 GPT 模型。
  • 工具注册与调用: 注册名为 'ask-openai' 的工具,客户端可以调用此工具向 OpenAI 模型提问。
  • 模型选择和参数配置: 支持在调用 'ask-openai' 工具时指定 OpenAI 模型 (gpt-4, gpt-3.5-turbo)、温度 (temperature) 和最大 tokens (max_tokens) 等参数。
  • 标准 MCP 协议: 使用 JSON-RPC 和 stdio 作为通信协议,符合 MCP 服务器规范。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/pierrebrunelle/mcp-server-openai
    cd mcp-server-openai
  2. 安装 Python 包: 确保您已安装 Python 和 pip。在项目根目录下运行:
    pip install -e .
  3. 配置 OpenAI API 密钥: 您需要设置 OpenAI API 密钥。推荐通过环境变量 'OPENAI_API_KEY' 来配置。例如,在 Linux/macOS 中:
    export OPENAI_API_KEY="your-openai-api-key"
    或在 Windows 命令提示符中:
    set OPENAI_API_KEY=your-openai-api-key
    或者,您也可以在运行服务器时通过命令行参数 '--openai-api-key' 传入。

服务器配置

为了让 MCP 客户端(例如 Claude)连接到 OpenAI MCP Server,您需要在客户端的配置文件中添加服务器信息。以 'claude_desktop_config.json' 为例,配置信息如下:

{
  "mcpServers": {
    "openai-server": { // 服务器名称,客户端用此名称引用
      "command": "python", // 启动服务器的命令
      "args": ["-m", "src.mcp_server_openai.server"], // 启动服务器的参数,指向 server.py 模块
      "env": { // 环境变量配置
        "PYTHONPATH": "C:/path/to/your/mcp-server-openai" //  **重要**:  如果您的 mcp-server-openai 仓库不在 Python 默认搜索路径中,请设置 PYTHONPATH 指向仓库根目录。请替换 "C:/path/to/your/mcp-server-openai" 为您的实际路径。
        // "OPENAI_API_KEY": "your-openai-key-here"  //  **推荐通过系统环境变量配置 OPENAI_API_KEY,而不是在这里硬编码**
      }
    }
  }
}

注意:

  • 请将 '"C:/path/to/your/mcp-server-openai"' 替换为您 'mcp-server-openai' 仓库在您电脑上的实际路径。
  • 推荐将 'OPENAI_API_KEY' 设置为系统环境变量,而不是直接写在配置文件中,以提高安全性。

基本使用方法

  1. 启动服务器: 确保您已配置好 'OPENAI_API_KEY' 环境变量。在 'mcp-server-openai' 仓库根目录下,运行以下命令启动服务器:

    python -m src.mcp_server_openai.server

    或者,如果您希望通过命令行参数传入 API 密钥,可以运行:

    python -m src.mcp_server_openai.server --openai-api-key your-openai-api-key

    服务器成功启动后,将监听来自 MCP 客户端的请求。

  2. 在 MCP 客户端中使用: 配置好客户端的 'mcpServers' 后,您就可以在客户端中使用 'openai-server' 了。例如,在 Claude 中,您可以使用 '@openai-server:ask-openai' 工具,并提供 'query' 参数来向 OpenAI 模型提问。

    例如,在 Claude 中输入:

    @openai-server:ask-openai(query="你好,今天天气怎么样?")

    Claude 将调用 'openai-server' 的 'ask-openai' 工具,并将问题发送给 OpenAI 模型,然后将模型返回的答案显示给您。您还可以根据 'ask-openai' 工具的 'inputSchema' 描述,配置 'model'、'temperature' 和 'max_tokens' 等参数来更精细地控制 OpenAI 模型的行为。

信息

分类

AI与计算