flythings-kb-open
Supports deployment and debugging on Android-based FlyThings devices via ADB, including device detection, app installation, launching, and cross-framework mapping of Android UI controls to FlyThings equivalents.
Enables mapping LVGL UI controls to equivalent FlyThings controls, generating ready-to-use JSON layout snippets through the flythings_map_control tool.
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., "@flythings-kb-open把 index.html 原型转成 FlyThings 的 ui/main.json 布局,并生成预览稿"
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.
🦅 FlyThings MCP Open
让 AI 助手直接获得 FlyThings 完整开发能力:一句话安装,一句话开发 FlyThings OS 人机交互产品
flythings-mcp | FlyThings MCP | FlyThings OS | FlyThings AI 助手 | 中科世为 MCP | FlyThings HMI
中文 | English
① 一键安装
方式一:让 AI 帮你装(推荐) —— 直接对你的 AI 说:
帮我克隆并安装 https://github.com/KWolve/FlyThingsMCP 项目AI 会自动完成:克隆项目 → 按 requirements.lock 安装依赖(该文件是已锁定、实测通过的版本组合)→ 引导配置 → 完成。
GitHub(主):
https://github.com/KWolve/FlyThingsMCP;国内镜像:https://gitee.com/Kwolve/flythingsmcp_release
需要 Python 3.10+。Windows 也可双击
install.bat一键装依赖(装完自动跑一次离线自检); 双击setup.bat可交互生成配置(等价于python configure.py)。 想自己拉最新版也行:pip install mcp onnxruntime tokenizers Pillow(不锁定,风险自负)。
2) 配置到 AI 工具(stdio) —— 在你的项目根目录建 .mcp.json(Trae / Cursor / Kimi 均识别):
{
"mcpServers": {
"flythings-kb-open": {
"type": "stdio",
"command": "python",
"args": ["C:/你的路径/flythings-mcp-open/mcp_server.py"]
}
}
}各工具放置位置:Trae → 项目根 .trae/mcp.json 或 .mcp.json;Cursor → 项目根 .cursor/mcp.json(或 Settings → MCP → Add);
Kimi → 项目根 .mcp.json 或 .kimi/mcp.json;Claude Desktop → claude_desktop_config.json 的 mcpServers。
python不在 PATH 时用完整路径(如C:/Users/<你>/AppData/Local/Programs/Python/Python313/python.exe)。
3) 验证 —— 问 AI「MCP 版本是多少?」:
应返回 flythings-kb-open 0.27.134-open,43 个工具(另含 binTools 字段:设备端预编译工具 touch / busybox / ui_test / mt_test / zkshot,
在 bin_tools/<平台>/ 下,不是 op、不占 op 名额)。
工具面三模式(按客户端选一个,别同时配)
模式
怎么配
客户端看到什么
dispatcher(默认)只指
mcp_server.py只暴露分发器
flythings_kb(op="list"取目录)—— schema 开销最小
all
FLYTHINGS_MCP_MODE=all分发器 + 43 个独立工具(旧配置兼容)
flat指
mcp_server_flat.py(或FLYTHINGS_MCP_MODE=flat)43 个独立工具,无分发器(Trae / Cursor / Claude Desktop 需要独立 schema 时用;代价 ≈ 1 万 token/session)
默认从「全注册」改为「只分发器」是 v0.27.34 的行为变更;受影响就设
FLYTHINGS_MCP_MODE=all恢复。
Related MCP server: Maket
② 功能说明
🎨 UI 布局(json 与 ftu)
布局以
ui/*.json为源,fui pack生成设备实际加载的ui/*.ftu—— ftu 是编译产物,不要手写/手改(口径见knowledge/devflow/ftu-json-pipeline.md)HTML 原型 → json 布局(
flythings_html_to_json);json → 可确认的 HTML 预览稿(flythings_ui_preview,多整屏 window 工程带页面切换条)布局解析(
flythings_read_json)、字段口径(knowledge/uicontrols/)可视化编辑:可拖拽/缩放的编辑器 → 变更写回 json 并 pack(
flythings_ui_visual(action="editor"|"edit_apply"))跨框架控件映射:LVGL / Qt / Android / 小程序 / emWin / MFC 控件 → FlyThings 等价控件 + 可直接粘的 json 片段(
flythings_map_control)图片资源:AI / emoji / 线条三级降级生成(
flythings_generate_ui_assets);尺寸与控件盒核对(flythings_verify_assets、ui_tools/check_all.py)
🔍 预览与像素验收
浏览器预览稿(含
#window__N直达、显示隐藏幽灵框)真机抓屏
flythings_device_screenshot:PNG/JPG/BMP、缩放省 token、方向/裁剪自动适配工程配置、支持视频层抓帧像素 diff(
flythings_ui_visual(action="diff"),±2 容差)→ 0 token 回归验收
🏭 编译 / 部署 / 出包
flythings_build_ui_flow:json/ftu 时间戳检查 → fui pack → fun install → fun build →设备探测 + fun launch 推送运行⚠️ 默认会推设备(
with_launch缺省 True,v0.27.84 起):build 后自动探测adb devices -l—— 0 台 →needDeviceInput=true+installHint(要不要装 ADB 驱动 / 开 USB 调试并授权 / 改用device='<IP>:5555'网络接入); 多台 → 列出 serial+model+平台匹配情况,不替你猜,要求显式device=; 恰好 1 台且平台匹配 → 自动fun launch -s <serial>。 返回体含launched/pushed/device/model/deviceSync(设备侧 ftu/so 字节+md5 与本地是否一致)与staleOnDevice(true ⇒ 设备上跑的还是旧版)。 不想推设备(只编译)就显式传with_launch=False。PC 端 adb 随包:
tools/adb/adb.exe(+AdbWinApi.dll/AdbWinUsbApi.dll,≈6.1 MB),客户不必另装 Android SDK; 全仓 adb 走单一入口adb_tools.resolve_adb()(环境变量ADB/FLYTHINGS_ADB→ 随包 → PATH); 设备型号→平台对照见device_models.json(排查:python adb_tools.py)字体自动体检 + 缺中文自动投递(
flythings_build_ui_flow默认就做):有设备就扫设备字体(/etc/font、/res/font、/system/font), 没设备退化为工程侧自检(prefs 的font指向 +font/里有没有可用字体);判定缺中文就把common档思源黑体(872 KB) 投进工程font/(在 build 之前完成,本次产物里就有),返回体fontCheck报missingChinese/maxFontBytes/advisedTier/delivered/deviceFonts; 要生僻字换font_tier='full'、多语言/日韩换'multi'(自己裁字库只在要更小体积/自定义字符集时才需要),font_check='off'可关; 只要结论不想动工程 →flythings_check_project_deps(默认只报不投 + 一键修复命令)字体判定用 cmap 硬判据(v0.27.87,钟工拍板):挑设备最大字体拉回本机读 cmap,以 GB2312 一级 3755 字算覆盖率 —— ≥90%
ok(不投)/ 50–90%low(投 + 写明覆盖率)/ <50%missing(投);字段source/cmapCoverageGB2312L1/checkedFont; 超 12 MB 或 fontTools 不可用 → 退回体积判据(source="size",原因进warnings);结论缓存~/.fun/font-probe.json(不会每次 build 都拉);fun launch成功后若刚投递过字体 →fontCheck.deviceAfterDeploy回报设备侧字库现状与一致性(要固化才生效,不白拉一次)flythings_pack_upgrade:固化升级包update.img(TF 卡 / ADB setprop / zkautoupgrade / HTTP OTA 四种刷法)换开机 logo:
boot_logo.JPG→ MISC 分区(跟update.img同一套升级机制与触发;体积必须 ≤ MISC 分区大小 —— 本板 Z21 实测 512 KB,先量cat /proc/mtd)→python tools/make_boot_logo.py --size 1024x600 --out boot_logo.JPG(生成 + 体积闸门)/python tools/set_boot_logo.py --image boot_logo.JPG --device <serial|IP:5555>(默认 dry-run,--yes才真触发); 细节与待验证项见knowledge/devflow/upgrade-pack-image.md§三flythings_create_project/flythings_create_bin_project:从内置模板建工程(F133/F135/Z21/Z20/T113/V85X/Z235X)ftu 能反解析回 json 了(v0.27.91,钟工:「fui 的 unpack 能力释放出去」):随包
toolchain/fui.exe换成支持unpack的版本, 新增flythings_fui_unpack(默认覆盖同目录同名 json,ftu 为真源;要保留原 json 传overwrite=false);read_json传.ftu不再报「加密无法解析」——先 unpack 再读。V85x 芯片名也能直接当平台入参(v0.27.87):
V851 / V851S / V851S3 / V853 / V853S / V553 / V552(含v851s这种大小写混写) 一律 resolve 成 V85X,包键走v85x(SPINOR)/v85xemmc(EMMC);芯片名不是包键(拿v851s查包会查空)
flythings_attach_cli_tools:把fui.exe/fun.exe复制进项目,客户不用装 IDE 也能编译部署flythings_validate_project:工程规范全检(依赖 / 框架约定 / 时间戳防呆)工具链安装(Z235X):把
z235x工具链放到<fun 安装目录>/toolchains/z235x/(目录名 = 平台小写键);工具链不随本包分发,缺了fun build -p Z235X会报platform toolchain url must not be empty——先放好再编译
🧪 整机自检与缺陷单
整机快照
flythings_selfcheck:九个分区(设备信息 / 应用状态 / 显示 / 存储 / 网络 / 蓝牙 / 输入 / 外设 / 时间) 每区给{ok, hint, data}—— 「读不到」本身是结论(ok=false+ hint 说清需要什么条件 / 去哪查),绝不静默吞掉; 采集容忍设备缺工具(优先随仓bin_tools/<平台>/busybox,否则纯 adb shell + getprop/cat);diff_against=<上次快照.json>逐分区逐项比对,out=<json>落盘(可复用作基线)。缺陷单
flythings_bugreport:把 AI 产出的缺陷清单 + 真机判据落成可提交 markdown —— 格式对齐 2026-09-27 html2json A1~A8 那批(现象 / 复现步骤 / 期望 vs 实际 / 真机判据 / 证据 / 影响面),真机判据自动附 型号·固件·应用状态·最近logcat -d -s zkgui摘要;证据文件不存在会直接报 EVIDENCE_MISSING(不静默跳过)。 默认写<项目或本包>/temp/bugreports/<yyyymmdd-HHMM>-<slug>.md。
📦 依赖包与 Manifest
包检索 / 版本 / 头文件级 API(
package_search/query_package/get_package_api)Manifest 生成(
flythings_manifest,默认 dry_run 只推荐)→ 加包add_package→ 递归解析resolve_dependencies→ include 对账check_project_deps
🧠 知识库与硬件
全离线检索(本地 bge-small-zh 向量 + BM25 双路 RRF,返回体带
quality/source,模型不可用自动降级),无需任何 API Key硬件型号库(
flythings_hardware_info):分辨率/方向、按键值、接口规格;未收录只给候选不猜规格版本/工具数查询(
flythings_get_version)
🌐 i18n 与自动化测试
多语言:
scan/add_language/export/import/refactor/to_json自动化测试:
flythings_gen_ui_test(traverse / monkey / custom,真机触摸注入)
🧩 可复用组件(components/,随本 MCP 一起发布)
ble/(BLE 门面zk::ble)、fonts/(思源黑体三版 + 设备字体自检)、icons/(Tabler 图标库单归档 + 单色 PNG 按需生成)imagecache/(列表封面「已解码位图」缓存zk::ImageCache:治 listview 刷新/回页重设封面反复解码,真机回页重设同一批 315 ms → 1 ms;口径见knowledge/uicontrols/listview-image-cache.md)ui_v1/:平台没有的能力做成自定义控件包(如Chart/图表、Calendar/日历),含 example 与真机证据
🔌 MCP 原生原语
resource:
flythings://catalog/knowledge、flythings://knowledge/<分类>/<文件>.md、flythings://tools、flythings://versionprompt:
flythings-new-project/ui-from-prototype/ui-verify/deploy-debug/package-deps
当前版本 0.27.134-open(43 个工具);工具清单 / 平台矩阵 / 知识规模快照见 tools_manifest.json,自检闸门见 scripts/check_consistency.py --with-tests。
MIT License · FlyThings Team · 深圳中科世为科技有限公司 · developer.flythings.cn
This server cannot be deployed
Maintenance
Related MCP Connectors
Run, build, and validate firmware on virtual hardware from your AI agent. Hardware knowledge corpus.
Build, version, review, and export websites, web apps, and games from a conversation.
- MaketaOAuthpro.maketa
Build and edit app screen mockups and clickable prototypes from your AI assistant.
Deploy AI-generated HTML/CSS/JS to instant public HTTPS URLs from any MCP-compatible agent.
Related MCP Servers
- AlicenseAqualityDmaintenanceProvides AI assistants with a complete FPGA toolchain for HDL linting, simulation, synthesis, and place-and-route across various hardware targets. It features a GitHub-backed IP core registry that enables users to search for and import MIT-licensed cores directly through their chat interface.151MIT
- AlicenseAqualityAmaintenanceLocal-first visual design workspace for AI assistants. Compose wireframes and branded multi-page HTML/CSS documents with live preview, annotations, brand and asset libraries, typed data collections, layout validation, PDF export, and draft-only Gmail handoff.1428 npm19MIT
- AlicenseAqualityBmaintenanceEnables AI coding assistants to perform complete headless STM32 embedded firmware development, including project creation, pin configuration, code generation, building, and flashing, by driving the official STM32 command-line toolchain.9MIT
- AlicenseBqualityAmaintenanceLets AI agents draw, inspect, refine, and build fonts locally, managing UFO revisions, HarfBuzz previews, validation, and TTF/WOFF2 exports.20MIT