MCP Gemini Server

MCP Gemini Server

site icon
2025.04.09 1
TypeScript文本生成对话系统函数调用文件管理缓存优化内容生成
MCP Gemini Server 是一个基于 MCP(Model Context Protocol)标准的服务器,封装了 Google 的 Gemini 模型 SDK,为其他 LLM(如 Cline)或兼容 MCP 的系统提供标准化的工具接口。该服务器简化了与 Gemini 模型的集成,支持文本生成、函数调用、状态化聊天、文件处理和缓存等功能。
View on GitHub

Overview

基本能力

产品定位

MCP Gemini Server 是一个中间件,旨在通过 MCP 标准为其他语言模型或系统提供 Google Gemini 模型的能力。

核心功能

  • 核心生成:支持标准文本生成(gemini_generateContent)和流式文本生成(gemini_generateContentStream)。
  • 函数调用:允许 Gemini 模型请求执行客户端定义的函数(gemini_functionCall)。
  • 状态化聊天:管理多轮对话的上下文(gemini_startChat, gemini_sendMessage, gemini_sendFunctionResult)。
  • 文件处理:支持文件的上传、列表、检索和删除(gemini_uploadFile, gemini_listFiles, gemini_getFile, gemini_deleteFile)。
  • 缓存:支持创建、列表、检索、更新和删除缓存内容以优化提示(gemini_createCache, gemini_listCaches, gemini_getCache, gemini_updateCache, gemini_deleteCache)。

适用场景

  • 内容生成:如诗歌、文章、代码等文本生成。
  • 对话系统:支持多轮对话的聊天机器人。
  • 函数调用:通过模型触发客户端函数的执行。
  • 文件管理:与 Gemini 模型交互的文件上传和管理。
  • 缓存优化:通过缓存内容优化模型提示的响应效率。

工具列表

  • 核心生成工具gemini_generateContent, gemini_generateContentStream
  • 函数调用工具gemini_functionCall
  • 状态化聊天工具gemini_startChat, gemini_sendMessage, gemini_sendFunctionResult
  • 文件处理工具gemini_uploadFile, gemini_listFiles, gemini_getFile, gemini_deleteFile
  • 缓存工具gemini_createCache, gemini_listCaches, gemini_getCache, gemini_updateCache, gemini_deleteCache

常见问题解答

  • API 密钥无效:确保使用 Google AI Studio 的 API 密钥,Vertex AI 凭证不支持文件处理和缓存功能。
  • 参数错误:检查工具调用时是否缺少必填参数或数据类型错误。
  • 文件路径问题:上传文件时必须使用绝对路径。
  • 流式生成限制:当前 gemini_generateContentStream 实现为收集所有块后返回完整文本,不支持真正的流式传输。

使用教程

使用依赖

  • Node.js(v18 或更高版本)。
  • Google AI Studio 的 API 密钥(获取地址)。

安装教程

通过 Smithery 安装

npx -y @smithery/cli install @bsmi021/mcp-gemini-server --client claude

手动安装

  1. 克隆/放置项目:确保 mcp-gemini-server 项目目录可访问。
  2. 安装依赖
npm install
  1. 构建项目
npm run build
  1. 配置 MCP 客户端:将服务器配置添加到 MCP 客户端的设置文件中(如 cline_mcp_settings.json)。
  2. 重启 MCP 客户端:重启客户端以加载新配置。

调试方式

  • 检查环境变量:确保 GOOGLE_GEMINI_API_KEYGOOGLE_GEMINI_MODEL 正确设置。
  • 验证工具调用:使用示例工具调用测试服务器功能。
  • 查看错误信息:根据 McpError 对象的 codemessage 字段进行故障排除。

许可证

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