内容
# native-devtools-mcp
> **适用于原生桌面和移动应用的MCP服务器,支持macOS、Windows、Android及Chrome/Electron浏览器,通过CDP协议。**



`native-devtools-mcp` 为AI代理和MCP客户端提供直接控制原生桌面应用、Chrome/Electron浏览器和Android设备的能力,包括截图、OCR、元素查找、输入模拟、窗口管理、Chrome DevTools协议(CDP)和ADB,全部集中在一个本地服务器中。可与 [Claude Desktop](https://claude.ai/download)、[Claude Code](https://docs.anthropic.com/en/docs/claude-code)、[Cursor](https://cursor.com) 等MCP兼容的客户端配合使用。
> **ℹ️ 这是一个个人分支。** 该仓库由 [@leaf0412](https://github.com/leaf0412) 维护,用于独立开发,基于并引用了原始的 [`sh3ll3x3c/native-devtools-mcp`](https://github.com/sh3ll3x3c/native-devtools-mcp)。上游项目的全部荣誉归属于其原始作者;这里的更改并未回馈上游。
## 快速开始
此分支 **未发布到npm** — 需要从源代码构建(Rust 1.91+):
```bash
git clone https://github.com/leaf0412/native-devtools-mcp
cd native-devtools-mcp
cargo build --release # 二进制文件:./target/release/native-devtools-mcp
```
> npm上的 `native-devtools-mcp` 包是 **上游** 项目,不包含此分支的更改。要运行此版本,请从源代码构建。
<div align="center">
<table>
<tr>
<td align="center"><strong>macOS</strong></td>
<td align="center"><strong>Windows</strong></td>
</tr>
<tr>
<td><img src="demo.gif" width="450" alt="macOS Demo"></td>
<td><img src="windows-demo-1.gif" width="450" alt="Windows Demo"></td>
</tr>
</table>
</div>
---
## 🚀 功能
- **👀 计算机视觉:** 对屏幕、窗口或区域的截图,带有内置的多语言OCR — 拉丁语 + CJK(中文/日语/韩语)— 通过macOS上的Vision和Windows上的Windows Media OCR。
- **🖱️ 输入模拟:** 点击、拖动、滚动、输入 — 全局坐标、窗口相对坐标和截图相对坐标定位。`type_text` 在输入中文/日语IME时插入字面文本(它中和了按键的活动输入源,然后恢复)。
- **🎯 元素精确AX调度(macOS):** `take_ax_snapshot` → `ax_click` / `ax_set_value` / `ax_select` — 在不移动鼠标或抢占焦点的情况下,对Accessibility树元素进行调度。适用于原生macOS应用的首选路径。
- **🌐 浏览器自动化(CDP):** Chrome DevTools协议,用于Chrome和Electron应用(Signal、Discord、VS Code、Slack)— DOM级点击、填充、导航和JS评估,无需单独的Node.js服务器。
- **📱 Android(ADB):** 截图、基于uiautomator的文本查找、输入和应用管理,通过USB或Wi-Fi。
- **🧩 模板匹配:** `load_image` + `find_image` 用于图标、切换和自定义控件的OCR无法识别。
- **🪟 窗口管理:** 列出、聚焦、启动和退出应用;记录窗口为带时间戳的JPEG帧。
- **🔍 悬停跟踪:** 通过停留过滤的悬停事件观察用户导航模式 — 设计用于LLM观察用户工作。
- **🔒 本地和私有:** 100%本地执行。截图和输入永远不会离开您的机器。
## 🧭 三种交互方式
选择适合您目标应用的方法。
| 方法 | 最适合 | 关键工具 |
|-----------------------|--------------------------------------------------------------------------|-------------------------------------------------------------------------|
| **视觉** (通用) | 任何应用 — 游戏、Qt、自定义渲染器、没有AX树的应用 | `take_screenshot`, `find_text`, `click`, `type_text`, `find_image` |
| **AX调度** (macOS — *原生macOS应用的首选*) | AppKit / SwiftUI应用 — 系统设置、Finder、邮件、Xcode、笔记 | `take_ax_snapshot`, `ax_click`, `ax_set_value`, `ax_select` |
| **CDP** (Chrome / Electron) | Web内容、Electron应用(带有 `--remote-debugging-port`) | `cdp_launch`, `cdp_connect`, `cdp_find_elements`, `cdp_take_dom_snapshot`, `cdp_click`, `cdp_fill` |
> 对于macOS原生应用,**AX调度是首选路径** — 它是元素精确的,不会移动鼠标,也不会抢占焦点。参见 [原生应用AX调度配方](./examples/native-app-ax-dispatch-flow.md)。
还有一种第四种特殊路径:**AppDebugKit** (`app_connect` / `app_query` / `app_click`) 用于使用AppDebugKit库的仪器化应用。主要适用于开发人员测试自己的应用。
## 🆚 比较
最诚实的同行是其他 **用于计算机使用的MCP服务器**。下表将 `native-devtools-mcp` 与领先的MCP服务器和两个广泛使用的非MCP库进行了比较。
| 功能 | native-devtools-mcp | [Playwright MCP][pw-mcp] | [Windows-MCP][win-mcp] | [Appium][appium] | [pywinauto][pwa] |
|--------------------------------|:-------------------:|:------------------------:|:----------------------:|:----------------:|:----------------:|
| 原生macOS应用 | ✅ AX + 截图 | ❌ 仅限浏览器 | ❌ 仅限Windows | ❌ 移动端聚焦 | ❌ 仅限Windows |
| 原生Windows应用 | ✅ UIA + 输入 | ❌ 仅限浏览器 | ✅ | ◐ 有限 | ✅ |
| Web / DOM自动化 | ✅ 通过CDP | ✅ | ◐ 通过Windows UIA | ◐ 移动端网页 | ❌ |
| Electron应用 | ✅ CDP + AX | ✅ 首选 `_electron` | ◐ 如果UIA暴露 | ❌ | ◐ 如果UIA暴露 |
| Android设备(ADB) | ✅ 内置 | ◐ 实验性 | ❌ | ✅ 首选 | ❌ |
| MCP原生 | ✅ | ✅ | ✅ | ❌ | ❌ |
| 本地,无API密钥 | ✅ | ✅ | ✅ | ✅ 自托管 | ✅ |
[pw-mcp]: https://github.com/microsoft/playwright-mcp
[win-mcp]: https://github.com/CursorTouch/Windows-MCP
[appium]: https://github.com/appium/appium
[pwa]: https://github.com/pywinauto/pywinauto
**native-devtools-mcp的突出之处:** 一个本地MCP服务器,涵盖macOS + Windows + Chrome/Electron(CDP)+ Android,适用于同一会话,加上元素精确的macOS AX调度,不会移动光标或抢占焦点。
**诚实的限制:**
- **无Linux** (欢迎贡献 — 参见 [Linux桌面MCP](https://github.com/BeckhamLabsLLC/linux-desktop-mcp),作为AT-SPI2的替代方案)
- **浏览器自动化仅限Chrome / Electron** 通过CDP — 无Firefox,无WebKit(对于这些,请使用 [Playwright MCP][pw-mcp])
- **仅限有头** — 依赖于真实机器权限;不是无头CI测试网格
- **无iOS**
如果您只需要 **网页自动化**,[Playwright MCP][pw-mcp] 更成熟。如果您只需要 **移动端** (iOS + Android + 深度设备功能),[Appium][appium] 更成熟。该服务器适用于跨原生桌面 + Chrome/Electron + Android的场景。
## 📦 安装
从源代码构建,然后将您的MCP客户端指向编译后的二进制文件。步骤在macOS和Windows上相同。
### 1. 构建
```bash
git clone https://github.com/leaf0412/native-devtools-mcp
cd native-devtools-mcp
cargo build --release
# 二进制文件:./target/release/native-devtools-mcp
```
需要 **Rust 1.91+** (`adb_client`依赖项需要它)。仓库通过 `.tool-versions` 固定此版本,因此[asdf](https://asdf-vm.com)用户在 `cd`时自动获得正确的工具链;否则 `rustup update stable`.
### 2. 配置MCP客户端
使用您刚刚构建的二进制文件的 **绝对路径** (替换 `/path/to/...`)。
```json
{
"mcpServers": {
"native-devtools": {
"command": "/path/to/native-devtools-mcp/target/release/native-devtools-mcp"
}
}
}
```
配置文件位置:
- **macOS — Claude Desktop:** `~/Library/Application Support/Claude/claude_desktop_config.json`
- **Windows — Claude Desktop:** `%APPDATA%\Claude\claude_desktop_config.json`
- **Claude Code:** `.mcp.json` 在您的项目中,或 `claude mcp add native-devtools /path/to/native-devtools-mcp`
- **Cursor / 其他:** 客户端的MCP服务器配置,形状相同 `command`.
> **macOS权限:** 服务器需要 **可访问性** 和 **屏幕录制** 权限,由 **启动它的应用** 授予(Claude Desktop, Claude Code, 您的终端)— 而不是二进制文件。运行 `target/release/native-devtools-mcp setup` 以打开正确的系统设置面板。没有这两个权限,点击操作会静默失败,截图会返回一个黑色矩形。
> **Linux尚不支持。** 服务器使用平台特定的API(macOS上的Core Graphics + Accessibility,Windows上的Win32 + UI Automation),而Linux上没有这些API。欢迎贡献 — X11/Wayland截图、输入和AT-SPI路径将是一个很好的第一个问题。
## 🏁 入门
构建完成后,从编译的二进制文件运行安装向导:
```bash
./target/release/native-devtools-mcp setup
```
这将:
1. **检查权限** (macOS)— 验证可访问性和屏幕录制权限,如果需要打开系统设置。
2. **检测MCP客户端** — 查找Claude Desktop, Claude Code, 和Cursor。
3. **编写配置** — 生成正确的JSON配置,并为您提供写入它的选项。
然后重启您的MCP客户端,您就可以开始了。
> **自构建二进制文件 & Gatekeeper(macOS):** 自构建的二进制文件未经过 notarization,因此macOS可能会隔离它。如果它被阻止,请清除隔离标志 `xattr -dr com.apple.quarantine ./target/release/native-devtools-mcp`,或在系统设置中允许它。
> **VS Code, Windsurf, 以及其他客户端:** `setup` 尚未自动检测这些客户端。运行 `setup` 进行权限检查,然后参见上面的JSON配置片段。
> **Claude Code提示:** 为了避免批准每个工具调用(点击,截图),请在 `.claude/settings.local.json` 中添加以下内容:
> ```json
> { "permissions": { "allow": ["mcp__native-devtools__*"] } }
> ```
### ⚠️ 运行安全
- **请勿干扰:** 当代理“驾驶”(点击/输入)时,请勿移动鼠标或输入。真实的硬件输入与模拟的输入冲突,点击可能会落在错误的位置。
- **焦点很重要:** 确保您希望代理使用的窗口是可见的。如果弹出窗口在流程中途抢占焦点,除非代理重新检查,否则代理可能会在错误窗口中输入。
- **在macOS上优先使用AX调度** 当您想继续使用机器时 — AX调用不会移动光标,也不会从活动窗口抢占焦点。
## 📚 配方和示例
- [配方索引](./examples/README.md)
- [Claude Desktop设置](./examples/claude-desktop-setup.md) · [Claude Code设置](./examples/claude-code-setup.md) · [Cursor设置](./examples/cursor-setup.md)
- [端到端桌面流程](./examples/end-to-end-desktop-flow.md)
- [原生应用AX调度流程(macOS)](./examples/native-app-ax-dispatch-flow.md) — **原生macOS应用的首选**
- [原生应用点击流程](./examples/native-app-click-flow.md)
- [OCR备用和元素检查](./examples/ocr-fallback-and-element-inspection.md)
- [模板匹配流程](./examples/template-matching-flow.md)
- [Android快速入门](./examples/android-quickstart.md)
## 🌐 浏览器自动化(CDP)
通过Chrome DevTools协议连接到Chrome或Electron应用,进行DOM级自动化 — 比基于坐标的点击更可靠,适用于网页内容。
**推荐:`cdp_launch`** 启动Chrome并在稳定的专用配置文件上启用远程调试,并一步连接。因为配置文件在运行之间持续存在,您只需登录一次,并在每次后续启动时保持登录:
```bash
cdp_launch(port=9222) # 启动(或重用)托管的调试Chrome,然后连接
cdp_navigate(url="https://example.com")
cdp_find_elements(query="search") # DOM遍历器,带有元素UID(d1, d2, ...)
cdp_fill(uid="d1", value="search query")
cdp_press_key(key="Enter")
cdp_wait_for(text=["Results"])
```
如果调试浏览器已经在端口上运行,`cdp_launch` 重用它(保留其会话)。要附加到您自己启动的浏览器,请改用 `cdp_connect(port=...)`.
**19个CDP工具** — 启动、连接、DOM快照、查找元素、点击、悬停、填充、输入、按键、导航、处理对话框、管理标签、评估JS、元素检查等。适用于Chrome 136+、Chromium和Electron应用(Signal、Discord、VS Code、Slack)。参见 [`AGENTS.md`](./AGENTS.md) 获取完整的工具参考。
> **已登录会话:** 服务器无法附加到您的普通默认配置文件Chrome — Chrome 136+在默认配置文件上阻止调试端口,而已经运行的浏览器无法逆向启用它。`cdp_launch` 通过 `~/.native-devtools-mcp/`下的专用配置文件绕过此限制:只需在首次启动时登录,之后每次启动时都会重用会话。
> **Chrome 136+ 注意:** 调试端口需要非默认的 `--user-data-dir`;`cdp_launch` 为您设置此参数。如果您手动启动Chrome用于 `cdp_connect`,请同时传递 `--remote-debugging-port` 和 `--user-data-dir=<path>`。Electron应用只需要 `--remote-debugging-port`。
## 📱 Android支持
Android支持内置。服务器通过ADB(USB或Wi-Fi)与Android设备通信,提供截图、输入模拟、UI元素搜索和应用管理。
### 先决条件
1. **ADB安装** 在主机上(`brew install android-platform-tools` 在macOS上,或通过 [Android SDK](https://developer.android.com/tools/releases/platform-tools))。
2. **启用USB调试** 在设备上(设置 > 开发者选项 > USB调试)。
3. **ADB服务器运行** — 当您运行 `adb devices` 时会自动启动。
### 工具
所有Android工具都以 `android_` 前缀出现,并在连接到设备后动态出现:
| 工具 | 描述 |
|------|-------------|
| `android_list_devices` | 列出所有ADB连接的设备(始终可用) |
| `android_connect` | 通过串行号连接到设备 |
| `android_disconnect` | 与当前设备断开连接 |
| `android_screenshot` | 捕获设备屏幕 |
| `android_find_text` | 通过uiautomator查找UI元素 |
| `android_click` | 在屏幕坐标上点击 |
| `android_swipe` | 在两个点之间滑动 |
| `android_type_text` | 在设备上输入文本 |
| `android_press_key` | 按下按键(例如 `KEYCODE_HOME`, `KEYCODE_BACK`) |
| `android_launch_app` | 通过包名启动应用 |
| `android_list_apps` | 列出已安装的包 |
| `android_get_display_info` | 获取屏幕分辨率和密度 |
| `android_get_current_activity` | 获取当前的前台活动 |
### 典型的工作流程```
android_list_devices → 查找您的设备串行号
android_connect(serial="...") → 连接(解锁android_*工具)
android_screenshot → 查看屏幕上的内容
android_find_text(text="OK") → 定位按钮
android_click(x=..., y=...) → 点击它
```
<details>
<summary><strong>已知问题 & 高级设置</strong></summary>
**MIUI / HyperOS(小米、红米、POCO设备):** 输入注入(`android_click`, `android_type_text`, `android_press_key`, `android_swipe`)和 `android_find_text`(通过uiautomator)需要一个额外的安全开关:
> **设置 > 开发者选项 > USB调试(安全设置)** — 启用此开关。MIUI可能需要您使用Mi账户启用它。
如果没有此开关,您将看到 `INJECT_EVENTS permission` 输入工具的错误和 `could not get idle state` 错误的 `android_find_text`。截图和设备信息工具无需此开关即可工作。
**无线ADB:** 要在没有USB电缆的情况下连接,首先通过USB连接并运行:
```bash
adb tcpip 5555
adb connect <phone-ip>:5555
```
然后在 `android_connect`中使用 `<phone-ip>:5555>` 串行。
**烟雾测试:** 在一个真正的连接设备上验证所有Android工具。它们默认情况下被 `#[ignore]`,因此:
```bash
cargo test --test android_smoke_tests -- --ignored --test-threads=1
```
测试必须按顺序运行,因为它们共享一个物理设备。设备必须解锁并保持清醒。
</details>
## 🔐 安全与信任
该工具需要可访问性和屏幕录制权限 — 这是相当大的信任。下面是它值得信任的原因。
### 您从源代码构建
因为您自己编译了这个分支,所以信任来自您可以阅读的源代码 — 没有不透明的预编译二进制文件可供校验。(上游项目还提供了一个 `verify` 子命令,用于匹配官方发布校验和;这仅适用于那些预编译的发布版本,而不是您自己构建的分支二进制文件。)
### 代码审计
[`SECURITY_AUDIT.md`](SECURITY_AUDIT.md) 文档记录了确切使用哪些权限、在源代码的哪里使用,并包含了一个LLM审计提示,您可以将其粘贴到任何AI模型中,进行独立的安全审查。
### 服务器不执行的操作
- **不主动连接网络。** 服务器不会主动连接外部网络。网络仅用于明确的本地连接:`app_connect`(WebSocket 连接到本地调试服务器)和 CDP 工具(本地 Chrome 远程调试端口)。
- **不扫描文件。** 不读取或索引您的文件。唯一的文件读取是 `load_image`(MCP 客户端明确提供的路径)和用于截图的短暂临时文件(在捕获后立即删除)。
- **不持久运行于后台。** 当 MCP 客户端断开连接时,服务器退出。
- **不泄露数据。** 截图通过 stdout 返回给 MCP 客户端,绝不会存储或传输到其他地方。
## ❓ 常见问题
**是否支持 Linux?** 暂不支持 — 仅支持 macOS、Windows 和 Android。服务器在 macOS 上使用 Core Graphics + 无障碍 API,在 Windows 上使用 Win32 + UI 自动化。在 X11/Wayland + AT-SPI 上的移植将是一个受欢迎的贡献。
**是否需要 API 密钥?** 不需要。服务器完全在本地运行,不进行任何外部 API 调用。您的 MCP 客户端可能需要其自己的 LLM API 密钥(Anthropic、OpenAI 等),但服务器本身不需要。
**与 Claude Computer Use 有何不同?** Claude Computer Use 是一个 [Anthropic API 测试工具](https://docs.anthropic.com/en/docs/build-with-claude/computer-use) — 它与 Claude Opus、Sonnet 和 Haiku 合作,在测试头后面需要 Anthropic API 密钥。它通过截图 + 基于坐标的鼠标/键盘操作运行。`native-devtools-mcp` 是模型无关的(任何支持 MCP 的模型),在本地运行,无 API 依赖,并添加了元素精确的 macOS AX 调度、Chrome DevTools 协议和 Android over ADB。
**是否支持本地模型(Ollama、LM Studio 等)?** 支持 — 只要客户端支持 MCP。任何支持 MCP 的客户端都可以连接。不支持 MCP 的客户端可以通过桥接器包装服务器。
**是否免费/开源?** 是,MIT 许可。参见 [`LICENSE`](./LICENSE)。
**是否记录我的操作?** 不 — 除非您明确调用 `start_recording`,否则不会记录任何内容,该函数会写入您指定的目录,并在 `stop_recording` 时停止。悬停跟踪同样只在 `start_hover_tracking` 激活时运行。否则不会记录或发送任何内容。
**与 Playwright 或 [Playwright MCP](https://github.com/microsoft/playwright-mcp) 比较如何?** Playwright 是纯 Web 自动化的成熟选择 — Chromium、Firefox 和 WebKit,以及通过 `_electron.launch()` 和实验性的 Android 自动化提供一流的 Electron 支持。Playwright MCP 将其作为 MCP 服务器包装,供 AI 代理使用。如果您只需要 Web/Electron 自动化,请使用 Playwright MCP。`native-devtools-mcp` 涵盖了本地 macOS/Windows 应用程序和 Android 设备,此外还支持 Chrome/Electron,全部在一个本地 MCP 服务器中 — 而 Playwright MCP 不支持这些。
## 🏗️ 架构
```mermaid
graph TD
Client[Claude / LLM 客户端] <-->|JSON-RPC 2.0| Server[native-devtools-mcp]
Server -->|直接 API| Sys[系统 API]
Server -->|CDP / WebSocket| Chrome[Chrome / Electron]
Server -->|WebSocket| Debug[应用调试工具]
Server -->|ADB 协议| Android[Android 设备]
subgraph "您的机器"
Sys -->|屏幕/OCR| macOS[CoreGraphics / Vision]
Sys -->|输入| Win[Win32 / SendInput]
Sys -->|文本搜索| UIA[UI 自动化]
Sys -->|AX 快照 + 调度| AXapi[无障碍 API - macOS]
Chrome -.->|DOM 级| ChromeApp[网页 / Electron UI]
Debug -.->|检查| App[被检测的应用]
end
subgraph "Android 设备 (USB/Wi-Fi)"
Android -->|截图| Screen[截图]
Android -->|输入| Input[点击 / 滑动 / 输入]
Android -->|uiautomator| UITree[UI 层次]
end
```
<details>
<summary><strong>🔧 技术细节(内部实现)</strong></summary>
| 操作系统 | 功能 | 使用的 API |
|----|---------|----------|
| **macOS** | 截图 | `screencapture`(命令行) |
| | 输入 | `CGEvent`(CoreGraphics) |
| | 文本搜索(`find_text`) | `无障碍 API`(主要),Vision OCR(备用) |
| | AX 快照 + 调度(`take_ax_snapshot` / `ax_click` / `ax_set_value` / `ax_select`) | 无障碍 API — AX 树遍历,`AXPress` 操作,`kAXValueAttribute` 写入,`AXSelectedRows` 写入(保留焦点,无鼠标移动) |
| | 元素检查(`element_at_point`) | `AXUIElementCopyElementAtPosition` + AX 树遍历备用 |
| | 悬停跟踪(`start_hover_tracking`) | `CGEvent` 光标 + 无障碍 API 轮询 |
| | 屏幕录制(`start_recording`) | `CGWindowListCreateImage`,可配置的帧率 |
| | OCR | `VNRecognizeTextRequest`(Vision 框架) |
| **Windows** | 截图 | `BitBlt`(GDI) |
| | 输入 | `SendInput`(Win32) |
| | 文本搜索(`find_text`) | `UI 自动化`(主要),WinRT OCR(备用) |
| | 元素检查(`element_at_point`) | `IUIAutomation::ElementFromPoint` |
| | 悬停跟踪(`start_hover_tracking`) | `GetCursorPos` + UI 自动化轮询 |
| | 屏幕录制(`start_recording`) | `BitBlt`(GDI),可配置的帧率 |
| | OCR | `Windows.Media.Ocr`(WinRT) |
| **Android** | 截图 | `screencap` / ADB 帧缓冲区 |
| | 输入 | `adb shell input`(点击,滑动,输入,键盘事件) |
| | 文本搜索(`find_text`) | `uiautomator dump`(无障碍树) |
| | 设备通信 | `adb_client` crate(原生 Rust ADB 协议) |
| **Chrome / Electron** | DOM 级自动化 | 通过 `chromiumoxide` 的 Chrome DevTools 协议 |
### 截图坐标精度
截图包含准确坐标转换的元数据:
- `screenshot_origin_x/y`:捕获区域的屏幕空间原点(以点为单位)
- `screenshot_scale`:显示比例因子(例如,Retina 显示器的值为 2.0)
- `screenshot_pixel_width/height`:图像的实际像素尺寸
- `screenshot_window_id`:窗口 ID(用于窗口捕获)
**坐标转换:**
```
screen_x = screenshot_origin_x + (pixel_x / screenshot_scale)
screen_y = screenshot_origin_y + (pixel_y / screenshot_scale)
```
**实现说明:**
- **窗口捕获**(macOS):使用 `screencapture -o`,排除窗口阴影。捕获的尺寸与 `kCGWindowBounds × scale` 完全匹配,因此从截图中得出的点击坐标落在预期的 UI 元素上。
- **区域捕获:** 原点坐标与实际捕获区域的整数对齐。
</details>
## 🪟 Windows 说明
在 **Windows 10/11** 上开箱即用。
- 使用标准 Win32 API(GDI,SendInput)。
- `find_text` 使用 **UI 自动化(UIA)** 作为主要的搜索机制,查询无障碍树以获取元素名称。这与 macOS 上使用的无障碍优先方法相同。当 UIA 找不到匹配项时,会自动回落到 OCR。
- OCR 使用内置的 Windows 媒体 OCR 引擎(离线)。
- **无法与“以管理员身份运行”的窗口交互**,除非 MCP 服务器本身也是以管理员身份运行。
- **屏幕录制** 使用 GDI/BitBlt,帧率可配置(默认 5)。对于更高的帧率或游戏捕获,DXGI Desktop Duplication API 将提供硬件加速捕获 — 计划中的未来升级。
## 🤖 面向 AI 代理
面向 AI 代理的使用 — 意图定义、模式示例、推理模式 — 位于 [**`AGENTS.md`**](./AGENTS.md)。它是一个紧凑、优化 token 的参考,设计用于被 LLM(Claude、Gemini、GPT、本地模型)读取。如果您是 AI 代理,正在阅读此 README 以决定是否使用服务器,请移至那里。
## 📜 许可证
MIT。原始作品 © [sh3ll3x3c](https://github.com/sh3ll3x3c);分支修改作品 © [leaf0412](https://github.com/leaf0412)。参见 [`LICENSE`](./LICENSE)。
MCP 配置
以下是此 MCP Server 的配置信息,可直接复制到 Cursor 或其他 MCP 客户端中使用。
mcp.json
连接信息
猜你喜欢
暂无推荐服务器