🚀 MCP Gemini Google Search
MCP Gemini Google Search 是一个基于 Model Context Protocol (MCP) 的服务器,它借助 Gemini 内置的 Grounding with Google Search 功能,提供谷歌搜索服务。本项目受到了 gemini-cli 中 GoogleSearch 工具的启发。
🚀 快速开始
本项目为你提供了一个便捷的方式,通过 Gemini 内置的谷歌搜索功能,实现实时网络搜索。按照以下步骤,你可以快速使用该服务。
✨ 主要特性
- 利用内置功能:使用 Gemini 内置的 Grounding with Google Search 功能。
- 实时搜索与引用:提供带有来源引用的实时网络搜索结果。
- 协议合规:符合 MCP 标准协议。
- 传输支持:支持标准输入输出传输。
- 多平台支持:同时支持 Google AI Studio 和 Vertex AI。
📦 安装指南
确保你已经安装了 Node.js 18 或更高版本,并且拥有 Google AI Studio API 密钥(可在 这里获取),或者启用了 Vertex AI 的 Google Cloud 项目。
使用以下命令全局安装项目:
npm install -g mcp-gemini-google-search
💻 使用示例
环境变量设置
Google AI Studio(默认)
export GEMINI_API_KEY="your-api-key-here"
export GEMINI_MODEL="gemini-2.5-flash"
Vertex AI
export GEMINI_PROVIDER="vertex"
export VERTEX_PROJECT_ID="your-gcp-project-id"
export VERTEX_LOCATION="us-central1"
export GEMINI_MODEL="gemini-2.5-flash"
Claude Code 配置
你可以使用 CLI 在 Claude Code 中设置此 MCP 服务器:
Google AI Studio
claude mcp add gemini-google-search \
-s user \
-e GEMINI_API_KEY="your-api-key-here" \
-e GEMINI_MODEL="gemini-2.5-flash" \
-- npx mcp-gemini-google-search
claude mcp add gemini-google-search \
-s project \
-e GEMINI_API_KEY="your-api-key-here" \
-e GEMINI_MODEL="gemini-2.5-flash" \
-- npx mcp-gemini-google-search
Vertex AI
claude mcp add gemini-google-search \
-s user \
-e GEMINI_PROVIDER="vertex" \
-e VERTEX_PROJECT_ID="your-gcp-project-id" \
-e VERTEX_LOCATION="us-central1" \
-e GEMINI_MODEL="gemini-2.5-flash" \
-- npx mcp-gemini-google-search
claude mcp add gemini-google-search \
-s project \
-e GEMINI_PROVIDER="vertex" \
-e VERTEX_PROJECT_ID="your-gcp-project-id" \
-e VERTEX_LOCATION="us-central1" \
-e GEMINI_MODEL="gemini-2.5-flash" \
-- npx mcp-gemini-google-search
Windows 用户
在 Windows 上,使用 cmd /c
包装 npx 命令:
claude mcp add gemini-google-search \
-e GEMINI_API_KEY="your-api-key-here" \
-- cmd /c npx mcp-gemini-google-search
可用工具
google_search
用于在谷歌上搜索信息。
参数:
示例:
latest TypeScript features
示例响应
看起来你在询问 TypeScript 的最新特性。以下是基于提供的搜索结果总结的近期更新和关键特性:
**近期 TypeScript 更新中的关键特性**:
* **Satisfies 运算符**:此运算符允许你指定一个值符合特定类型,但不完全强制执行。[1,2]
* **Const 类型参数**:在类型参数中使用 `const` 可以为函数泛型提供更高的精度,有助于指定字面类型并防止不必要的转换。[2] 这确保数组被视为不可变的,保持其字面类型。[2]
* **改进的枚举类型**:枚举更加健壮,特别是 `const enum`,它通过在编译时内联枚举值来优化枚举。[2] 从 5.0 版本开始,所有枚举都被视为类型联合,即使带有计算值。[1]
* **模板字面类型**:模板字面类型更具表现力,允许你创建基于字面量的类型,类似于 JavaScript 模板字符串。[2]
* **带区分联合的联合和交集类型**:TypeScript 对联合和交集类型提供了更好的处理,这些类型常用于构建灵活的类型。[2] 区分联合允许你轻松创建复杂结构并使用清晰的类型保护。[2]
* **新的 ECMAScript 集合方法**:支持 `union`、`intersection` 和 `difference` 等新方法,以实现更强大的集合操作。[3]
**TypeScript 5.8 亮点(2025 年 3 月)**:
* **Module Node18 标志**:为固定使用 Node.js 18 的用户提供一个稳定的参考点,不包含 `--module nodenext` 的某些行为。[4]
* **优化**:引入了优化措施,提高了构建程序和根据文件更改更新程序的时间,特别是在 `--watch` 模式或编辑器场景中。[4] 这包括避免在路径规范化期间进行数组分配。[4]
* **导入断言**:TypeScript 5.8 中的 `--module nodenext` 在遇到导入断言时会发出错误,因为 Node.js 22 不再接受使用 `assert` 语法的导入断言,建议使用 `with`。[4]
**其他值得注意的特性和改进**:
* **推断类型谓词**:改进了类型推断,特别是在处理数组和过滤时。[3]
* **常量索引访问的控制流缩小**:在访问对象属性时提供更好的类型缩小。[3]
* **正则表达式语法检查**:对正则表达式进行基本的语法检查,标记未闭合括号等错误。[3]
* **数组过滤修复**:在使用过滤函数时正确过滤数组类型。
* **对象键推断修复**:改进了类型推断。
**性能增强**:
* **Go 重写**:承诺在 7.0 版本中用 Go 完全重写 TypeScript,这在某些情况下显示出显著的速度提升(高达 10 到 15 倍)。[5] 这将影响编译器 (`tsc`) 和 IDE 性能(加载、悬停、错误等)。[5] 团队选择 Go 是因为它与当前的 JavaScript 实现结构相似。[5]
* **TypeScript 5.0**:此更新旨在通过优化代码、数据结构和简化导入/导出操作来加速编码过程并简化开发。[6]
总之,TypeScript 不断发展,推出新特性和改进,旨在提高开发者的生产力、代码质量和性能。[6]
来源:
[1] edicomgroup.com (https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQFILdgh_4-Yh0OuwzDOqwCfvLGHdhm_PGhdAIzMK_DFwW38X9qK8b3Tj_ws2VZ2VLxWW_NJtuzot8B_wYYH4rOHBY_1HYZ7PyCHOCR3GzQpwQUi71ufAf6izU13O3W6GzjQAQnVjnheeRLLLf4mD7uueIS-g0yeivFo2XWZKJF4wtRtDfdTYjtHvRYmB7rY6Q==)
[2] dev.to (https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQFFMJOcmJDu8TUJsc6cKjVMDTR7ggjQMUc1aMAIVKRhbTq7Zjzh5f_h-UpZn6LE6xB-nTqUmQwHCiUmhvAZ_uYmzXIzNmJvtoDUjDcB9hJDw_aPPvJjd411APwVfiNvd3yhlrB7MFsnxH25-hxNetmoZJrriZ0mGm6ZaYbm0yMeiruDqC5mnqXJwuyGLMdrg-M3LpRAGrxVAT9b1veE)
[3] dev.to (https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQFfDcb-2QNwLZ0TpjSkNCWCvh-dvslYtllEMyyTXCSu-3jbOBD4vvq0j5Hqyuw8BcmEpKjBBeBZS83E-GCKax48hg5Oc1Fam6GQy296DxQkEQOfg7pvmnRhE3tdDbDCBqXKdYPonoR_AVLBAlGdKg==)
[4] microsoft.com (https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQEWKA9uZsB7lcOGcnOLveyjImsqVwNItCj3n3QiCrCkyL6iY4rA16Wp37FecAoKgX58lcDcBOuXye97fgw5SAbLwDkl3M-vCUK0I0HxtCx8qMaBVM42sxyFEQjn1iz4Qgzud3P7pDlc4frHf6Wkgs8nNcoIlMriePVOb0l9vmY=)
[5] totaltypescript.com (https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQFysE6zFlg_XiXfGqAiDapTIj2bsVWlkuq3Trpfacjd1a7gMDrUh35MKW-No9qdSKti68W3M2b1j6VqlnZ7v_yBOjE8hK_3d57U7UePyjMOUDdbBBGRK8CZeUug3hBOFsZjbnQoDdoL446oZL1R38gJrc9JvGmlWQno)
[6] rabitsolutions.com (https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQEY1brKmgxI5YOA1HrB89SnHNPyhm3Dlz-zumJMoi-wBegLSOjto360JJrA29TwVB8A02qHWZBtwua0QHn8NxAjWUCCkLxD7lZa_xW4Mtp8diiAXl1ppIWEHq6T7B1Mm6_dMs3lWoOKOJSjCUrk6-P4ao40V-nYULfPtA==)
🛠️ 开发指南
如果你想为这个项目做出贡献,可以按照以下步骤操作:
git clone https://github.com/yukukotani/mcp-gemini-google-search.git
cd mcp-gemini-google-search
npm install
npm run dev
npm run build
npm run start
npm run inspect
使用 MCP Inspector 调试
运行 npm run inspect
将在浏览器中打开 MCP Inspector。这允许你:
📄 许可证
本项目采用 Apache License 2.0 许可协议。