生产级别 MCP (模型上下文协议) 服务器,可以整合 Google 学术搜索、Google 网页搜索和 YouTube 搜索。
通过 Smithery 平台直接部署,会自动设置。
git clone https://github.com/JDeun/unified-search-mcp-server.git
cd unified-search-mcp-server
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env
# 编辑 .env 文件以输入 API 密钥和设置
# API 密钥
GOOGLE_API_KEY=your-google-api-key
GOOGLE_CUSTOM_SEARCH_ENGINE_ID=your-cse-id
YOUTUBE_API_KEY=your-youtube-api-key
# 安全性
MCP_ENCRYPTION_KEY=your-256-bit-key
MCP_RATE_LIMIT_SECRET=your-secret
# Redis(可选)
MCP_REDIS_URL=redis://localhost:6379/0
# 设置
MCP_ENV=production
MCP_LOG_LEVEL=INFO
MCP_CACHE_TTL=3600
Google 自定义搜索 API:
YouTube 数据 API v3:
# 开发模式(标准 I/O)
python unified_search_server.py
# 生产模式(HTTP)
python unified_search_server.py --transport streamable-http
# 自定义端口
MCP_PORT=8080 python unified_search_server.py --transport streamable-http
# 构建镜像
docker build -t unified-search-mcp .
# 运行容器
docker run -p 8000:8000 \
-e GOOGLE_API_KEY=your-key \
-e GOOGLE_CUSTOM_SEARCH_ENGINE_ID=your-cse \
-e YOUTUBE_API_KEY=your-key \
unified-search-mcp
在 claude_desktop_config.json 中添加:
{
"mcpServers": {
"unified-search": {
"command": "python",
"args": ["/path/to/unified_search_server.py"],
"env": {
"GOOGLE_API_KEY": "your-key",
"GOOGLE_CUSTOM_SEARCH_ENGINE_ID": "your-cse",
"YOUTUBE_API_KEY": "your-key"
}
}
}
}
同时从所有来源搜索。
results = await unified_search(
query="人工智能",
sources=["scholar", "web", "youtube"],
num_results=10
)
搜索学术论文。
results = await search_google_scholar(
query="机器学习",
author="Yann LeCun",
year_start=2020,
year_end=2024,
num_results=10
)
搜索网页。
results = await search_google_web(
query="ChatGPT",
language="ko",
safe_search="medium",
num_results=10
)
搜索 YouTube 视频。
results = await search_youtube(
query="Python 教程",
video_duration="medium",
upload_date="month",
order="viewCount",
num_results=20
)
从 Google 学术搜索中获取作者信息。
info = await get_author_info("Geoffrey Hinton")
清除缓存的搜索结果。
await clear_cache(source="web") # 或者 None 清除全部
监控 API 使用量和限制。
stats = await get_api_usage_stats()
src/
├── config/ # 配置及安全性
├── models/ # 数据模型及验证
├── services/ # 搜索服务实现
├── cache/ # 缓存层
├── utils/ # 实用工具(日志记录、速率限制)
├── monitoring/ # 指标及健康检查
└── mcp_server.py # 主服务器实现
资源:health://status
资源:metrics://stats
运行测试:
pytest tests/ -v --cov=src
git checkout -b feature/amazing)git commit -m 'Add feature')git push origin feature/amazing)MIT 许可证 - 更多详情参见 LICENSE 文件
问题及疑问:
由 ❤️ 制作,供 MCP 社区使用