项目简介
OpenAI 网页搜索 MCP 服务器是一个实现了 Model Context Protocol (MCP) 的后端应用,它允许 LLM 客户端通过标准化的 MCP 协议调用 OpenAI 的网页搜索功能。该服务器主要提供两种工具,分别对应 OpenAI Chat Completions API 和 Responses API 的网页搜索能力,使 LLM 能够获取最新的网络信息,并将其融入到对话或内容生成过程中。
主要功能点
- 网页搜索工具: 提供 'web_search_chat_completion' 和 'web_search_responses' 两种工具,分别对应 OpenAI 不同的 API,满足不同的搜索需求。
- 地理位置定制: 支持通过 'user_location' 参数,根据用户所在地理位置优化搜索结果,提高本地化搜索的准确性。
- 搜索上下文大小配置: 允许调整 'search_context_size' 参数,平衡搜索结果的质量、成本和响应速度。
- 自动引用: 返回的搜索结果包含内联引用和来源注释,方便追溯信息来源。
- 兼容 MCP 协议: 严格遵循 MCP 协议规范,易于与各种 MCP 客户端集成,例如 Claude Desktop。
安装步骤
- 安装 Node.js 和 npm: 确保你的环境中已安装 Node.js 和 npm (Node 包管理器)。
- 获取仓库代码: 从 GitHub 克隆或下载 'openai-websearch-mcp' 仓库代码到本地。
- 安装依赖: 在仓库根目录下打开终端,运行 'npm install' 命令安装项目依赖。
- 配置 OpenAI API 密钥:
- 前往 OpenAI API Keys 创建新的 API 密钥。
- 将密钥设置为环境变量 'OPENAI_API_KEY'。例如,在 Linux/macOS 中,可以执行 'export OPENAI_API_KEY=<YOUR_OPENAI_API_KEY>' 命令,在 Windows 中,可以在系统环境变量中添加 'OPENAI_API_KEY' 变量。
服务器配置
以下是在 MCP 客户端(例如 Claude Desktop)中配置 'openai-websearch-mcp' 服务器的示例配置(JSON 格式)。客户端需要这些信息才能启动和连接到 MCP 服务器。
使用 NPX 方式 (推荐,无需 Docker):
{ "mcpServers": { "websearch": { "command": "npx", "args": [ "-y", "openai-websearch-mcp" ], "env": { "OPENAI_API_KEY": "<YOUR_OPENAI_API_KEY>" } } } }
- 'server name': 'websearch' (服务器名称,客户端用于引用)
- 'command': '"npx"' (启动命令,使用 npx 运行 npm 包)
- 'args':
- '"-y"': (npx 参数,自动确认安装包)
- '"openai-websearch-mcp"': (要执行的 npm 包名称,即本 MCP 服务器)
- 'env':
- '"OPENAI_API_KEY": "<YOUR_OPENAI_API_KEY>"': (环境变量,将 OpenAI API 密钥传递给服务器)
使用 Docker 方式 (需要 Docker 环境):
{ "mcpServers": { "websearch": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "OPENAI_API_KEY", "openai-websearch-mcp" ], "env": { "OPENAI_API_KEY": "<YOUR_OPENAI_API_KEY>" } } } }
- 'server name': 'websearch' (服务器名称,客户端用于引用)
- 'command': '"docker"' (启动命令,使用 docker 运行容器)
- 'args':
- '"run"': (docker run 命令)
- '"-i"': (docker 参数,保持 STDIN 打开)
- '"--rm"': (docker 参数,容器退出后自动删除)
- '"-e"': (docker 参数,设置环境变量)
- '"OPENAI_API_KEY"': (docker 环境变量名称)
- '"openai-websearch-mcp"': (docker 镜像名称,假设已通过 'docker tag' 命令重命名)
- 'env':
- '"OPENAI_API_KEY": "<YOUR_OPENAI_API_KEY>"': (环境变量,将 OpenAI API 密钥传递给 Docker 容器,注意这里需要再次配置,即使外部环境已经设置了 OPENAI_API_KEY)
注意: 请将 '<YOUR_OPENAI_API_KEY>' 替换为你自己的 OpenAI API 密钥。
基本使用方法
- 启动 MCP 服务器: 根据你选择的方式(NPX 或 Docker),MCP 客户端(例如 Claude Desktop)会根据配置信息自动启动 'openai-websearch-mcp' 服务器。
- 在 LLM 应用中调用工具: 在支持 MCP 协议的 LLM 客户端中,你可以通过工具名称 'web_search_chat_completion' 或 'web_search_responses' 调用网页搜索功能。
- 配置工具参数: 根据工具的输入参数 Schema,配置相应的参数,例如 'model' (模型名称), 'messages' (对话消息), 'web_search_options' (搜索选项,如地理位置、上下文大小) 等。
- 获取搜索结果: 服务器会将 OpenAI API 返回的 JSON 响应作为工具的执行结果返回给 LLM 客户端,其中包含了模型生成的内容、内联引用和来源注释。
具体工具调用示例可以参考仓库 README.md 文件中的 "Examples" 部分。
信息
分类
网页与API