Gemini MCP Server

Gemini MCP Server

site icon
2025.03.31 0
JavaScriptAI 模型交互MCP 协议实现开发效率
Gemini MCP Server 是一个基于 Model Context Protocol (MCP) 规范的服务器,用于与 Google 的 Gemini AI 模型进行交互。它充当 MCP 客户端(如 Claude for Desktop)与 Gemini AI 模型之间的桥梁,通过标准化接口实现无缝交互。该服务器支持多种 Gemini 模型,包括 Gemini 1.5 系列和 Gemini 1.0 系列,并提供了丰富的工具和资源,如单次问答、多轮对话和函数调用等功能。
View on GitHub

Overview

基本能力

产品定位

Gemini MCP Server 是一个适配器,用于将 MCP 客户端的请求转换为 Google Gemini 模型的 API 调用,并将响应以 MCP 格式返回。它使得 MCP 兼容客户端用户能够利用 Gemini 的能力,包括不同模型和函数调用。

核心功能

  • 标准 MCP 实现:完全支持 MCP 规范,包括工具和资源。
  • 本地传输:主要设计用于 stdio 传输,以实现安全的本地连接(例如与桌面应用程序)。也支持通过 Docker 进行网络传输。
  • 最新 Gemini API 集成:支持最新的 Gemini 模型,包括 Gemini 1.5 系列(通过 API 可用)。
  • 函数调用支持:为支持函数调用的模型实现 Gemini 的函数调用能力。
  • 弹性:包括指数退避的重试逻辑,用于处理瞬态 API 错误。

适用场景

  • 通过 MCP 客户端(如 Claude for Desktop)与 Gemini AI 模型进行交互。
  • 在本地环境中安全地使用 Gemini AI 模型。
  • 需要多轮对话或函数调用的复杂 AI 交互场景。

工具列表

  • ask_gemini:向指定的 Gemini 模型发送单个问题(提示)并返回响应。
  • chat_with_gemini:管理与指定 Gemini 模型的多轮对话。
  • gemini_function_call:利用 Gemini 的函数调用功能(仅适用于支持该功能的模型)。

常见问题解答

  • API 密钥安全:确保不要将 .env 文件或 API 密钥提交到源代码管理中。
  • 网络暴露:如果服务器运行在暴露的网络端口上,确保它绑定到 localhost127.0.0.1)。
  • 输入清理:虽然 MCP 协议有结构,但传递给 Gemini 模型的提示来自用户输入,需注意安全性。

使用教程

使用依赖

  • Node.js:版本 18 或更高。
  • npm 或 yarn:Node.js 的包管理器。
  • Google Gemini API 密钥:从 Google AI Studio 获取。

安装教程

  1. 克隆仓库bash git clone https://github.com/vytautas-bunevicius/gemini-mcp-server.git cd gemini-mcp-server
  2. 安装依赖bash npm install
  3. 配置 API 密钥: 在项目根目录创建 .env 文件并添加: dotenv GEMINI_API_KEY=YOUR_API_KEY_HERE
  4. 构建项目bash npm run build
  5. 启动服务器bash npm start

Docker 安装

  1. 构建 Docker 镜像bash docker build -t gemini-mcp-server .
  2. 运行容器(Stdio)bash docker run -i --rm -e GEMINI_API_KEY=YOUR_API_KEY_HERE gemini-mcp-server
  3. 运行容器(网络端口)bash docker run -it --rm -e GEMINI_API_KEY=YOUR_API_KEY_HERE -p 127.0.0.1:3001:3001 --name gemini-mcp gemini-mcp-server

调试方式

  • 启动服务器bash npm start
  • 检查日志:确保服务器启动时没有错误信息。
  • 测试工具:在 MCP 客户端(如 Claude for Desktop)中测试 ask_geminichat_with_gemini 工具是否正常工作。

许可证

该项目遵循 Unlicense 开源许可条款,请参阅 Unlicense 了解完整条款。