Ascript MCP
Control Android/iOS/Windows devices from Claude, Cursor, and other AI tools.
Connector by ascript-cn · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/ascript-cn-ascript-mcp
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.
- Tools
- 16 read · 6 write · 1 delete · 6 not yet classified
- Secrets
- None asked for
- Install scripts
- Not scanned yet
- Runs as
- Python package
Tools by what they do 29
Read from the source code; the running server may list different tools.
Read 16 · Look things up without changing anything.
compare_colorsfind_colorsget_code_exampleget_device_statusget_module_apisget_platform_overviewget_plugin_detailget_project_filesget_run_logget_setup_guidelist_pluginslist_projects
Show 4 more tools
list_python_packagesscan_devicesscreen_capturesearch_api
Write 6 · Create, change, send or run things.
create_projectdeploy_and_runrun_projectrun_project_debugstop_projectupload_file
Delete 1 · Delete, drop, revoke or wipe things.
eval_python
Not yet classified 6 · We could not tell from the name and description.
auto_connectconnect_devicedump_ui_treeobserve_deviceocrtest_selector
Tools (29)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
auto_connect从当前 AScript 工程目录自动连接设备。 读取 .vscode/settings.json 中的 ascript.deviceId 和 ascript.platform,自动连接对应设备。 VSCode 插件创建工程时会保存这些信息,无需用户手动输入 IP。 传入当前工程的根目录路径即可。
compare_colors多点比色:检查屏幕指定位置的颜色是否匹配。 返回布尔值。用于判断界面状态。
connect_device连接 Android/iOS 设备。连接后才能使用截图、控件树等设备工具。 局域网设备传 IP,ADB 设备传序列号并设 connection_mode='ADB'。
create_project在设备上创建新工程。上传文件前需要先创建工程。
deploy_and_run一步完成开发验证循环:上传代码 → 运行 → 收集日志 → 截图验证。 代码会上传为 __init__.py(入口文件),工程不存在时自动创建。 返回上传结果、运行结果、日志内容和运行后截图。
dump_ui_tree获取设备当前界面的控件树(UI 层级结构)。返回所有控件的 id、text、desc、className、rect、clickable 等属性。 【Android】调用前必须先调 get_device_status 确认 run_mode,再选对应 mode,否则拿空树: - run_mode.code=accessibility(无障碍模式)→ mode=0/1(简单/复杂),或 2/3(过滤系统层变种) - run_mode.code=root(Root 或激活模式) → mode=9(root 控件) - run_mode.code=hid(HID 控件 / 辅助控件模式)→ mode=6(辅助控件) - run_mode.code=screen_only(图色模式) → 无控件树,跳过 dump,走 OCR/找图 ⚠ Android 命名陷阱:code="hid" 实际是 ASS 枚举(辅助控件,有控件树);code="screen_only" 才是图色模式(无控件树)。 Selector 实例化要传相同的 mode:node.Selector(mode=<dump 的 mode>)。 【iOS】只有 WebDriverAgent 一套引擎,不接 mode 参数(传了被忽略),返回 WDA XML。iOS Selector() 也不接 engine mode;它…
eval_python在设备主进程的 Python 上下文中直接 exec 任意代码,立即返回结果(Android + iOS)。 几百毫秒一轮,不需要 upload_file/run_project,适合: - 探索性调试:试 selector / 找图 / OCR / 找色 / 一次点击 - 复合决策:把'看屏幕→判断→点击'打包一段 Python 一次执行 - 自动裁模板、SoM 标注、智能 tap 路由 - 任意一次性同步 API 调用:action.click / slide / Selector(任何 mode) / Permission / KeyValue / Sms / Clipboard 等 Android 主进程 client 已本地 stub 化(App.java onCreate 时 bindClient),所有原本走 :py 进程 IPC 的 API 现在 eval 里也能直接调。 ⛔ 红线:eval 代码无法外部中断!HTTP 60s 超时只断客户端连接,服务端 Python 仍在跑直到自然返回;卡住 = 整个 App UI 冻住。所有循环必须 range/deadline 限定, sleep ≤ 5s,try/except 整段。超过 30s 的逻辑改用 upload + run_project(可被 stop_project kill)。 ⚠ 仍需谨慎的场…
find_colors多点找色:在屏幕上查找符合颜色条件的坐标。 colors 格式:'x,y,#RRGGBB|x,y,#RRGGBB|...',第一个点为锚点,后续为偏移点。 可选带偏差色:'x,y,#RRGGBB-#偏差|...'
get_code_example获取常见自动化任务的可运行代码示例。
get_device_status获取设备完整运行状态(仅 Android)。一次性返回: - device: 品牌/型号/ABI - system: Android 版本/SDK/语言/时区 - screen: 分辨率/dpi/方向 - battery / network / storage / memory - permissions: 全部权限授权状态 - run_mode: 当前运行模式(root / accessibility / screen_only / hid)— 决定可用的 API 集 - runtime: 是否正在跑脚本、当前工程名 - tools: 已安装工具配置 强烈建议生成脚本前先调用:根据 run_mode 选择 API(如 node.find 仅在 accessibility 模式可用),根据 permissions 决定是否需要先申请权限,根据 runtime.is_script_running 避免互踩。
get_module_apis获取指定模块的完整 API 文档,支持模糊匹配。例如 'screen' 可匹配 'ascript.windows.screen'。返回函数签名、参数说明和文档。
get_platform_overview获取指定平台(android/ios/windows)的 API 模块概览,包含模块名、描述、类和函数列表。
get_plugin_detail获取指定插件的详细文档,包括 API 说明、参数、代码示例和版本历史。 需要先用 list_plugins 查到插件 id。
get_project_files获取设备上指定工程的文件树结构。
get_run_log获取设备运行日志(实时收集指定秒数)。 用于查看脚本运行输出、错误信息和 print 内容。 建议在 run_project 后调用,查看脚本是否正常运行或有报错。
Show 14 more tools
get_setup_guide获取指定平台的环境搭建和安装指南。
list_plugins查询 AScript 在线插件库,返回所有可用插件列表。 插件提供额外能力:OCR(TomatoOcr)、YOLO 目标检测、HID 硬件控制、AI 大模型、蓝牙通信等。 按下载量排序,包含插件名、作者、描述。
list_projects列出设备上的所有工程。
list_python_packages列出设备 AScript App 内已安装的 Python 第三方库(Android + iOS)。 AI 在写脚本(尤其是 eval_python 片段)前**强烈建议先调用**,确认要 import 的 lib 在该设备上可用。 Android: 走 /api/status 的 python.packages(importlib.metadata 实时查询)。 iOS: 借 eval_python 跑 importlib.metadata 实时列出。 常见自带库:opencv-python-headless / numpy / pillow / requests / pandas / openpyxl / pymysql / websockets / cryptography 等,具体清单随 App 版本和用户安装的插件而变化,**以本工具实时返回为准**。
observe_device一次性获取设备当前状态:截图 + 控件树,比分开调用更快。 返回截图(PNG 图片)和控件树(Android JSON / iOS XML)。 【重要】拿到控件树后,编写代码必须优先使用控件选择器(通过 text/id/className 等属性定位并操作控件),只有控件树中确实找不到目标元素时才用坐标点击。
ocr在设备屏幕上执行 OCR 文字识别。返回识别到的文字、位置坐标和置信度。
run_project在设备上运行指定工程。
run_project_debug以调试模式启动 Android 工程,让脚本可被 VS Code / Cursor 通过 debugpy attach 调试。 前提:1) 平台为 Android(iOS 不支持);2) 设备必须通过 ADB 连接(USB / adb tcpip)。 行为:自动 adb forward tcp:5678 → 设备 127.0.0.1:5678 + 调用设备 /api/model/run?debug=1,设备端 :py 进程进入 listen+wait_for_client 阻塞,等待 IDE attach。 返回:本地端口、可直接粘贴到 .vscode/launch.json 的 attach 配置片段、操作提示。 用户在 VS Code 按 F5 attach 后,业务从 main 开始运行,断点会被命中。 停止调试请调用 stop_project(同时停止业务和调试器)。
scan_devices扫描发现所有 AirScript 设备。 同时执行:1) 局域网扫描(WiFi 连接的 Android/iOS 设备)2) ADB 扫描(USB 连接的 Android 设备)。 返回所有发现的设备列表。
screen_capture截取设备当前屏幕。返回 PNG 图片。用于查看设备当前界面状态。
search_api按关键词搜索 API,覆盖函数名、类名和文档说明。当不确定功能在哪个模块时使用。
stop_project停止设备上正在运行的工程。
test_selector在设备上实时测试 Selector 选择器,验证是否能精准匹配到目标控件。 传入过滤条件(text/id/type/desc/clickable),返回匹配到的控件及其完整属性。 用于编写代码前验证 node.Selector().text('xxx').find() 等语句是否能定位到正确控件。 条件可组合使用,如同时指定 text 和 clickable。
upload_file上传文件到设备上的指定工程。content 为文件内容的 base64 编码。
Signals
- Stars
- 8
- Forks
- 3
- Open issues
- 0
- Weekly downloads
- 80
- Last commit
- Apr 30, 2026 (6 months ago)
- Last release
- Apr 30, 2026 (6 months ago)
- Last package publish
- Apr 30, 2026 (6 months ago)
From GitHub (fetched Oct 24, 2026) and the package registry.
Details
- Registry name
io.github.ascript-cn/ascript-mcp- Version
- 1.7.0
- Auth
- No auth
- Packages
- pypi ascript-mcp
- License
- MIT
- Repository
- github.com/ascript-cn/ascript-mcp
- First seen
- Oct 24, 2026
- Last checked
- Oct 25, 2026
Cite this page
Ascript MCP. Agent Mart. https://agentmart.dev/connectors/ascript-cn-ascript-mcp (last updated 2026-10-25)