OpenDeepSearch MCP服务器
这是一个用于OpenDeepSearch的模型上下文协议(MCP)服务器,允许LLM应用程序与OpenDeepSequest的搜索功能进行交互。
特性
- 将OpenDeepSearch的搜索功能作为MCP工具公开
- 与Claude Desktop和其他MCP兼容客户端集成
- 为LLM应用程序访问web搜索功能提供标准化接口
设置
此项目使用 uv 用于依赖性管理。
- 安装
uv:按照说明操作 这里. - 同步依赖关系:导航到
mcp_server目录并运行:
uv sync这将基于以下内容安装依赖项 pyproject.toml 和 uv.lock.
配置
服务器需要某些环境变量才能正常工作,尤其是底层服务的API键。这些可以直接在您的环境中设置,也可以通过MCP客户端配置传递(例如,使用Smithery CLI)。
| 变量 | 描述 | 必填 | 默认 | 备注 |
|---|---|---|---|---|
| LLM提供商 | (至少提供一个) | |||
OPENAI_API_KEY | OpenAI LLM的API密钥。 | 可选 | 无 | 如果使用OpenAI模型,则需要。 |
OPENAI_BASE_URL | OpenAI兼容端点的自定义基本URL。 | 可选 | 无 | |
ANTHROPIC_API_KEY | 人类LLM的API密钥。 | 可选 | 无 | 如果使用Anthropic模型,则需要。 |
OPENROUTER_API_KEY | OpenRouter的API密钥。 | 可选 | 无 | 如果使用OpenRouter型号,则需要。 |
FIREWORKS_API_KEY | Fireworks AI的API密钥。 | 可选 | 无 | 如果使用Fireworks模型,则需要。 |
GEMINI_API_KEY | Google Gemini的API密钥。 | 可选 | 无 | 如果使用Gemini型号,则需要。 |
AZURE_API_KEY | Azure OpenAI服务的API密钥。 | 可选 | 无 | 如果使用Azure OpenAI模型,则需要。 |
AZURE_API_BASE | Azure OpenAI服务的API基本URL。 | 可选 | 无 | 如果使用Azure OpenAI模型,则需要。 |
AZURE_API_VERSION | Azure OpenAI服务的API版本。 | 可选 | 无 | 如果使用Azure OpenAI模型,则需要。 |
AZURE_DEPLOYMENT_ID | Azure OpenAI服务的部署ID。 | 可选 | 无 | 如果使用Azure OpenAI模型,则需要。 |
DEEPSEEK_API_KEY | DeepSeek的API密钥。 | 可选 | 无 | 如果使用DeepSeek模型,则需要。 |
| 搜索提供程序 | ||||
SERPER_API_KEY | Serper搜索提供商的API密钥。 | 可选 | 无 | 如果是必需的 search_provider 设置为 'serper' (默认情况下或通过工具参数)。 |
SEARXNG_INSTANCE_URL | SearXNG实例的URL。 | 可选 | 无 | 如果是必需的 search_provider 设置为 'searxng' (默认情况下或通过工具参数)。 |
SEARXNG_API_KEY | SearXNG实例的API密钥(如果实例需要)。 | 可选 | 无 | 如果使用 search_provider 设置为 'searxng'. |
| 重新排名 | ||||
JINA_API_KEY | Jina AI Reranker的API密钥。 | 可选 | 无 | 如果是必需的 reranker 设置为 'jina' (默认情况下或通过工具参数)。 |
| 其他工具 | ||||
WOLFRAM_ALPHA_APP_ID | WolframAlpha工具集成的应用程序ID(如果在代理中启用)。 | 可选 | 无 | |
| 服务器行为 | ||||
LOG_LEVEL | 控制服务器的日志记录详细程度(调试、信息、警告、错误、严重)。 | 可选 | 信息 | 也可以通过设置 --log-level 传递的CLI参数 smithery.yaml. |
注: API键作为参数直接传递给 perform_search 工具(serper_api_key, searxng_api_key, jina_api_key)将临时覆盖该特定调用的环境变量。
使用Smithery CLI
您可以使用Smithery CLI和提供的 smithery.yaml 配置文件。这使您可以轻松管理所需的环境变量。
# Example: Run with OpenRouter key and Serper key
npx -y @smithery/cli@latest run . --config '{"openrouterApiKey":"sk-or-...", "serperApiKey":"your-serper-key"}'
# Example: Run with OpenAI key and SearXNG
npx -y @smithery/cli@latest run . --config '{"openaiApiKey":"sk-...", "searxngInstanceUrl":"https://your-searxng-instance.com"}'
# Example: Run with Gemini key
npx -y @smithery/cli@latest run . --config '{"geminiApiKey":"..."}'
# Example: Run with Azure keys
npx -y @smithery/cli@latest run . --config '{"azureApiKey":"...", "azureApiBase":"https://your-azure.openai.azure.com/", "azureApiVersion":"2024-02-01", "azureDeploymentId":"your-deployment"}'这 smithery.yaml 文件定义了必要的配置模式。有关所有可用选项,请参阅它。
发展
此软件包遵循MCP规范,并通过OpenDeepSearch提供搜索功能的工具。
