内容
# MCP Go Gemini Server
🚀 一个使用 Go 构建的 MCP (Model Context Protocol) 服务器,集成了 Google Gemini API,以提供先进的 AI 功能。
[](https://golang.org/)
[](LICENSE)
[](https://modelcontextprotocol.io/)
## ✨ 功能
- **🤖 文本生成**: 使用 Gemini 生成智能文本
- **🔍 代码分析**: 分析、解释和审查源代码
- **✍️ 文本改进**: 改进文本并提升质量
- **🌐 翻译**: 精确的多语言翻译
- **❓ 问答**: 高精度回答问题
- **⚡ 代码生成**: 从自然描述生成源代码
- **📄 文档摘要**: 智能文档摘要
## 🚀 快速安装
### 系统要求
- Go 1.21 及以上
- Gemini 的 API key(可在 [Google AI Studio](https://aistudio.google.com/app/apikey) 免费获取)
### 安装
```bash
# 克隆仓库
git clone <repository-url>
cd mcp-go-gemini
# 安装依赖
go mod tidy
# 设置 API key
export GEMINI_API_KEY="your-api-key-here"
# 构建并运行
go build -o mcp-go-gemini .
./mcp-go-gemini
```
或者使用快速脚本:
```bash
./start.sh
```
## 🛠 与 MCP 客户端一起使用
### Claude Desktop
将配置添加到 `claude_desktop_config.json`:
```json
{
"mcpServers": {
"mcp-go-gemini": {
"command": "/path/to/mcp-go-gemini",
"env": {
"GEMINI_API_KEY": "your-api-key"
}
}
}
}
```
### VS Code + Cline 扩展
1. 安装 Cline 扩展
2. 在设置中配置 MCP 服务器
3. 直接在 VS Code 中使用
## 📚 API 文档
### 可用工具
| 工具 | 描述 | 参数 |
|---------|-------|---------|
| `generate_text` | 生成文本 | `prompt`, `temperature`, `max_tokens` |
| `analyze_code` | 分析源代码 | `code`, `language`, `task` |
| `improve_text` | 改进文本 | `text`, `task` |
| `translate_text` | 翻译 | `text`, `source_language`, `target_language` |
| `answer_question` | 回答问题 | `question`, `context` |
| `generate_code` | 生成源代码 | `description`, `language`, `framework` |
| `summarize_document` | 文档摘要 | `content`, `length` |
### 使用示例
#### 生成文本
```json
{
"name": "generate_text",
"arguments": {
"prompt": "写一首关于编程语言 Go 的诗",
"temperature": 0.8
}
}
```
#### 分析源代码
```json
{
"name": "analyze_code",
"arguments": {
"code": "func main() { fmt.Println(\"Hello, World!\") }",
"language": "go",
"task": "explain"
}
}
```
#### 翻译
```json
{
"name": "translate_text",
"arguments": {
"text": "Hello, world!",
"source_language": "English",
"target_language": "Vietnamese"
}
}
```
更多信息请参见 [API Reference](API_REFERENCE.md)
## 📁 项目结构
```
mcp-go-gemini/
├── main.go # 入口点
├── internal/
│ ├── gemini/ # Gemini API 集成
│ │ └── client.go
│ ├── handlers/ # 工具处理程序
│ │ └── handlers.go
│ └── config/ # 配置
│ └── config.go
├── examples/ # 使用示例
├── docs/ # 文档
├── Dockerfile # Docker 配置
├── docker-compose.yml # Docker Compose
├── Makefile # 构建自动化
└── README.md
```
## 🧪 测试
运行测试以检查功能:
```bash
# 单元测试
go test ./...
# 与真实 API 的集成测试
go run test_client.go
# 构建测试
make test
```
## 🐳 Docker 支持
```bash
# 构建镜像
docker build -t mcp-go-gemini .
# 使用 docker-compose 运行
docker-compose up -d
```
## 🔧 开发
### 构建命令
```bash
make build # 构建二进制文件
make run # 构建并运行
make clean # 清理构件
make test # 运行测试
make lint # 代码检查
```
### 代码结构
- `internal/gemini/`: Gemini API 客户端和包装器
- `internal/handlers/`: MCP 工具处理程序
- `internal/config/`: 配置管理
- `main.go`: 服务器初始化和工具注册
## 🚦 性能
- **响应时间**: 大约 1-3 秒用于大多数操作
- **并发性**: 线程安全,支持多个客户端
- **内存**: 大约 10-50MB 的运行时使用
- **速率限制**: 遵循 Gemini API 限制
## 🔐 安全
- ✅ 通过环境变量传递 API key
- ✅ 输入验证和清理
- ✅ 安全的错误处理
- ✅ 不记录敏感数据
- ✅ 所有 API 调用使用 HTTPS
## 📋 故障排除
### 常见错误
1. **"GEMINI_API_KEY not set"**
- 确保已设置环境变量
- 检查 API key 是否有效
2. **"Failed to create client"**
- 检查互联网连接
- 在 Google AI Studio 验证 API key
3. **构建错误**
- 确保 Go 版本为 1.21 及以上
- 运行 `go mod tidy`
更多信息请参见 [Installation Guide](INSTALLATION.md)
## 🤝 贡献
1. Fork 项目
2. 创建功能分支 (`git checkout -b feature/amazing-feature`)
3. 提交更改 (`git commit -m 'Add amazing feature'`)
4. 推送到分支 (`git push origin feature/amazing-feature`)
5. 打开 Pull Request
## 📄 许可证
根据 MIT 许可证分发。有关更多信息,请参见 `LICENSE`。
## 🙏 致谢
- [Google Gemini API](https://ai.google.dev/) - 强大的 AI 能力
- [MCP Go](https://github.com/mark3labs/mcp-go) - 优秀的 MCP 实现
- [Model Context Protocol](https://modelcontextprotocol.io/) - 开放标准
## 📞 支持
- 📧 邮箱: [your-email]
- 🐛 问题: [GitHub Issues]
- 💬 讨论: [GitHub Discussions]
- 📖 文档: [完整文档]
---
**用 ❤️ 和 Go 制作** • **由 Gemini AI 提供支持** • **MCP 兼容**