查看“Serp API”分支机构
https://github.com/mixelpixx/Google-Search-MCP-Server/tree/serpapi-only
谷歌研究MCP服务器
版本3.0.0 -通过智能源质量评估和重复数据删除增强研究综合。
一个先进的模型上下文协议(MCP)服务器,提供全面的谷歌搜索功能、网页内容提取和人工智能驱动的研究综合。为Claude Code、Claude Desktop和其他MCP兼容客户端构建。
多提供商搜索支持(v3.0+)
新 此服务器现在支持多个搜索提供商!根据您的需求选择最佳选项。
勇敢搜索(推荐)
# Get free API key: https://api.search.brave.com/app/keys
SEARCH_PROVIDER=brave
BRAVE_API_KEY=your_brave_api_key_here- 每月免费查询2000次(无信用卡)
- 注重隐私,无跟踪
- 5000次查询每月3美元
- 日落日期未公布
Tavily Search(人工智能研究)
# Get API key: https://app.tavily.com/sign-in
SEARCH_PROVIDER=tavily
TAVILY_API_KEY=your_tavily_api_key_here- 每月1000次免费查询
- 通过质量评分优化AI
- 高级搜索深度(每个查询10-30s)
- 最适合合成和研究
谷歌自定义搜索(传统)
# Only if you already have an API key
SEARCH_PROVIDER=google
GOOGLE_API_KEY=your_google_api_key_here
GOOGLE_SEARCH_ENGINE_ID=your_search_engine_id_here- API 2027年1月1日日落
- 对新用户关闭(2024)
- 每天仅100次免费查询
- 成本较高(每1000次查询5美元)
迁移指南:参见 MIGRATION.md 有关详细的迁移说明。
______________________________________________________________________
Google API状态(适用于传统用户)
对于新用户
谷歌已于2026年对新客户关闭自定义搜索JSON API。
如果您没有Google API密钥:
- 你再也买不到了
- 使用 勇敢 或 塔维利 相反(见上文)
- 两个提供商都使用所有MCP工具
对于现有的谷歌用户
重要日期:
- 2027年1月1日:Google自定义搜索API 日落
- 需采取行动:迁移到Brave或Tavily(参见 MIGRATION.md)
电流限制:
- 每天100次免费查询
- 100后:每1000次查询5美元(最多1万次/天)
监控您的使用情况:
- 仪表板:https://console.cloud.google.com/apis/dashboard
- 启用计费:https://console.cloud.google.com/billing
快速故障排除
错误:“无法工作”或“403禁止”
- 检查您是否达到100/天的限制(等到明天或启用计费)
- 验证API是否已启用:https://console.cloud.google.com/apis/library/customsearch.googleapis.com
- 在中检查您的API密钥是否正确
.env
错误:“429请求太多”
- 您超过100次查询/天
- 等待午夜UTC重置或启用计费
需要100多个/天吗?
- 启用计费:https://console.cloud.google.com/billing
- 费用:每1000次查询5美元
______________________________________________________________________
概述
此MCP服务器通过以下方式将谷歌搜索转化为强大的研究工具:
- 智能源排名 -根据权威性、时效性和可信度自动对来源进行评分
- 去重 -删除搜索结果中的重复URL和类似内容
- 基于试剂的合成 -利用您现有的克劳德会议来综合研究结果
- 重点领域分析 -为您的研究主题的特定方面提供专门的分析
- 质量指标 -跟踪来源多样性、权威性和内容新鲜度
快速开始
先决条件
- Node.js 18或更高版本
- 启用自定义搜索API的Google云平台帐户
- 谷歌自定义搜索引擎ID
安装
选项1:使用npx(推荐)
直接运行而不进行克隆:
# Set environment variables and run
GOOGLE_API_KEY=your_key GOOGLE_SEARCH_ENGINE_ID=your_id npx google-search-mcp或者创建一个 .env 使用您的凭据在工作目录中创建文件,然后运行:
npx google-search-mcp选项2:克隆和构建
# Clone the repository
git clone
cd Google-Research-MCP
# Install dependencies
npm install
# Optional: Install Google API support (only if using Google provider)
# Note: googleapis is now optional - only install if you need Google
npm install googleapis
# Build the project
npm run build备注:The googleapis 包现在是可选的。如果您使用的是Brave或Tavily,则不需要安装它。这减少了安装大小和依赖关系。
配置
创建一个 .env 项目根目录中的文件:
为勇敢(推荐)
SEARCH_PROVIDER=brave
BRAVE_API_KEY=your_brave_api_key_here对于塔维利
SEARCH_PROVIDER=tavily
TAVILY_API_KEY=your_tavily_api_key_here对于谷歌(传统)
SEARCH_PROVIDER=google # Optional, defaults to google for backwards compatibility
GOOGLE_API_KEY=your_google_api_key
GOOGLE_SEARCH_ENGINE_ID=your_custom_search_engine_id注: 不需要任何Anthropic API密钥。服务器使用基于代理的合成,利用您现有的Claude会话。
使用情况跟踪(可选)
跟踪您的API使用情况和成本,以防止意外账单:
# Enable usage tracking
USAGE_TRACKING_ENABLED=true
# Persist tracking to SQLite database (optional)
USAGE_TRACKING_PERSIST=true
USAGE_TRACKING_DB_PATH=./.mcp-usage-tracking.db
# Set thresholds for warnings (optional)
USAGE_MAX_SEARCHES_PER_MONTH=2000 # Alert at 80% and 100%
USAGE_MAX_COST_PER_MONTH=10.00 # In USD优点:
- 监控所有提供商的使用情况
- 在80%和100%的限制下收到警告
- 防止配额超支
- 跟踪估计成本
- 具有SQLite持久性的历史数据
运行服务器
# Start v3 server (recommended)
npm run start:v3
# For HTTP mode
npm run start:v3:http预期输出(使用Brave):
============================================================
Google Research MCP Server v3.0.0 (Enhanced)
============================================================
Initializing search provider: brave
✓ Using Brave Search as search provider
Free tier: 2,000 queries/month
✓ Source quality assessment
✓ Deduplication
✓ AI synthesis: AGENT MODE (Claude will launch agents)
└─ No API key needed - uses your existing Claude session
✓ Focus area analysis
✓ Enhanced error handling
✓ Cache metadata
============================================================
Server running on STDIO预期产出(谷歌):
Initializing search provider: google
✓ Using Google Custom Search as search provider
Free tier: 100 queries/day
WARNING: Google Custom Search will sunset on January 1, 2027
Consider migrating to Brave Search: https://brave.com/search/api/启用使用情况跟踪后:
✓ Using Brave Search as search provider
✓ Usage tracking enabled
✓ Usage tracking database initialized: ./.mcp-usage-tracking.db特性
核心能力
1.高级谷歌搜索
- 带质量评分的全文搜索
- 域过滤和日期限制
- 结果分类(学术、官方文件、新闻、论坛等)
- 自动对结果进行重复数据删除
- 来源权威排名
2.内容提取
- 从网页中提取干净的内容
- 多种输出格式(Markdown、HTML、纯文本)
- 可配置的预览长度
- 批量提取支持(最多5个URL)
- 自动内容摘要
3.研究综述
- 基于代理的研究分析
- 全面的源综合
- 重点领域细分
- 矛盾检测
- 可采取行动的建议
- 质量指标报告
研究深度级别
| 深度 | 来源 | 分析 | 用例 |
|---|---|---|---|
| 基本的 | 3 | 快速概述,3-5个发现 | 快速比较,初步研究 |
| 中间的 | 5 | 综合分析,5-7项发现 | 标准研究任务 |
| 先进的 | 8-10 | 深入分析,7-10个发现,矛盾 | 决策,综合评审 |
用法示例
基础研究
research_topic({
topic: "WebAssembly performance optimization",
depth: "basic"
})退货:
- 3优质来源
- 简要概述(2-3段)
- 3-5个关键发现
- 质量指标
重点领域综合研究
research_topic({
topic: "Kubernetes security",
depth: "advanced",
focus_areas: ["RBAC", "network policies", "pod security"],
num_sources: 8
})退货:
- 8权威来源
- 深入执行摘要
- 7-10项详细调查结果
- 跨来源的共同主题
- 对每个重点领域进行专门分析
- 来源之间的矛盾
- 可采取行动的建议
- 综合质量指标
目标搜索
google_search({
query: "docker container security best practices",
num_results: 10,
dateRestrict: "y1", // Last year only
site: "github.com" // Limit to GitHub
})退货:
- 质量评分结果
- 重复删除报告
- 源类型分类
- 权威评级
内容提取
extract_webpage_content({
url: "https://kubernetes.io/docs/concepts/security/",
format: "markdown",
max_length: 5000,
preview_length: 300
})退货:
- 清洁提取内容物
- 元数据(标题、描述、作者)
- 字数统计
- 可配置预览
- 缓存信息
代理模式
运作原理
Agent Mode是默认的合成方法。它不需要单独的Anthropic API密钥,而是使用您现有的Claude会话:
- 研究聚会 -MCP服务器对源进行搜索、重复数据消除和排名
- 内容提取 -从顶级来源提取的完整内容
- 代理提示生成 -所有研究数据打包成结构化提示
- 代理启动 -Claude Code自动启动带有研究数据的代理
- 合成 -代理分析来源并生成综合报告
好处
- 无附加API密钥 -使用您现有的Claude订阅
- 完整上下文 -代理有权访问对话历史记录
- 透明进程 -实时查看代理分析
- 相同的质量 -使用与您已经使用的Claude模型相同的模型
备选方案:直接API模式
对于自动化的工作流或脚本,您可以使用Direct API模式:
# .env
ANTHROPIC_API_KEY=your_anthropic_api_key
USE_DIRECT_API=true这绕过代理模式,直接从MCP服务器调用Anthropic API。
建筑
服务
src/
├── google-search-v3.ts # Main MCP server (v3)
├── services/
│ ├── google-search.service.ts # Google Custom Search integration
│ ├── content-extractor.service.ts # Web content extraction
│ ├── source-quality.service.ts # Source ranking and scoring
│ ├── deduplication.service.ts # Duplicate detection
│ └── research-synthesis.service.ts # Agent-based synthesis
└── types.ts # TypeScript interfaces数据流
Search Query → Google API → Results
↓
Deduplication
↓
Quality Scoring
↓
Content Extraction
↓
Agent Synthesis
↓
Comprehensive Research ReportAPI 参考
工具
谷歌搜索
使用高级过滤和质量评分搜索谷歌。
参数:
query(字符串,必填)-搜索查询num_results(数字,可选)-结果数量(默认值:5,最大值:10)site(字符串,可选)-限制到特定域language(字符串,可选)-ISO 639-1语言代码dateRestrict(字符串,可选)-日期过滤器(例如,过去6个月的“m6”)exactTerms(字符串,可选)-精确短语匹配resultType(字符串,可选)-按类型筛选(图像、新闻、视频)page(数字,可选)-分页sort(字符串,可选)-按相关性或日期排序
退货:
- 用质量分数对搜索结果进行排名
- 重复数据删除统计
- 来源分类
- 分页信息
- 缓存元数据
提取网页内容
从网页中提取干净的内容。
参数:
url(字符串,必填)-目标URLformat(枚举,可选)-输出格式:markdown、html、文本(默认:markdown)full_content(boolean,可选)-返回完整内容(默认值:false)max_length(数字,可选)-最大内容长度preview_length(数字,可选)-预览长度(默认值:500)
退货:
- 提取的内容
- 元数据(标题、描述、作者)
- 统计数据(字数、字符数)
- 内容概要
- 缓存信息
提取多个网页
从多个URL批量提取内容(最多5个)。
参数:
urls(数组,必填)-URL数组(最多5个)format(枚举,可选)-输出格式
退货:
- 每个URL提取的内容
- 提取失败的错误详细信息
- 缓存元数据
研究主题
人工智能综合综合研究。
参数:
topic(字符串,必填)-研究主题depth(枚举,可选)-分析深度:基本、中级、高级(默认:中级)num_sources(数字,可选)-源的数量(默认值:根据深度而变化)focus_areas(数组,可选)-要分析的具体方面
退货:
- 执行摘要
- 关键发现及引用
- 共同主题
- 重点领域分析(如有规定)
- 来源之间的矛盾
- 建议
- 质量指标(来源多样性、权威性、新鲜度)
- 带有质量分数的源列表
配置选项
环境变量
| 变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
GOOGLE_API_KEY | 是 | - | Google自定义搜索API密钥 |
GOOGLE_SEARCH_ENGINE_ID | 是 | - | 自定义搜索引擎ID |
ANTHROPIC_API_KEY | 否 | - | 仅适用于直接API模式 |
USE_DIRECT_API | 否 | false | 启用直接API模式 |
MCP_TRANSPORT | 否 | stdio | 传输模式:stdio或http |
PORT | 没有 | 3000 | HTTP模式端口 |
演出
响应时间
| 操作 | 典型持续时间 | 注意事项 |
|---|---|---|
| google_search | 1-2s | 包括质量评分和重复数据删除 |
| 提取_网页内容 | 2-3s | 每个URL |
| 研究主题(基础) | 8-10s | 3个试剂合成来源 |
| 研究主题(中级) | 12-15s | 5个来源,综合分析 |
| 研究主题(高级) | 18-25s | 8-10个来源,进行深入分析 |
v2版本的质量改进
| 度量 | v2 | v3 | 改进 |
|---|---|---|---|
| 质量总结 | 2/10 | 9/10 | 350% |
| 来源多样性 | 未跟踪 | 优化 | 新 |
| 重复删除 | 0% | ~30% | 新建 |
| 来源排名 | 随机 | 按质量 | 新 |
| 重点领域支持 | 通用 | 专用 | 新 |
| 错误有用性 | 3/10 | 9/10 | 200% |
故障排除
代理模式不工作
症状: 研究返回基本的串联而不是合成
解决:
- 验证服务器在启动时显示“AGENT MODE”
- 检查
[AGENT_SYNTHESIS_REQUIRED]作为回应 - 确保使用v3:
npm run start:v3 - 重建:
npm run build
质量分数缺失
症状: 搜索结果不显示质量分数
解决:
- 确认运行v3,而不是v2
- 检查服务器启动输出
- 验证没有TypeScript编译错误
未找到结果
解决:
- 验证Google API密钥是否有效
- 检查自定义搜索引擎ID
- 确保搜索引擎已启用索引
- 尝试更广泛的搜索词
文档
- 快速启动.md -快速设置指南(2分钟)
- AGENT-MODE.md -全面的代理模式文档
- SETUP-V3.md -详细的设置和测试指南
版本历史记录
v3.0.0(当前)
- 基于代理的合成(不需要API密钥)
- 源质量评估和排名
- 全面的重复数据消除
- 重点领域分析
- 通过建议增强错误处理
- 缓存元数据透明度
- 一致的预览长度
- 研究深度差异化
v2.0.0版本
- HTTP传输支持
- 批量网页提取
- 基础研究综述
- 内容分类
v1.0.0
- 初始版本
- Google自定义搜索集成
- 基本内容提取
贡献
欢迎捐款。请确保:
- 代码遵循现有的样式约定
- 所有测试均通过:
npm run build - 文档已更新
- 提交消息是描述性的
许可证
看 许可证 文件以获取详细信息。
支持
对于问题、疑问或功能请求,请在GitHub上打开问题。
学分
- 谷歌自定义搜索API -搜索功能
- 安thropic克劳德 -人工智能驱动的研究综合
- Mozilla可读性 -内容提取
- MCP-SDK -模型上下文协议集成
______________________________________________________________________
版本: 3.0.0 最后更新时间: 2025-11-07

