使用说明
集成Google Gemini的快速MCP服务器
一个使用FastAPI构建的全面模型上下文协议(MCP)服务器,该服务器与Google Gemini CLI集成,用于实现AI驱动的任务管理和数据处理。
🚀 功能
- 基于FastAPI的MCP服务器高性能异步服务器,运行在5000端口
- Google Gemini 集成与Gemini CLI无缝集成以获取AI响应
- 任务管理工具完成任务管理的全部CRUD操作
- 数据分析任务统计和CSV导出功能
- 全面日志记录基于JSON的操作日志记录,用于追踪和调试
- **命令行界面(CLI)**用于服务器交互的易用命令行工具
- **RESTful API(Representational State Transfer(表述性状态转移)应用程序编程接口)**完整的API文档,配备Swagger UI
- 生产就绪模块化、简洁且文档齐全的代码
📋 前提条件
- Python 3.8或更高版本
- Google Gemini CLI 已安装并配置完毕
- curl(用于命令行界面操作)
- Git(用于克隆仓库)
🛠️ 安装
1. 克隆仓库
git clone <repository-url>
cd FAST_MCP
2. 创建虚拟环境
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
3. 安装依赖项
pip install -r requirements.txt
4. 安装Google Gemini命令行界面(CLI)
遵循官方的Gemini CLI安装指南:
确保Gemini CLI已正确配置您的API密钥。
🚀 快速入门
启动服务器
./mcp_cli.sh start
服务器将在 http://localhost:5000
检查服务器状态
./mcp_cli.sh status
列出可用工具
./mcp_cli.sh list
使用MCP工具
# List all tasks
./mcp_cli.sh run list_tasks
# Create a new task
./mcp_cli.sh run create_task "Implement authentication" "Add JWT-based auth" "high"
# Update task status
./mcp_cli.sh run update_task_status 1 "in_progress"
# Search tasks
./mcp_cli.sh run search_tasks "authentication"
# Get task statistics
./mcp_cli.sh run get_task_statistics
# Export tasks to CSV
./mcp_cli.sh run export_tasks_to_csv
与Gemini互动
./mcp_cli.sh gemini "What are the best practices for API security?"
查看日志
./mcp_cli.sh logs
停止服务器
./mcp_cli.sh stop
📚 API 文档
服务器运行后,请访问:
- Swagger UIhttp://localhost:5000/docs 翻译为中文是:“本地主机上的5000端口文档页面”
- **ReDoc(注:ReDoc是一个用于生成API文档的开源工具,但在此上下文中,它可能仅作为一个专有名词或特定项目/系统的名称,因此直接翻译为“ReDoc”保持其原名)**http://localhost:5000/redoc 翻译为中文是:“本地主机:5000 端口上的 Redoc(文档浏览器)”。不过,通常我们不会直接翻译网址,而是说明其用途或指向的内容,比如:“访问本地运行的 Redoc 文档界面,网址为 http://localhost:5000/redoc”
🔧 可用的MCP工具
1. list_tasks
- 描述列出所有任务,并可选择性地应用状态过滤
- 参数:
status_filter(可选):按状态过滤(待处理、进行中、已完成)
- 示例:
./mcp_cli.sh run list_tasks pending
2. create_task
- 描述创建一个新任务
- 参数:
title(必填):任务标题description(必填):任务描述priority(可选):优先级(低、中、高)assigned_to(可选):分配任务的用户ID
- 示例:
./mcp_cli.sh run create_task "New Feature" "Implement user dashboard" "high" "dev1"
3. update_task_status
- 描述更新现有任务的状态
- 参数:
task_id(必填):要更新的任务的IDnew_status(必填):新状态(待处理、进行中、已完成)
- 示例:
./mcp_cli.sh run update_task_status 1 "completed"
4. get_task_statistics
- 描述获取全面的任务统计和分析
- 参数无
- 示例:
./mcp_cli.sh run get_task_statistics
5. search_tasks
- 描述按标题或描述搜索任务
- 参数:
query(必填):搜索查询字符串
- 示例:
./mcp_cli.sh run search_tasks "authentication"
6. export_tasks_to_csv
- 描述将所有任务导出到CSV文件
- 参数无
- 示例:
./mcp_cli.sh run export_tasks_to_csv
🤖 Gemini 集成
该服务器与Google Gemini CLI集成,以提供基于人工智能的响应:
特点/特性
- 多轮对话在交互过程中保持上下文连贯性
- 错误处理优雅地处理CLI故障和超时
- 记录日志所有Gemini的交互都被记录下来以便追踪
- 超时保护30秒超时设置以防止请求挂起
使用示例
# Technical questions
./mcp_cli.sh gemini "How do I implement JWT authentication in FastAPI?"
# Code review
./mcp_cli.sh gemini "Review this Python function for best practices"
# Documentation help
./mcp_cli.sh gemini "Generate API documentation for a task management system"
📁 项目结构
FAST_MCP/
├── server.py # Main FastAPI server
├── requirements.txt # Python dependencies
├── mcp_cli.sh # CLI interface script
├── sample_data.json # Sample task data
├── README.md # This file
├── venv/ # Virtual environment (created during setup)
├── server.log # Server logs (created when running)
├── mcp_logs.json # MCP operation logs (created when running)
└── tasks_export_*.csv # Exported CSV files (created when exporting)
🔍 日志记录和监控
操作日志
所有MCP工具调用和Gemini交互都被记录到 mcp_logs.json:
{
"timestamp": "2024-01-17T10:30:00Z",
"operation": "mcp_tool_call",
"tool_name": "create_task",
"success": true,
"result": {...},
"error": null
}
服务器日志
服务器日志被写入 server.log 并包括:
- 服务器启动/关闭事件
- 请求/响应详情
- 错误消息和堆栈跟踪
- 性能指标
健康监测
随时检查服务器健康状况:
./mcp_cli.sh health
🛡️ 错误处理
服务器包含全面的错误处理机制:
- 工具验证验证工具名称和参数
- 数据持久化优雅地处理文件I/O错误
- Gemini CLI 集成管理CLI故障和超时
- HTTP 错误适当的HTTP状态码和错误信息
- 记录日志所有错误都被记录下来以供调试
🔧 配置
服务器配置
- 端口5000(可配置于
server.py) - 主持人0.0.0.0(所有接口)
- 数据文件:
sample_data.json - 日志文件:
mcp_logs.json
Gemini CLI 配置
确保Gemini CLI已正确配置:
gemini config set api_key YOUR_API_KEY
🚀 部署
发展
./mcp_cli.sh start
生产
对于生产部署,请考虑:
- 使用像PM2或systemd这样的进程管理器
- 使用Nginx设置反向代理
- 实施适当的认证措施
- 添加速率限制
- 建立监控和警报系统
🧪 测试
手动测试
- 启动服务器:
./mcp_cli.sh start - 测试每种工具:
./mcp_cli.sh run <tool_name> - 测试Gemini集成:
./mcp_cli.sh gemini "test prompt" - 检查日志:
./mcp_cli.sh logs - 验证健康状况:
./mcp_cli.sh health
API测试
请使用位于 http://localhost:5000/docs 的 Swagger UI 直接测试 API 端点。
📊 样本数据
该项目包括 sample_data.json 与;带着;用
- 5个示例任务 具有不同的状态和优先级
- 4个用户配置文件 包含角色和部门
- 2个项目定义 带有团队分配
🤝 贡献
- 为仓库创建分支(或:克隆仓库)
- 创建一个特性分支:
git checkout -b feature-name - 进行你的更改
- 彻底测试
- 提交您的更改:
git commit -m "Add feature" - 推送至分支:
git push origin feature-name - 提交一个拉取请求
📝 许可证
此项目采用MIT许可证授权——详情请参见LICENSE文件。
🆘 故障排除
常见问题
-
服务器无法启动
- 检查端口5000是否可用
- 验证虚拟环境是否已激活
- 检查
server.log以获取错误详情
-
未找到Gemini CLI
- 安装Gemini CLI:
pip install google-generativeai - 配置API密钥:
gemini config set api_key YOUR_KEY
- 安装Gemini CLI:
-
对 mcp_cli.sh 的访问被拒绝
- 生成可执行文件:
chmod +x mcp_cli.sh
- 生成可执行文件:
-
数据文件错误
- 检查文件权限
- 验证JSON格式
sample_data.json
寻求帮助
- 检查日志:
./mcp_cli.sh logs - 查看服务器日志:
tail -f server.log - 测试服务器健康状况:
./mcp_cli.sh health - 查看API文档:http://localhost:5000/docs
🎯 路线图
- [ ] 添加用户认证和授权
- [ ] 实现实时通知
- [ ] 添加更多MCP工具(文件处理、电子邮件等)
- [ ] 创建网页仪表板
- [ ] 添加单元测试和集成测试
- [ ] 实施缓存以提高性能
- [ ] 添加Docker支持
- [ ] 创建CI/CD流水线
📞 支持
如需支持或有疑问:
- 在仓库中创建一个问题
- 查看故障排除部分
- 查看API文档
使用 FastAPI 和 Google Gemini 构建,倾注爱意
