
MCP Gemini Server

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
手动安装
- 克隆/放置项目:确保
mcp-gemini-server
项目目录可访问。 - 安装依赖:
npm install
- 构建项目:
npm run build
- 配置 MCP 客户端:将服务器配置添加到 MCP 客户端的设置文件中(如
cline_mcp_settings.json
)。 - 重启 MCP 客户端:重启客户端以加载新配置。
调试方式
- 检查环境变量:确保
GOOGLE_GEMINI_API_KEY
和GOOGLE_GEMINI_MODEL
正确设置。 - 验证工具调用:使用示例工具调用测试服务器功能。
- 查看错误信息:根据
McpError
对象的code
和message
字段进行故障排除。