MCP Web Search Server
A web search server powered by DuckDuckGo, no API key required.
MCP Web Search Server
一个无需API key的网页搜索MCP(Model Context Protocol)服务器,支持DuckDuckGo和必应搜索引擎提供网页搜索功能。
功能特性
- 🔍 多引擎搜索: 支持DuckDuckGo和必应搜索引擎,无需API key
- 📄 网页内容获取: 获取指定网页的文本内容
- 🚀 异步处理: 基于asyncio的高性能异步处理
- 🛡️ 安全可靠: 不需要任何外部API密钥,保护隐私
- 🌐 多种搜索方式: 支持API和HTML两种搜索方式
- ⚡ 灵活选择: 可选择单一搜索引擎或组合使用
安装方式
方式一:通过 PyPI 安装(推荐)
# 从 PyPI 安装
pip install heventure-search-mcp
# 然后运行
heventure-search-mcp
方式二:通过 uvx 安装
# 从 PyPI 运行
uvx heventure-search-mcp
# 或者从 GitHub 运行
uvx --from git+https://github.com/HughesCuit/heventure-search-mcp.git server.py
方式三:通过 pip 从源码安装
# 直接从 GitHub 安装
pip install git+https://github.com/HughesCuit/heventure-search-mcp.git
# 然后运行(三种方式任选其一)
heventure-search-mcp # 使用命令行工具
python -m server # 直接运行模块
python -c "import server; import asyncio; asyncio.run(server.main())" # 编程方式
方式四:手动安装依赖
# 克隆仓库
git clone https://github.com/HughesCuit/heventure-search-mcp.git
cd heventure-search-mcp
# 安装依赖
pip install -r requirements.txt
使用方法
直接运行服务器
python server.py
作为MCP服务器使用
在你的MCP客户端配置中添加此服务器:
{
"mcpServers": {
"web-search": {
"command": "python",
"args": ["/path/to/server.py"]
}
}
}
在Trae AI中使用
在Trae AI中添加此MCP服务器,请使用以下配置:
{
"mcpServers": {
"heventure-search-mcp": {
"command": "uvx",
"args": [
"heventure-search-mcp"
]
}
}
}
或者如果你已经本地安装了包:
{
"mcpServers": {
"heventure-search-mcp": {
"command": "python",
"args": [
"-m",
"heventure_search_mcp"
]
}
}
}
可用工具
1. web_search
搜索网页内容,支持多种搜索引擎
参数:
query
(string, 必需): 搜索查询词max_results
(integer, 可选): 最大结果数量 (默认: 10, 范围: 1-20)search_engine
(string, 可选): 搜索引擎选择 (默认: "both")"duckduckgo"
: 仅使用DuckDuckGo搜索"bing"
: 仅使用必应搜索"both"
: 同时使用两个搜索引擎
示例:
{
"query": "Python编程教程",
"max_results": 5,
"search_engine": "both"
}
使用不同搜索引擎:
// 仅使用DuckDuckGo
{
"query": "机器学习算法",
"search_engine": "duckduckgo"
}
// 仅使用必应
{
"query": "人工智能发展",
"search_engine": "bing"
}
2. get_webpage_content
获取指定网页的文本内容
参数:
url
(string, 必需): 要获取内容的网页URL
示例:
{
"url": "https://example.com"
}
技术实现
搜索引擎
本服务支持多个搜索引擎,提供更全面的搜索结果:
DuckDuckGo
- 无需API key: 提供免费的搜索API
- 隐私保护: 不跟踪用户搜索历史
- 即时答案: 支持即时答案和相关主题
- 多种接口: 支持API和HTML两种访问方式
必应搜索
- 丰富结果: 提供详细的搜索结果和摘要
- 高质量: 微软搜索引擎的高质量结果
- HTML解析: 通过HTML页面解析获取结果
- 补充搜索: 与DuckDuckGo形成良好互补
搜索策略
- DuckDuckGo策略: 优先使用API,不足时使用HTML解析
- 必应策略: 通过HTML页面解析获取搜索结果
- 组合策略: 当选择"both"时,合并两个引擎的结果
- 结果优化: 自动去重、排序和格式化结果
内容提取
- 使用BeautifulSoup解析HTML内容
- 自动移除脚本和样式标签
- 清理和格式化文本内容
- 限制内容长度避免过长响应
项目结构
mcp_dev/
├── server.py # 主服务器文件
├── requirements.txt # 项目依赖
├── README.md # 项目说明
└── config.json # MCP配置示例
配置说明
用户代理
服务器使用标准的浏览器用户代理字符串来避免被网站阻止:
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
超时设置
- 网页内容获取超时: 10秒
- 搜索请求超时: 默认aiohttp超时
内容限制
- 网页内容最大长度: 2000字符
- 最大搜索结果数: 20个
错误处理
服务器包含完善的错误处理机制:
- 网络请求失败自动重试
- 解析错误优雅降级
- 详细的错误日志记录
- 用户友好的错误消息
注意事项
- 网络依赖: 需要稳定的网络连接
- 速率限制: 请合理使用,避免过于频繁的请求
- 内容准确性: 搜索结果来自第三方,请自行验证内容准确性
- 法律合规: 请遵守相关法律法规和网站使用条款
开发和发布
本地开发
# 克隆仓库
git clone https://github.com/HughesCuit/heventure-search-mcp.git
cd heventure-search-mcp
# 安装开发依赖
pip install -e .
pip install build twine
# 运行测试
python test_server.py
# 运行基准测试
python benchmark.py
发布到PyPI
项目包含自动化发布脚本:
# 发布到TestPyPI(测试)
python publish.py test
# 发布到正式PyPI
python publish.py prod
# 仅构建包
python publish.py build
# 清理构建文件
python publish.py clean
发布前准备:
-
配置PyPI API Token:
# 在 ~/.pypirc 中配置 [pypi] username = __token__ password = your-api-token [testpypi] username = __token__ password = your-test-api-token
-
更新版本号(在
pyproject.toml
中) -
更新
CHANGELOG.md
(如果有) -
确保所有测试通过
许可证
MIT License
贡献
欢迎提交Issue和Pull Request来改进这个项目!
Related Servers
Amazon Product Advertising API
Integrate with the Amazon Product Advertising API to search for products and access product information.
Higress AI-Search MCP Server
Provides an AI search tool to enhance AI model responses with real-time search results from various search engines using the Higress ai-search feature.
Stock Analysis
Access real-time and historical Indian stock data using the Yahoo Finance API.
Search Intent MCP
Analyzes user search keyword intent for SEO support using the AI Search Intent API.
Hermes Search
Provides full-text and semantic search over structured and unstructured data using Azure Cognitive Search.
PubMed MCP Server
Search and download scientific articles from PubMed's E-utilities API.
AWS Documentation
Fetch, convert, and search AWS documentation pages, with recommendations for related content.
독립유공자 공훈록
Query records of Korean independence activists from the Ministry of Patriots and Veterans Affairs.
MCP Open Library
A Model Context Protocol (MCP) server for the Open Library API that enables AI assistants to search for book and author information.
Genji MCP Server
Search and analyze classical Japanese literature using the Genji API, with advanced normalization features.