网页搜索MCP服务

一个使用DuckDuckGo的简单可靠的MCP网页搜索服务器,无需API密钥。

  • by deeprave
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 deeprave/mcp-websearch

使用说明

search mcp:最小网络搜索mcp服务器

使用DuckDuckGo进行网络搜索的简单可靠的MCP服务器。不需要API密钥。 在大约25分钟内完全编码了氛围。不要相信这个应用程序(即使它对我有效)。

特性

  • 单一工具: web_search -通过DuckDuckGo搜索网络
  • 不需要API密钥 -使用免费DuckDuckGo API
  • 超时处理 -每次请求超时10秒以防止挂起
  • 最小依赖性 -只有 mcp 和 requests
  • 正确的MCP协议 -正确的stdio传输实施

安装

cd ~/Code/search-mcp
pip install -e .

或者使用紫外线:

cd ~/Code/search-mcp
uv pip install -e .

用法

直接测试

python search_mcp.py

然后通过stdin发送JSON-RPC请求:

{"jsonrpc": "2.0", "method": "tools/list", "id": 1}

Amazon Q配置

添加到您的 ~/.config/cursor/mcp.json 或Kiro CLI配置:

{
  "mcpServers": {
    "WebSearch": {
      "type": "stdio",
      "command": "python3",
      "args": ["/Users/USERNAME/Code/search-mcp/search_mcp.py"],
      "timeout": 120000,
      "disabled": false
    }
  }
}

工具: web_search

参数:

  • query (字符串,必填):搜索查询
  • max_results (整数,可选):要返回的最大结果(默认值:5)

例子:

await client.call_tool("web_search", {"query": "Python async programming", "max_results": 3})

为什么这有效

  1. 正确的MCP协议 -正确实现具有持久连接的stdio传输
  2. 超时处理 -请求超时10秒以防止Amazon Q挂起
  3. 错误处理 -优雅地处理网络错误和超时
  4. 简单的代码库 -约150行,易于调试或修改
  5. 无外部服务 -使用DuckDuckGo的免费API,没有速率限制问题

故障排除

未找到模块错误

确保已安装 pip install -e .:

python3 venv .venv
source .venv/bin/activate
pip install -e .

服务器未响应

检查配置中的Python路径是否正确:

which python3
python3 search_mcp.py

超时问题

服务器对每个请求有10秒的超时时间。如果搜索超时:

  • 检查您的互联网连接
  • 验证DuckDuckGo是否可访问
  • 尝试更简单/更短的搜索查询

许可证

麻省理工学院