kasy-mcp

中文文档
0.25.0发布于 2026/11/04UNLICENSEDES Module

MCP server for the Kasy kit. Lets any MCP-capable AI (Claude Desktop, Claude Code, Cursor, ...) prepare a machine, scaffold a Kasy project, and build screens that follow the kit's design system, without touching a terminal.

原始使用文档
文档目录7 节
  1. What it adds over just running kasy in a terminal
  2. Install
  3. Tools (overview)
  4. Licensed playbooks (where the long instructions live)
  5. Structured user questions (quiz UI)
  6. Resources
  7. Local development

kasy-mcp

An MCP server for the Kasy kit. It runs locally on your machine — installed for free via npm/npx, no server hosted by Kasy involved — and exposes the kasy CLI (already a dependency of this package, nothing else to install) as tools any MCP-capable AI can call: Claude Desktop, Claude Code, Cursor, and anything else that speaks MCP.

It also exposes this project's own design-system guide as an MCP resource, so the AI reads this project's real components/tokens/docs before building a screen, instead of guessing or inventing raw Material widgets.

What it adds over just running kasy in a terminal

Nothing, technically — every tool here shells out to the same kasy command you'd run yourself, including its license check. The point is for people who don't have (or don't want) a terminal: ask "prepare my machine with Kasy" or "create a project with Kasy" in a chat, and the AI does it through this MCP instead of walking you through commands to copy-paste.

Install

Stable (recommended):

npm install -g kasy-mcp
{
  "mcpServers": {
    "kasy": {
      "command": "kasy-mcp"
    }
  }
}

Quick start with npx (fine for a first try; if MCP turns red after an update, run kasy doctor --heal-mcp or switch to the global install above):

claude mcp add kasy -- npx -y kasy-mcp
{
  "mcpServers": {
    "kasy": {
      "command": "npx",
      "args": ["-y", "kasy-mcp"]
    }
  }
}

Tools (overview)

AreaTools
Machineprepare_machine, run_setup_command, check_kasy_updates, upgrade_kasy
Projectcreate_project, list_features, add_feature, remove_feature, check_status, check_project, configure_status, update_project, deploy_backend, deploy_backend_status, create_project_status, configure_backend, list_flows, add_flow, kanban
Runrun_app, reload_app, stop_app, reset_app, clear_web_storage
Brandingrebrand_project (guided: asks, previews, applies only after a yes), rename_app (provisional name → final name; store ID only before publishing; preview then confirmed: true), set_primary_color, set_icon, set_splash, set_favicon
Orchestrationcreate_screens, finalize_project (both return cloud playbooks; the AI does the work)
Phone sign-insetup_phone_login (check, enable, disable)
Credentialsconfigure_license, setup_social_login, configure_apple_web, configure_facebook_login, configure_google_login, configure_ios_signing, configure_android_signing, configure_codemagic, configure_project_keys, set_notification_texts
Publishrelease_ios, build_ios, clean_ios, release_android, build_aab, build_apk_signed, build_apk, codemagic_release, codemagic_status, manage_domain, set_release_version
Fixfix_project
Designlist_components
Browser QAbrowser_qa_guide
Escapelist_commands, run_kasy_command, read_kasy_docs, report_issue

run_app asks (via the assistant) which platform, and for web whether to open Flutter Chrome or only print http://localhost:5555. Do not use run_kasy_command for kasy run.

The configure_* tools replace the interactive wizards (kasy ios/android/ codemagic configure, full kasy configure), which can't run over MCP because stdin is closed: the assistant collects every value via structured quiz UI or MCP elicitation first, then calls the tool once with all of them.

Licensed playbooks (where the long instructions live)

rebrand_project, create_screens and finalize_project do not carry their instructions in code. They ask the kasy-playbook edge function, which returns the Markdown only for an active subscription on this machine. No public page and no copy inside the npm package. Without a key, with an inactive plan, on another device, or offline, the tool returns PLAYBOOK LOCKED.

WhatWhere
Source of truth (edit here)mcp/playbooks/*.md
Function bundle (generated)license-server/supabase/functions/kasy-playbook/bundle/
Public pagea stub only, at site/kasy-v3/public/mcp/playbooks/

Ship an instruction change:

# 1. edit mcp/playbooks/<name>.md
node mcp/scripts/sync-playbooks.js
node mcp/test/playbooks.test.js
# 2. deploy the function (not the marketing site):
supabase functions deploy kasy-playbook --project-ref xkefozfsrmqjtesiitvk

create_screens builds immediately for one screen. A whole product goes through finalize_project, which returns one stage at a time and records it under ~/.kasy/flow-runs/. create_project and create_screens refuse until that tool returns the build stage, after the summary yes and the plan yes (the plan yes includes whether there is a reference, and the pushed routes). With no reference, the kit welcome, login, sign up, home and settings stay. With a reference, every product screen is rebuilt in that look (welcome, login, sign up, profile, settings presentation, menu). Paywall and admin stay the kit. The plan yes also takes referenceImages (a path forces the reference on, even with a short brief) and checks (a tap the tool will perform). Before verify, the assistant looks at every screen again (fidelity, the action, the destination) and says which screen it is on, instead of going quiet. Verify drives the running web app itself, in light and dark, phone and wide, compares the screen color to the image, performs those taps, and runs flutter analyze. .kasy/screen-audit.json does not pass. Verify also stays while a product screen is still the kit file or uses ListTile. Tests run in the editor browser beside the chat, one screen at a time. Talk to the person about the screen that is open, in plain language, in the language of the conversation. Do not say it will be ready in a few minutes. rebrand_project still applies only with confirmed: true.

Structured user questions (quiz UI)

When a tool needs several choices (create project, run platform, configure wizards), agents should not paste numbered markdown lists in chat.

  1. IDE quiz (Cursor): use AskQuestion step by step, then call the tool with all args. Do not set useElicitationForm in Cursor. The Cursor MCP elicitation renderer does not turn enum into dropdowns and may pre-fill the first enum value, so the form is not a substitute for AskQuestion.
  2. MCP elicitation: for clients without quiz UI (Claude Desktop, etc.), call the tool with useElicitationForm: true and missing required args. Choice fields use a blank first enum value so clients that auto-fill enum[0] do not pick a real default.
  3. Fallback: one short open question only when neither exists.

Resources

URIWhat
kasy://design-system-guidelive DESIGN_SYSTEM.md + AGENTS.md from the open project
kasy://architecturefeature-first folder/data-flow convention

Local development

npm install
node scripts/smoke-test.js

版本与发布记录

kasy-mcp 共发布 105 个版本,首次发布于 2026/07/20;过去 12 个月发布了 105 个版本。

版本发布日期距今
0.25.0latest2026/11/041 天前
0.24.92026/11/032 天前
0.24.82026/11/032 天前
0.24.72026/11/032 天前
0.24.62026/11/032 天前
0.24.52026/11/023 天前

关于 kasy-mcp 的常见问题

kasy-mcp 是什么?

MCP server for the Kasy kit. Lets any MCP-capable AI (Claude Desktop, Claude Code, Cursor, ...) prepare a machine, scaffold a Kasy project, and build screens that follow the kit's design system, without touching a terminal.

如何安装 kasy-mcp?

在项目目录运行 npm install kasy-mcp,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 kasy-mcp,可以用 npx kasy-mcp 直接运行。

kasy-mcp 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/kasy-mcp 是否存在。

kasy-mcp 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

kasy-mcp 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=18。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

kasy-mcp 可以商用吗?

kasy-mcp 使用 UNLICENSED 许可。作者声明为 UNLICENSED,即不授予公开使用许可(与公共领域的 Unlicense 不同)。使用前需获得作者授权。以上为概括,不构成法律意见,请以许可原文为准。

kasy-mcp 还在维护吗?

最新版本 0.25.0 发布于 2026/11/04(1 天前);至今共发布 105 个版本,其中过去 12 个月发布了 105 个;首次发布于 2026/07/20。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。