百度搜索MCP服务器

一个提供百度搜索功能的MCP服务器,具备内容抓取、解析和速率限制等特性,适用于需要集成百度搜索能力的应用场景。

  • by Evilran
  • Python
  • 本地部署
  • 28 星标
  • 更新于
在 GitHub 查看 Evilran/baidu-mcp-server

使用说明

百度搜索MCP服务器

一种模型上下文协议(MCP)服务器,通过百度提供网络搜索功能,并具有内容获取和解析的附加功能。

特性

  • 网页搜索:使用高级限速和结果格式搜索百度
  • 内容获取:通过智能文本提取检索和解析网页内容
  • 速率限制:内置对搜索和内容获取速率限制的保护
  • 错误处理:全面的错误处理和记录
  • LLM友好输出:专门为大型语言模型使用而格式化的结果

安装

通过Smithery安装

通过以下方式自动安装克劳德桌面百度搜索服务器 史密瑟里:

npx -y @smithery/cli install @Evilran/baidu-mcp-server --client claude

通过安装 uv

使用以下命令直接从PyPI安装 uv:

uv pip install baidu-mcp-server

用法

使用Claude Desktop运行

  1. 下载 Claude桌面版
  2. 创建或编辑您的Claude Desktop配置:
    • 在macOS上: ~/Library/Application Support/Claude/claude_desktop_config.json
    • 在Windows上: %APPDATA%\Claude\claude_desktop_config.json

添加以下配置:

{
    "mcpServers": {
        "baidu-search": {
            "command": "uvx",
            "args": ["baidu-mcp-server"]
        }
    }
}
  1. 重新启动克劳德桌面

发展

对于本地开发,您可以使用MCP CLI:

# Run with the MCP Inspector
mcp dev server.py

# Install locally for testing with Claude Desktop
mcp install server.py

可用工具

1.搜索工具

async def search(query: str, max_results: int = 10) -> str

在百度上执行网络搜索并返回格式化结果。

参数:

  • query:搜索查询字符串
  • max_results:要返回的最大结果数(默认值:10)

退货: 包含带有标题、URL和片段的搜索结果的格式化字符串。

2.内容获取工具

async def fetch_content(url: str) -> str

从网页中获取和解析内容。

参数:

  • url:从中获取内容的网页URL

退货: 已清理并格式化网页中的文本内容。

详细功能

速率限制

  • 搜索:每分钟限制30个请求
  • 内容获取:每分钟限制20个请求
  • 自动队列管理和等待时间

结果处理

  • 删除广告和无关内容
  • 清理百度重定向网址
  • 格式化结果以实现最佳LLM消耗
  • 适当截断长内容

错误处理

  • 全面的错误捕获和报告
  • 通过MCP上下文进行详细日志记录
  • 在速率限制或超时方面表现良好

贡献

欢迎问题和拉取请求!一些有待改进的领域:

  • 其他搜索参数(地区、语言等)
  • 增强的内容解析选项
  • 用于频繁访问内容的缓存层
  • 额外的限速策略

许可证

该项目根据MIT许可证获得许可。

致谢

此项目中的代码引用了以下存储库:

感谢这些存储库的作者和贡献者为开源社区所做的努力和贡献。