Computer-Controller-Bridg
Provides an optional external VLM adapter that sends screenshots to an OpenAI-compatible chat/completions endpoint for whole-image descriptions, icon recognition, and coordinate-based element localization. This integration is disabled by default and screenshots are only sent when explicitly enabled.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Computer-Controller-BridgOpen Notepad, type a short note, then press Ctrl+S to save."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Computer Controller Bridge 又名 Codex操(作)伴(侣)
一个运行在 Windows 本机的轻量级电脑控制服务:通过 MCP(Model Context Protocol,stdio 传输)把真实的鼠标、键盘与屏幕理解能力暴露给 AI 客户端(如 Codex、Claude 等支持 MCP 的应用)。
适合场景:让 AI 助手在受控的本机桌面上完成“看屏幕 → 定位 → 点击/输入 → 验证结果”的自动化操作,例如打开应用、填表、拖拽文件、发送消息、按快捷键保存等。
注意:本工具可真实操控电脑。请仅在你拥有或已获授权的机器与环境中使用,重要、不可逆的操作(删除、支付、关机等)请务必人工确认。
运行平台:Windows 10 / 11(x64)
环境要求:Python 3.11+
输入后端:Windows SendInput(系统级输入)
传输方式:MCP stdio(本机使用,不提供远程访问)
功能特性
鼠标:移动、单击 / 双击 / 右键 / 中键、按下与松开、拖拽、长按、滚动、位置查询
键盘:Unicode 文本输入(中文 / emoji)、组合快捷键、单键点按 / 长按
屏幕理解:截图 + 结构化读屏(窗口列表、UIA 可交互元素、本地 OCR 文本,均带物理像素坐标)
可选外接视觉模型(VLM):通过任意 OpenAI 兼容的
chat/completions接口做整体描述、图标识别与带坐标的元素定位(默认关闭)组合定位工具
find_text:本地 OCR → UIA 名称 → VLM 兜底,一次返回全部匹配位置安全兜底:全局急停热键、动作超时、崩溃后看门狗自动释放按键、操作审计日志
一键启停:
start.bat/stop.bat,可选托盘图标、开机自启
Related MCP server: atomic-computer-mcp
架构概览
AI 客户端 (Codex 等)
│ MCP (stdio)
▼
MCP 服务层 (FastMCP) ← 工具注册、参数校验、统一返回
│
├── 核心输入层 (SendInput)
│ 鼠标 / 键盘 / 动作调度(拖拽、长按,可被急停中断)
├── 屏幕理解层
│ 窗口枚举 / UIA 元素树 / 本地 OCR / 截图
├── 可选外接 VLM 适配器(默认关闭,截图不外发)
└── 安全层
急停热键 / 看门狗 / 审计日志所有坐标统一使用物理像素 + Windows 虚拟桌面坐标系(主屏左上角为原点,副屏可为负坐标),保证“截图上的位置 = 鼠标落点”。
目录结构
computer-controller/
├─ README.md 使用与开发说明(本文件)
├─ config.example.json 配置模板(复制为 config.json 使用,无密钥)
├─ requirements.txt 运行依赖(版本锁定)
├─ requirements-dev.txt 测试依赖
├─ .gitignore
├─ src/
│ ├─ main.py 服务入口:自检 → 安全层 → 托盘 → MCP stdio
│ ├─ core/ 鼠标、键盘、截图、窗口、UIA、OCR、动作调度、坐标
│ ├─ server/ MCP 服务层、参数 Schema、配置加载与校验、日志
│ ├─ safety/ 急停热键、看门狗、审计日志
│ ├─ vision/ 外接 VLM 适配器(默认关闭)
│ └─ ui/ 托盘图标
├─ tests/ 单元测试(154 个用例)
└─ scripts/
├─ start.bat / start-admin.bat / stop.bat / install.bat
└─ step*_check.py 等 真机验证脚本(可选)快速开始
1. 准备环境
安装 Python 3.11 或更高版本,安装时勾选 Add python.exe to PATH。
2. 获取配置
首次启动前把配置模板复制为实际配置(也可以直接运行 start.bat,脚本会自动完成这一步):
copy config.example.json config.jsonconfig.json 已加入 .gitignore,不会也不应提交到仓库。
3. 启动服务
双击运行 scripts\start.bat:
首次运行会自动创建虚拟环境
.venv并安装依赖(需要几分钟);启动成功后项目根目录生成
status.json,托盘区出现绿色圆点图标;如需控制管理员权限的应用(UAC 弹窗、管理员程序),改用
scripts\start-admin.bat。
4. 接入 MCP 客户端
在任意支持 MCP(stdio)的客户端中注册本项目,启动命令为:
<项目目录>\.venv\Scripts\python.exe src\main.py工作目录设为项目根目录。以 Codex 为例,配置完成后即可直接对话,例如:
打开记事本,输入一段中文,然后按 Ctrl+S 保存。
5. 停止服务
双击 scripts\stop.bat,或右键托盘图标 → 立即停止。服务会优雅退出并释放所有按键。
可选:运行 scripts\install.bat 创建桌面快捷方式并注册登录自启。
MCP 工具总览
所有工具返回统一结构 {ok, message, data, duration_ms}(screenshot 直接返回 PNG 图片)。
类别 | 工具 | 说明 |
鼠标 |
| 平滑移动(可被急停中断) |
鼠标 |
| 单击 / 双击 / 右键 |
鼠标 |
| 按住 / 松开原语 |
鼠标 |
| 拖拽(可被急停中断) |
鼠标 |
| 长按(可被急停中断) |
鼠标 |
| 滚动滚轮 |
鼠标 |
| 查询鼠标位置 |
键盘 |
| 输入文本(中文 / emoji) |
键盘 |
| 组合快捷键 |
键盘 |
| 单键点按 / 长按 |
屏幕 |
| 截取全屏并返回图片 |
屏幕 |
| 屏幕布局 / DPI 信息 |
屏幕 |
| 结构化读屏:窗口 + 可交互元素 + 文本(含坐标) |
屏幕 |
| 外接 VLM:整体 / 区域描述或结构化元素定位(默认关闭) |
屏幕 |
| 按文本定位:OCR → UIA → VLM 兜底 |
其他 |
| 等待(可被急停中断) |
安全 |
| 急停:中止动作、释放按键、拒绝新指令 |
其他 |
| 环境自检(dry-run) |
结构化读屏(screen_analyze)
返回内容包含:
windows:可见顶层窗口(标题、类名、矩形、PID、是否前台);elements:UIA 可交互元素(按钮 / 输入框 / 菜单等,带名称与坐标);texts:本地 OCR 识别的文本(含坐标);enabled/degraded/reasons:本次启用层、请求了但不可用的层及其原因。
定位建议顺序:先用 screen_analyze 看窗口 → 用 UIA / OCR 找目标 → 对定位不到的自绘控件 / 图标再用 vlm_describe(structured=true)。每次操作前后各观察一次并验证结果,不要假设操作成功。
配置说明
config.example.json 中常用字段:
配置项 | 说明 |
| 全局急停热键组合,默认 |
| 预留的敏感操作确认开关 |
| 单个动作最大时长(秒),超时自动中止并释放按键 |
| 为 |
|
|
| 外接 VLM 总开关(默认 |
| OpenAI 兼容的 VLM 接口地址(默认留空,自行填写) |
| VLM API 密钥(也可通过环境变量覆盖) |
| 视觉模型名(代码内置示例模型名,可替换为其他 OpenAI 兼容模型) |
| 日志级别:debug / info / warning / error |
VLM 密钥支持环境变量覆盖(优先级高于配置文件),避免把密钥写进 config.json:
set SILICONFLOW_API_KEY=your-key-here隐私提醒:启用
screen.vlm后,截图会被发送到你配置的外部端点。该功能默认关闭;请仅在明确知情并同意后开启,并把 API 密钥保存在环境变量或本地config.json中,不要提交到仓库。
安全设计
急停热键:任何时刻按
Ctrl+Alt+Shift+Esc立即中止拖拽 / 长按 / 文本输入等动作,释放所有按键与鼠标按钮,并把鼠标移回屏幕中心;再按一次复位。工具级急停:
emergency_stop在任何急停状态下仍可调用,与热键等效。看门狗:即使服务进程被强杀(例如任务管理器结束),独立看门狗子进程也会根据状态文件自动释放按键,避免“键卡住”。
动作超时:动作默认 30 秒超时自动中止(可配置),防止长时间失控。
审计日志:每次工具调用写入
logs/audit-YYYYMMDD.jsonl,便于追溯。权限边界:普通权限下无法向管理员(更高权限)窗口发送输入(Windows UIPI 限制);需要控制这类窗口时用管理员方式启动。
开发与测试
:: 安装开发依赖(虚拟环境需先由 start.bat 创建)
.venv\Scripts\python.exe -m pip install -r requirements-dev.txt
:: 运行全部单元测试
.venv\Scripts\python.exe -m pytest tests -q单元测试不依赖真实屏幕与外部服务(154 个用例)。scripts/ 下另有面向真实桌面的可选验证脚本(step*_check.py、poc_check.py),运行时会真实移动鼠标 / 按键,请在无重要任务的桌面上执行;step13_check.py、bench_vlm.py 需要自行配置 VLM 密钥并会真实调用外部接口、产生少量费用。
常见问题
提示找不到 Python:安装 Python 3.11+ 并勾选 “Add python.exe to PATH”。
托盘图标不显示:展开系统托盘“隐藏图标”,或查看
logs\server.log;托盘不可用不影响服务。按键卡住 / 服务崩溃后仍有残留:按急停热键;进程已不在时看门狗会自动释放;仍异常可运行
stop.bat或重启电脑。杀毒软件拦截:本项目使用系统级 SendInput API,请将项目目录加入信任列表。
虚拟 / 远程桌面下拖不动窗口标题栏:这是注入式输入的环境限制;应用内拖拽、控件拖拽不受影响。
免责声明
本项目仅用于受控环境下的桌面自动化。使用者须确保拥有对目标机器的操作权限,并对所有操作及其后果负责。作者不对因误用、误操作造成的任何数据损失或安全事件承担责任。
This server cannot be deployed
Maintenance
Related MCP Connectors
Eyes and hands on real Windows PCs — observe, click, type via Glasswarp API.
Connect AI assistants to authorized Windows and macOS devices for files, commands, and management.
OCR, transcription, file extraction, and image generation for AI agents via MCP.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI clients to automate Windows desktop applications through window manipulation, image recognition, OCR, keyboard/mouse simulation, and memory operations via the MCP protocol.MIT
- FlicenseNot gradedqualityDmaintenanceEnables automation of native Windows desktop applications through screen capture, mouse/keyboard control, and waiting for UI changes, exposing them as MCP tools.1-
- AlicenseAqualityCmaintenanceAllows AI clients to see and control Windows 10/11 desktops via MCP, with screenshots, UI Automation, Chrome CDP, keyboard/mouse, and terminal using semantic element targeting.30301 npmMIT
- AlicenseNot gradedqualityAmaintenanceEnables Windows desktop automation via MCP, allowing AI agents to control mouse, keyboard, and screen capture with the same interface as Anthropic's computer-use tool.64 PyPI6MIT