mcpField
R
Robotgo Mcp

Robotgo Mcp

ローカル
github.com/lian-yangその他333 週間前に更新

Robotgo Mcp について

Robotgo Mcpは、robotgoを使ったデスクトップ自動化向けのGo製MCPサーバーです。画面、マウス、キーボード、クリップボード、プロセス、ウィンドウを操作でき、stdioとSSEに対応します。

主な機能

  1. 01マウスの移動、クリック、スクロール、ドラッグ
  2. 02キーボード入力とキーの組み合わせ
  3. 03スクリーンショット、画面サイズ、ピクセル色
  4. 04クリップボードの読み書き
  5. 05プロセスとウィンドウの管理
  6. 06SSE認証付きのstdioおよびSSEトランスポート

活用シーン

  1. 01画面のキャプチャやピクセル色の確認
  2. 02マウスとキーボード操作の自動化
  3. 03クリップボード内容の読み取りや更新
  4. 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

⚙️ 配置

命令行参数
参数环境变量默认值说明
--transportROBOTGO_TRANSPORTstdio传输方式 (stdio/sse)
--portROBOTGO_PORT8080SSE 端口
--hostROBOTGO_HOST127.0.0.1SSE 绑定地址
--auth-tokenROBOTGO_AUTH_TOKEN""SSE 认证令牌
--log-levelROBOTGO_LOG_LEVELinfo日志级别
--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 上,需要授予辅助功能权限:

  1. 系统偏好设置 → 安全性与隐私 → 隐私
  2. 选择"辅助功能"
  3. 添加终端或您的应用程序到列表中
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!

🙏 致谢

  • robotgo - Go 跨平台桌面自动化库
  • mcp-go - Go 语言的 MCP SDK

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。