在 AI agent 中使用 XiakeOPC 的 MCP
XiakeControl.exe mcp 是一个走 stdio 的 MCP 服务器。文件和 shell 工具与 Claude Code 的本机工具同名、同语义;每次调用在被控端的终端服务里原生执行,只需一次网络往返。命令和文件操作的执行身份与终端会话相同:Windows 和 macOS 上是登录的用户(Windows 无人登录时为 SYSTEM),Linux 上是 root,带着用户的环境和被控端环境变量。MCP 进程常驻,到每台设备保持一条热连接,并发调用互不阻塞。文件类调用在局域网内只需几毫秒,经中转时几十毫秒。
一键安装(推荐)
打开控制端左侧的「Agent 集成」页。它列出本机的 AI 编程工具,每个工具一行,显示侠客 MCP 服务器和 xiake skill 是否已装、是否需要更新,可以逐个或一键安装、更新、移除:
表格可左右滚动,查看完整内容。
| 工具 | MCP | Skill |
|---|---|---|
| Claude Code | claude mcp add-json -s user |
~/.claude/skills |
| Codex | codex mcp add |
~/.agents/skills |
| Gemini CLI | gemini mcp add -s user |
~/.gemini/skills |
| GitHub Copilot CLI、Cursor、Windsurf、OpenCode、Qwen Code、Kiro | 各自的用户级配置文件 | 各自的 skills 目录 |
| Claude 桌面版、VS Code | 各自的用户级配置文件 | — |
| Trae、Roo Code | — | 各自的 skills 目录 |
Claude Code、Codex、Gemini CLI 的命令在 PATH 上时,用它们自己的命令修改,改完回读确认;其余工具只改配置文件里的 xiake 一项,其他内容和顺序不变,原文件备份为 .xiake-bak。带注释、无法按标准 JSON 读取的文件不会被修改,页面提供「复制配置」,由你手动粘贴。写入的命令是 XiakeControl.exe mcp,不带参数,每次调用由 agent 指定设备;控制端换了位置后,页面会显示「需更新」。
装好后,在这些工具里新开会话才会生效。
手动配置
把 D:\Tools\XiakeControl.exe 换成本机 XiakeControl.exe 的完整路径:
# 在一台机器的一个项目上远程开发
claude mcp add xiake -- D:\Tools\XiakeControl.exe mcp --device 设备名或UUID --root D:\proj
# 管理账号下的所有机器(每次调用指定 device)
claude mcp add xiake -- D:\Tools\XiakeControl.exe mcp
Codex 在 ~/.codex/config.toml 中配置:
[mcp_servers.xiake]
command = 'D:\Tools\XiakeControl.exe'
args = ["mcp", "--device", "设备名", "--root", 'D:\proj']
MCP 使用控制端登录窗口保存的账号,请先在控制端登录一次。
参数
表格可左右滚动,查看完整内容。
| 参数 | 作用 |
|---|---|
--device |
默认设备(UUID、名称或备注);设置后,工具调用可以不填 device |
--root |
远程项目目录:相对路径以它为基准,也是 bash 的起始目录 |
--devices |
设备白名单 |
--allow files,shell,desktop,host |
只开放这些范围(默认全部开放) |
--read-only |
只保留读取类工具 |
每次调用都记入审计日志(%APPDATA%\XiakeControl\log\mcp\),记录工具名、设备、参数摘要、耗时和结果,不记录文件内容和截图。
工具
表格可左右滚动,查看完整内容。
| 工具 | 范围 | 说明 |
|---|---|---|
read |
files | 返回带行号的内容(cat -n 格式),支持 offset/limit;图片以图片形式返回 |
write / edit / multi_edit |
files | 精确替换;保留 CRLF/LF 换行和 BOM;多处修改时全部成功才写入 |
grep |
files | 正则搜索,语义同 ripgrep:遵守 .gitignore;支持 content、files_with_matches、count 三种输出、上下文行、type/glob 过滤 |
glob / ls |
files | 按修改时间从新到旧 |
bash |
shell | 工作目录跨调用延续;可设超时(超时结束整个进程树);Windows 默认 Git Bash,没有则用 PowerShell |
bash 后台、bash_output、bash_kill |
shell | 后台进程由被控端常驻持有,控制端断开后照样运行 |
terminal_open/send/read/list/close |
shell | 交互式和全屏程序;read 返回渲染后的屏幕文本,可用正则等待输出 |
agents_status |
shell | 被控端终端里的 agent 及其状态 |
file_upload / file_download |
files | 本机与被控端之间传大文件或文件夹 |
computer |
desktop | 与 Anthropic computer use 的动作一致:截图(默认长边 1280 像素)、放大查看、移动、点击、拖拽、滚动、输入、按键、按住按键、等待画面稳定;坐标取最近一次截图的像素 |
desktop_windows |
desktop | 顶层窗口列表,以及聚焦、最小化、最大化、还原、关闭、移动 |
desktop_elements |
desktop | 窗口里的控件(Windows UI Automation、macOS 辅助功能、Linux AT-SPI):按下、聚焦、设置值、切换、展开/收起、选中、滚动到可见 |
desktop_clipboard |
desktop | 读取被控端剪贴板(文本、图片或复制的文件路径),或写入文本 |
devices_list |
— | 账号下的设备、在线状态、系统、版本与负载 |
host_env、host_proxy |
host | 被控端环境变量与代理转发 |
远程开发工具需要被控端为 1.8.154 或更新版本;窗口、控件和剪贴板需要 1.8.160 或更新版本。被控端平时会在空闲时自动更新。