Gemini 编码 MCP 服务器
一个模型上下文协议 (MCP) 服务器,用于将代码生成请求转发到 Google Gemini API。该服务器使 AI 模型能够利用 Gemini 的能力,根据详细的项目设计文档生成高质量代码。
功能特性
- 无缝 Gemini 集成:将代码生成请求转发到 Google Gemini API
- 灵活配置:通过
config.json文件轻松配置 - 多语言支持:支持生成任何编程语言的代码
- 详细设计文档:接受全面的项目规格说明
- 生产就绪代码:生成完整、文档齐全、易于维护的代码
- 错误处理:强大的错误处理和验证机制
- 易于集成:生成的代码可直接应用到现有项目中
安装
前置要求
- Python 3.11 或更高版本
- uv 包管理器
- Google Gemini API 密钥
设置步骤
- 克隆或导航到项目目录:
cd gemini-for-coding-mcp- 使用 uv 安装依赖:
uv sync这将创建虚拟环境并安装所有必需的依赖项。
配置
- 编辑项目目录中的
config.json:
{
"gemini": {
"base_url": "https://generativelanguage.googleapis.com/v1beta",
"api_key": "YOUR_GEMINI_API_KEY_HERE",
"model_name": "gemini-2.0-flash-exp"
}
}- 配置参数说明:
- base_url:Gemini API 基础 URL(默认:https://generativelanguage.googleapis.com/v1beta) - api_key:你的 Gemini API 密钥(在 Google AI Studio 获取) - model_name:要使用的 Gemini 模型(例如:gemini-2.0-flash-exp、gemini-1.5-pro 等)
运行服务器
独立模式
直接运行 MCP 服务器:
uv run main.py与 MCP 客户端集成
将服务器添加到 MCP 客户端配置中(例如 Claude Desktop):
Claude Desktop 配置 (claude_desktop_config.json):
{
"mcpServers": {
"gemini-coding": {
"command": "uv",
"args": [
"--directory",
"D:\\下载\\gemini-for-coding-mcp",
"run",
"main.py"
]
}
}
}其他 MCP 客户端,请根据其文档调整配置。
使用说明
可用工具
1. generate_code
基于详细的项目设计文档使用 Gemini 生成代码。
参数:
project_design(必需):详细的项目设计文档,描述需求、架构、功能和实现细节programming_language(可选,默认:"python"):目标编程语言additional_context(可选):额外的上下文、约束或偏好
示例:
generate_code(
project_design="""
创建一个任务管理系统的 REST API,包含以下功能:
- 用户认证(基于 JWT)
- 任务的 CRUD 操作
- 任务分类和标签
- 截止日期追踪
- 优先级级别(高、中、低)
- 使用适当 HTTP 方法的 RESTful 端点
- 输入验证和错误处理
- 用户和任务的数据库模型
""",
programming_language="python",
additional_context="使用 FastAPI 框架、SQLAlchemy ORM 和 PostgreSQL 数据库"
)2. check_configuration
检查当前 Gemini API 配置状态。
返回:配置状态信息(Base URL、Model、脱敏的 API Key)
示例:
check_configuration()项目结构
gemini-for-coding-mcp/
├── main.py # MCP 服务器实现
├── config.json # 配置文件(Gemini API 设置)
├── pyproject.toml # Python 项目配置
├── uv.lock # 依赖锁定文件
├── .venv/ # 虚拟环境(由 uv 创建)
└── README.md # 本文件工作原理
- 接收请求:MCP 服务器接收包含详细项目设计文档的代码生成请求
- 格式化提示词:服务器为 Gemini 格式化全面的提示词,包括:
- 项目需求和规格说明 - 目标编程语言 - 额外的上下文和约束 - 代码质量要求
- API 调用:格式化的提示词通过 HTTPS 发送到 Gemini API
- 响应处理:服务器从 Gemini 的响应中提取生成的代码
- 返回结果:生成的代码返回给请求客户端,可直接应用到现有项目中
集成工作流
将此 MCP 服务器与 Claude 等 AI 助手一起使用时:
- 设计阶段:提供详细的项目设计文档
- 代码生成:助手使用设计规格调用
generate_code - 代码应用:助手分析生成的代码,并使用适当的工具(Edit、Write 等)将其应用到现有代码库中
- 验证:审查并测试集成的代码
MCP 服务器充当桥梁,允许 AI 助手利用 Gemini 的代码生成能力,同时完全控制代码如何集成到你的项目中。
开发
添加依赖
uv add 运行测试
uv run pytest代码风格
本项目遵循 PEP 8 Python 风格指南,并提供全面的文档。
故障排除
配置未加载
错误:Configuration not loaded. Please check config.json file.
解决方案:确保项目目录中存在 config.json 并包含有效的 Gemini API 设置。
API 认证错误
错误:Error calling Gemini API: 401 Unauthorized
解决方案:检查 config.json 中的 api_key 是否有效且处于活动状态。
模型未找到
错误:Error calling Gemini API: 404 Not Found
解决方案:验证 config.json 中的 model_name 是否正确,且在你的 Gemini API 访问级别中可用。
API 参考
Gemini API 兼容性
此服务器与以下格式的 Google Gemini API 端点兼容:
{base_url}/models/{model_name}:generateContent支持的 Gemini 模型:
gemini-2.0-flash-exp(推荐用于快速代码生成)gemini-1.5-progemini-1.5-flash- 其他即将推出的 Gemini 模型
安全注意事项
- API 密钥保护:保护你的
api_key安全,切勿将其提交到版本控制系统 - 配置文件:默认情况下
config.json文件已添加到.gitignore - 环境变量:在生产环境中,考虑使用环境变量来存储敏感配置
许可证
MIT License
贡献
欢迎贡献!请随时提交 Pull Request。
支持
如有问题、疑问或建议,请在 GitHub 仓库中提出 issue。
致谢
- 使用 FastMCP 构建
- 由 Google Gemini API 提供支持
- 依赖管理由 uv 完成
