使用说明
项目简介
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 服务器规范。
安装步骤
- 克隆仓库:
git clone https://github.com/pierrebrunelle/mcp-server-openai cd mcp-server-openai - 安装 Python 包:
确保您已安装 Python 和 pip。在项目根目录下运行:
pip install -e . - 配置 OpenAI API 密钥:
您需要设置 OpenAI API 密钥。推荐通过环境变量 'OPENAI_API_KEY' 来配置。例如,在 Linux/macOS 中:
或在 Windows 命令提示符中:export OPENAI_API_KEY="your-openai-api-key"
或者,您也可以在运行服务器时通过命令行参数 '--openai-api-key' 传入。set OPENAI_API_KEY=your-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' 设置为系统环境变量,而不是直接写在配置文件中,以提高安全性。
基本使用方法
-
启动服务器: 确保您已配置好 '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 客户端的请求。
-
在 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与计算