浏览器控制代理服务

一个基于Gemini Computer Use的MCP服务器,用于构建和控制浏览器代理,实现自动化UI操作。

  • by block-88
  • TypeScript
  • 混合部署
  • 更新于
在 GitHub 查看 inkr-global/gemini-computer-use-mcp

使用说明

双子座电脑使用MCP(注:MCP在此处可能代表某种特定的软件、系统或协议,具体含义需根据上下文确定,但中文翻译中保留了原英文缩写)

一个用于构建基于Gemini计算机使用的浏览器控制代理的MCP(模型上下文协议)服务器。此项目使代理能够在浏览器中规划和执行用户界面操作。

✨ 特点/功能

  • 计算机使用(浏览器控制): 提供一个MCP工具(run_browser_task) 指示浏览器使用Gemini计算机使用模型执行一项高级任务。
  • 生成式人工智能集成: 利用 @google/genai 用于规划和执行计算机使用步骤。
  • stdio 传输: 使用标准的MCP stdio传输机制进行通信。

在官方文档中了解更多关于Gemini计算机使用的信息: 双子座的计算机使用

📚 目录

🚀 使用方法

这个项目作为MCP服务器运行。它通常由MCP客户端或控制器调用。

连接MCP客户端

将您的MCP客户端指向此服务器的可执行文件。如果您的客户端支持配置文件,请使用以下配置:

stdio 模式

// .mcp.json
{
  "mcpServers": {
    "gemini-computer-use": {
      "type": "stdio",
      "timeout": 300,
      "command": "npx",
      "args": ["--yes", "gemini-computer-use-mcp@latest"],
      "env": {
        "VERTEX_PROJECT_KEY": "vertex-project-key"
      }
    }
  }
}
# ~/.codex/config.toml
tool_timeout_sec = 300

[mcp_servers.gemini-computer-use]
command = "npx"
args = ["--yes", "gemini-computer-use-mcp@latest"]

[mcp_servers.gemini-computer-use.env]
VERTEX_PROJECT_KEY = "vertex-project-key"

SSE模式

使用以下命令启动服务器:

VERTEX_PROJECT_KEY=vertex-project-key npx --yes gemini-computer-use-mcp@latest --server

然后添加:

// .mcp.json
{
  "mcpServers": {
    "gemini-computer-use": {
      "type": "sse",
      "timeout": 300,
      "url": "http://localhost:8888/sse"
    }
  }
}

可流式传输的HTTP模式

使用以下命令启动服务器:

VERTEX_PROJECT_KEY=vertex-project-key npx --yes gemini-computer-use-mcp@latest --server

然后添加:

// .mcp.json
{
  "mcpServers": {
    "gemini-computer-use": {
      "type": "http",
      "timeout": 300,
      "url": "http://localhost:8888/mcp"
    }
  }
}
# ~/.codex/config.toml
tool_timeout_sec = 300

[mcp_servers.gemini-computer-use]
url = "http://localhost:8888/mcp"

环境变量

变量 描述 必填 默认值
VERTEX_PROJECT_KEY Vertex AI 项目密钥(优先于 GEMINI_API_KEY) 是的,除非 GEMINI_API_KEY 被设置
GEMINI_API_KEY 您的Gemini API密钥 是的,除非 VERTEX_PROJECT_KEY 已设置
MODEL 要使用的模型ID 无 gemini-2.5-computer-use-preview-10-2025
PROJECT_PATH 某些工具使用的文件系统路径(默认为当前工作目录) 否 (当前工作目录)
PORT 要使用的服务器端口(仅适用于可流式传输的HTTP) 否 8888

注:任选其一 GEMINI_API_KEY 或者 VERTEX_PROJECT_KEY 必须提供(见 src/helpers/config.ts)。

工具

一旦连接成功,客户端即可调用此服务器提供的工具。

run_browser_task

参数 描述 必需 默认值
task 要执行的高级任务 是

这个工具利用Gemini计算机使用能力来规划和执行用户界面(UI)操作,以完成给定的任务。它实现了:

  • 自动浏览器管理: 检查现有浏览器 localhost:9222 或者启动一个新实例
  • 代理循环: 持续捕获屏幕截图,将截图发送给Gemini,接收UI操作指令并执行
  • 所有支持的用户界面操作: 鼠标移动、点击、键盘输入、滚动、文本提取等
  • 安全指南: 遵循官方文档中关于Gemini的安全最佳实践

请参阅官方关于功能和安全考量的指南: 双子座与计算机使用。

⚙️ 开发

先决条件

  • Git(一种分布式版本控制系统)

步骤

  1. 安装依赖项:

    npm install
    
  2. 配置:

    • 设定 GEMINI_API_KEY 或者 VERTEX_PROJECT_KEY可选设置 MODEL 并且 PROJECT_PATH。
  3. 运行:

    • 在集成开发环境(IDEs)中: 重新加载窗口并检查MCP是否已连接
    • 手动: 跑 ./run 在你的终端中

💻 技术栈

📜 许可证

这个项目采用MIT许可证授权——详见 许可证 详情请见文件。 版权所有 (c) 2025 科哈·阮(Khoa Nguyen,此处为音译,具体译名可能因个人习惯或官方翻译而异)

📧 联系方式