关于 Baidu Search MCP Server
这是一个 MCP 服务,通过百度提供网页搜索,并可抓取和解析网页正文。输出格式面向大模型使用,内置搜索与抓取的速率限制。
主要功能
- 01通过百度执行网页搜索
- 02抓取网页并提取正文文本
- 03搜索与抓取均内置速率限制
- 04清理百度跳转链接并过滤广告
- 05错误处理与 MCP 上下文日志
适用场景
- 01让 Claude Desktop 检索中文网络信息
- 02获取搜索结果中网页的正文内容
- 03为 LLM 提供经过整理的中文搜索结果
MCP 相关
该项目是一个 MCP 服务,向 MCP 客户端暴露 search 和 fetch_content 两个工具,分别用于百度搜索和网页内容获取。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
百度搜索 MCP 服务
一个通过百度提供网页搜索功能的模型上下文协议(MCP)服务,还具备内容抓取和解析功能。
功能
- 网页搜索:通过百度进行搜索,并提供高级速率限制和结果格式化功能
- 内容抓取:获取并解析网页内容,智能提取文本
- 速率限制:内置搜索和内容抓取的速率限制保护
- 错误处理:全面的错误处理和日志记录
- 适合大模型的输出:专门针对大模型使用场景格式化结果
安装
通过 Smithery 安装
通过 Smithery 为 Claude Desktop 自动安装百度搜索服务:
npx -y @smithery/cli install @Evilran/baidu-mcp-server --client claude
通过 uv 安装
使用 uv 直接从 PyPI 安装:
uv pip install baidu-mcp-server
用法
在 Claude Desktop 中运行
- 下载 Claude Desktop
- 创建或编辑 Claude Desktop 配置:
- 在 macOS 上:
~/Library/Application Support/Claude/claude_desktop_config.json - 在 Windows 上:
%APPDATA%\Claude\claude_desktop_config.json
- 在 macOS 上:
添加以下配置:
{
"mcpServers": {
"baidu-search": {
"command": "uvx",
"args": ["baidu-mcp-server"]
}
}
}
- 重启 Claude Desktop
开发
对于本地开发,你可以使用 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 次请求
- 自动管理队列和等待时间
结果处理
- 移除广告和无关内容
- 清理百度重定向 URL
- 优化结果格式,使其适合大模型使用
- 适当截断过长的内容
错误处理
- 全面的错误捕获和报告
- 通过 MCP 上下文进行详细日志记录
- 遇到速率限制或超时时可平稳降级
参与贡献
欢迎提交问题和拉取请求!以下是一些可改进的方向:
- 增加搜索参数(地区、语言等)
- 增强内容解析选项
- 为频繁访问的内容添加缓存层
- 增加其他速率限制策略
许可证
本项目采用 MIT 许可证。
致谢
本项目中的代码参考了以下仓库:
感谢这些仓库的作者和贡献者为开源社区所付出的努力和贡献。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
