使用说明
Search MCP Server
一个为AI编程助手提供网络搜索和网页内容获取功能的MCP(Model Context Protocol)服务器。
为什么需要这个项目?
目前智谱AI官方还没有提供对应的搜索MCP服务器实现,虽然智谱AI开放平台提供了强大的Web Search API,但缺少将其封装为MCP协议的官方实现。为了能够在AI编程助手(如Claude等)中使用智谱AI的搜索能力,我们自行实现了这个MCP服务器。
本项目将智谱AI的Web Search API封装为标准的MCP协议,使得AI助手可以通过MCP协议调用智谱AI的搜索功能,包括:
- 多种搜索引擎支持(智谱基础版、高阶版、搜狗、夸克)
- 网页内容自动提取
- 搜索意图识别
- 结果过滤和时间范围控制
这样,AI助手就能获得高质量的网络搜索能力,提升回答问题的准确性和时效性。
功能特性
- 🔍 网络搜索: 支持多个搜索引擎(智谱基础版、高阶版、搜狗、夸克)
- 📄 网页内容获取: 自动提取网页正文内容
- 🔗 搜索并获取: 一次性搜索并获取多个结果的详细内容
- 📊 连接监控: 实时监控请求状态和错误率
- 📝 详细日志: 完整的请求和响应日志记录
安装依赖
pip install -r requirements.txt
配置
方式一:通过MCP配置(推荐)
在您的MCP配置文件中添加API密钥:
{
"search-mcp": {
"autoApprove": [
"web_search",
"fetch_web_content",
"search_and_fetch"
],
"disabled": false,
"timeout": 60,
"type": "stdio",
"command": "python",
"args": ["f:\\loen_space\\search_mcp\\search_mcp_server.py"],
"env": {
"API_KEY": "your_actual_api_key_here"
}
}
}
💡 提示: 项目中提供了 mcp_config_example.json 文件作为配置参考。
方式二:通过环境变量文件
- 复制配置文件:
cp .env.example .env
- 编辑
.env文件,填入您的智谱AI API密钥:
# 智谱AI API密钥 (可选,不推荐在此处配置)
API_KEY=your_actual_api_key_here
3. 其他配置选项
# 搜索API URL (通常不需要修改)
SEARCH_API_URL=https://open.bigmodel.cn/api/paas/v4/web_search
# 日志级别 (DEBUG, INFO, WARNING, ERROR)
LOG_LEVEL=DEBUG
# 日志文件最大大小 (MB)
LOG_MAX_SIZE=10
# 日志备份数量
LOG_BACKUP_COUNT=5
# 连接超时时间 (秒)
REQUEST_TIMEOUT=30
# 服务器名称
SERVER_NAME=Search MCP Server
获取API密钥
- 访问 智谱AI开放平台
- 注册并登录账号
- 在控制台中创建新的API密钥
- 将密钥填入
.env文件的API_KEY字段
运行服务器
直接运行服务器:
python search_mcp_server.py
服务器会自动检查配置并启动。如果API密钥未正确配置,会显示相应的警告信息,但服务器仍会启动。
可用工具
1. web_search
执行网络搜索
参数:
query(必需): 搜索查询内容,建议不超过70个字符search_engine(可选): 搜索引擎类型search_std: 智谱基础版搜索引擎search_pro: 智谱高阶版搜索引擎(默认)search_pro_sogou: 搜狗搜索引擎search_pro_quark: 夸克搜索引擎
count(可选): 返回结果数量,范围1-50,默认10content_size(可选): 内容大小,medium或high,默认medium
2. fetch_web_content
获取网页详细内容
参数:
url(必需): 要获取内容的网页URLmax_length(可选): 最大内容长度,默认5000字符
3. search_and_fetch
搜索并获取前几个结果的详细内容
参数:
query(必需): 搜索查询内容search_engine(可选): 搜索引擎类型,默认search_procount(可选): 搜索结果数量,默认5fetch_top(可选): 获取前几个结果的详细内容,默认3max_content_length(可选): 每个网页的最大内容长度,默认3000
可用资源
1. search://engines
获取支持的搜索引擎列表和详细信息
2. search://examples
获取搜索示例和使用场景
可用提示
1. code_search_prompt
生成代码搜索提示,帮助用户更好地搜索编程相关内容
参数:
topic(必需): 搜索主题
日志文件
服务器会在运行时输出日志信息到控制台,包括:
- 请求和响应的详细信息
- 错误和警告信息
- 连接状态监控
如需将日志保存到文件,可以通过重定向输出:
python search_mcp_server.py > server.log 2>&1
安全注意事项
⚠️ 重要:
- 请勿将
.env文件提交到版本控制系统 - API密钥应妥善保管,避免泄露
- 建议定期更换API密钥
- 在生产环境中使用时,请确保日志文件的安全存储
故障排除
1. API密钥未设置
如果看到错误信息 "API_KEY环境变量未设置",请检查:
.env文件是否存在API_KEY是否正确设置- 是否有正确的权限读取
.env文件
2. 网络连接问题
如果遇到网络连接错误,请检查:
- 网络连接是否正常
- 防火墙设置是否阻止了请求
- API密钥是否有效
3. 搜索结果为空
如果搜索结果为空,请尝试:
- 更换搜索引擎
- 调整搜索关键词
- 检查API配额是否用完
许可证
本项目采用 MIT 许可证。
贡献
欢迎提交 Issue 和 Pull Request 来改进这个项目。