Robotgo Mcp について
Robotgo Mcpは、robotgoを使ったデスクトップ自動化向けのGo製MCPサーバーです。画面、マウス、キーボード、クリップボード、プロセス、ウィンドウを操作でき、stdioとSSEに対応します。
主な機能
- 01マウスの移動、クリック、スクロール、ドラッグ
- 02キーボード入力とキーの組み合わせ
- 03スクリーンショット、画面サイズ、ピクセル色
- 04クリップボードの読み書き
- 05プロセスとウィンドウの管理
- 06SSE認証付きのstdioおよびSSEトランスポート
活用シーン
- 01画面のキャプチャやピクセル色の確認
- 02マウスとキーボード操作の自動化
- 03クリップボード内容の読み取りや更新
- 04プロセスの検索やウィンドウの操作
MCP 対応
MCPサーバーとして、AIクライアントに画面、マウス、キーボード、クリップボード、プロセス、ウィンドウの操作ツールを提供します。stdioとSSEに対応し、SSEではBearer Token認証を利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
プロジェクトの README よりRobotGo MCP Server
一个基于 Go 语言的 MCP (Model Context Protocol) 服务器,使用 robotgo 自动化库实现桌面自动化功能。这个服务允许 AI 客户端(如 Claude Desktop)通过 MCP 协议控制鼠标、键盘、屏幕等桌面元素。
✨ 特性
- 🖱️ 鼠标控制: 移动、点击、滚动、拖拽
- ⌨️ 键盘控制: 输入文本、按键、组合键
- 📸 屏幕操作: 截图、获取屏幕尺寸、获取像素颜色
- 📋 剪贴板: 读写剪贴板内容
- 🔄 进程管理: 列出、查找、终止进程
- 🪟 窗口管理: 获取、激活、关闭、最小化、最大化窗口
- 🔌 双传输模式: 支持 stdio 和 SSE 传输
- 🔐 SSE 认证: Bearer Token 认证支持
- 📊 结构化日志: JSON 格式日志输出
🚀 快速开始
安装
使用 go install(推荐):
go install github.com/lian-yang/robotgo-mcp/cmd/robotgo-mcp@latest
安装后,可执行文件会在 $GOPATH/bin 或 $HOME/go/bin 目录中。
从源码构建:
# 克隆仓库
git clone https://github.com/lian-yang/robotgo-mcp.git
cd robotgo-mcp
# 编译
make build
运行
stdio 模式(推荐用于 Claude Desktop):
./robotgo-mcp --transport=stdio
SSE 模式(用于远程访问):
./robotgo-mcp --transport=sse --port=8080 --auth-token=your-secret-token
配置 Claude Desktop
在 Claude Desktop 配置文件中添加:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"robotgo": {
"command": "/path/to/robotgo-mcp",
"args": ["--transport=stdio"]
}
}
}
📖 使用示例
屏幕截图
使用 screen:capture 工具截取整个屏幕
鼠标操作
使用 mouse:move 移动鼠标到坐标 (100, 200)
使用 mouse:click 点击鼠标左键
使用 mouse:scroll 向下滚动 10 个单位
键盘输入
使用 keyboard:type 输入 "Hello, World!"
使用 keyboard:hotkey 执行 Ctrl+C 复制操作
进程管理
使用 process:list 列出所有进程
使用 process:find 查找名称包含 "chrome" 的进程
使用 process:kill 终止 PID 为 1234 的进程
🛠️ 可用工具
屏幕工具 (Screen)
screen:capture- 截取屏幕或指定区域screen:get_size- 获取屏幕尺寸screen:get_pixel- 获取指定位置像素颜色
鼠标工具 (Mouse)
mouse:move- 移动鼠标mouse:click- 点击鼠标按钮mouse:scroll- 滚动鼠标滚轮mouse:drag- 拖拽鼠标mouse:get_position- 获取鼠标位置
键盘工具 (Keyboard)
keyboard:type- 输入文本keyboard:tap- 按下并释放单个键keyboard:hotkey- 执行组合键keyboard:press- 按下并保持keyboard:release- 释放按键
剪贴板工具 (Clipboard)
clipboard:get- 读取剪贴板clipboard:set- 写入剪贴板clipboard:clear- 清空剪贴板
进程工具 (Process)
process:list- 列出所有进程process:find- 查找进程process:kill- 终止进程
窗口工具 (Window)
window:get_active- 获取活动窗口window:set_active- 设置活动窗口window:close- 关闭窗口window:minimize- 最小化窗口window:maximize- 最大化窗口window:get_title- 获取窗口标题
完整文档请查看 docs/tools.md
⚙️ 配置
命令行参数
| 参数 | 环境变量 | 默认值 | 说明 |
|---|---|---|---|
--transport | ROBOTGO_TRANSPORT | stdio | 传输方式 (stdio/sse) |
--port | ROBOTGO_PORT | 8080 | SSE 端口 |
--host | ROBOTGO_HOST | 127.0.0.1 | SSE 绑定地址 |
--auth-token | ROBOTGO_AUTH_TOKEN | "" | SSE 认证令牌 |
--log-level | ROBOTGO_LOG_LEVEL | info | 日志级别 |
--debug | - | false | 启用调试模式 |
🔧 开发
系统要求
- Go 1.21+
- GCC (robotgo 依赖)
构建
go build -o robotgo-mcp ./cmd/robotgo-mcp
测试
# 使用 MCP Inspector 测试
npx @modelcontextprotocol/inspector ./robotgo-mcp
# 手动测试
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | ./robotgo-mcp
⚠️ 权限说明
macOS
在 macOS 上,需要授予辅助功能权限:
- 系统偏好设置 → 安全性与隐私 → 隐私
- 选择"辅助功能"
- 添加终端或您的应用程序到列表中
Linux
在 Linux 上,可能需要安装额外的依赖:
# Ubuntu/Debian
sudo apt-get install libx11-dev libxrandr-dev libxtst-dev
# Fedora
sudo dnf install libX11-devel libXrandr-devel libXtst-devel
Windows
Windows 通常不需要额外配置。
📝 许可证
MIT License
🤝 贡献
欢迎提交 Issue 和 Pull Request!
🙏 致谢
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。