Gemini计算机控制MCP服务器

一个实现Model Context Protocol(MCP)的服务器,集成了Google的Gemini API,提供计算机控制功能,包括屏幕捕获、输入控制和系统交互。

  • by IHABCHENINE-lang
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 IHABCHENINE-lang/mcp

使用说明

Gemini计算机使用MCP服务器

一种模型上下文协议(MCP)服务器实现,与谷歌的Gemini API集成,以实现计算机使用功能,包括屏幕捕捉、输入控制和系统交互。

特性

  • 文本生成:使用Gemini强大的人工智能模型生成文本响应
  • 计算机使用集成:通过Gemini执行计算机级操作
  • MCP协议支持:全面实施模型上下文协议规范
  • 异步操作:内置async/await以实现高效的请求处理
  • 错误处理:全面的错误处理和记录

先决条件

  • Python 3.8或更高版本
  • 访问Gemini API的Google API密钥
  • pip(Python包安装程序)

安装

1.克隆存储库

git clone https://github.com/IHABCHENINE-lang/mcp.git
cd mcp

2.设置Python虚拟环境(推荐)

# Create virtual environment
python3 -m venv venv

# Activate virtual environment
# On macOS/Linux:
source venv/bin/activate

# On Windows:
venv\Scripts\activate

3.安装依赖项

pip install google-generativeai

4.配置API密钥

你需要设置你的谷歌API密钥。您可以通过两种方式做到这一点:

选项A:环境变量

export GOOGLE_API_KEY="your-api-key-here"

选项B:作为参数传递 修改代码以将API密钥直接传递给 GeminiMCPServer 建设者。

获取Google API密钥

  1. 首选 谷歌AI工作室
  2. 使用您的Google帐户登录
  3. 单击“创建API密钥”
  4. 复制生成的密钥

用法

运行服务器

python server.py

服务器将启动并监听MCP请求。您应该看到:

2025-10-08 13:28:00 - __main__ - INFO - Starting Gemini Computer Use MCP Server...
2025-10-08 13:28:01 - __main__ - INFO - Gemini MCP Server initialized successfully
2025-10-08 13:28:01 - __main__ - INFO - Server ready and waiting for requests...

可用工具

MCP服务器公开了以下工具:

1.generate_text

使用Gemini AI生成文本。

参数:

  • prompt (string,必填):发送给Gemini的文本提示

例子:

{
  "name": "generate_text",
  "arguments": {
    "prompt": "Explain quantum computing in simple terms"
  }
}

2.计算机操作

通过Gemini执行计算机使用操作。

参数:

  • instruction (string,必填):计算机操作的指令

例子:

{
  "name": "computer_action",
  "arguments": {
    "instruction": "Open the calculator application"
  }
}

MCP协议方法

服务器实现以下MCP协议方法:

  • initialize:初始化MCP连接
  • tools/list:列出所有可用工具
  • tools/call:执行特定工具

项目结构

mcp/
├── server.py          # Main MCP server implementation
└── README.md          # This file

配置

模型选择

默认情况下,服务器使用 gemini-2.0-flash-exp。您可以在中修改模型 server.py:

self.model = genai.GenerativeModel('gemini-2.0-flash-exp')

可用型号:

  • gemini-2.0-flash-exp (建议计算机使用)
  • gemini-pro
  • gemini-pro-vision

日志级别

在中调整日志记录级别 server.py:

logging.basicConfig(
    level=logging.DEBUG,  # Change to DEBUG, INFO, WARNING, or ERROR
    format='%(asctime)s - %(name)s - %(levelname)s - %(message)s'
)

发展

以开发模式运行

对于开发,您可能需要添加额外的日志记录或调试:

PYTHON_ENV=development python server.py

测试

要测试服务器,您可以创建一个发送MCP请求的简单客户端:

import asyncio
import json

async def test_client():
    server = GeminiMCPServer()
    
    # Test initialize
    response = await server.handle_request({
        'method': 'initialize',
        'params': {}
    })
    print(json.dumps(response, indent=2))
    
    # Test list tools
    response = await server.handle_request({
        'method': 'tools/list',
        'params': {}
    })
    print(json.dumps(response, indent=2))

asyncio.run(test_client())

故障排除

“未找到谷歌generativeai软件包”

安装所需的软件包:

pip install google-generativeai

“必须提供Google API密钥”

确保您已设置 GOOGLE_API_KEY 环境变量:

export GOOGLE_API_KEY="your-api-key-here"

导入错误

确保你使用的是Python 3.8或更高版本:

python --version

安全说明

  • 永远不要提交API密钥 到版本控制
  • 将API密钥存储在环境变量或安全密钥管理系统中
  • 这 .gitignore 文件应包含常见模式,以避免提交敏感数据
  • 在生产环境中启用之前,请检查所有计算机使用操作

贡献

欢迎投稿!请随时提交拉取请求。

  1. 复刻仓库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add some amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

许可证

本项目按原样提供,用于教育和发展目的。

资源

支持

对于问题和疑问:

  • 在GitHub上打开一个问题
  • 检查现有问题的解决方案
  • 审查文件

备注:这是使用Gemini构建MCP服务器的入门模板。您可能需要根据您的特定用例扩展功能。