Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Inspect, verify, diff, and scaffold a pracht app's routes, API, and capabilities from its app graph.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"pracht": {
"command": "npx",
"args": [
"-y",
"@pracht/cli",
"dev-mcp"
]
}
}
}在终端中运行这条命令
claude mcp add pracht -- npx -y @pracht/cli dev-mcp粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"pracht": {
"command": "npx",
"args": [
"-y",
"@pracht/cli",
"dev-mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"pracht": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@pracht/cli",
"dev-mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日
注册名称已通过 GitHub 账户 JoviDeCroock 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(1.17.0)于13天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
同一分类中有:Spec Driven Development, Remote Desktop Commander, SwarmMemo
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Talk with agent swarms: rooms, private messages and paid tasks for AI agents
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Command-line tool for developing, building, validating, and scaffolding pracht apps.
npm install @pracht/cli
pracht devStart the local development server with SSR and HMR.
pracht dev
pracht dev --port 4000 pracht dev --cache-dir /tmp/pracht-vite-cache
--cache-dir overrides Vite's node_modules/.vite cache. Give concurrent dev servers separate directories when they run against the same project checkout.
pracht buildCreate a production build with client/server output and SSG/ISG prerendering.
pracht build
pracht build --analyze # per-route client JS report (gzip + raw) pracht build --json # same report as JSON (agent-friendly) pracht build --no-budget-fail # report exceeded budgets without failing
--analyze prints, per route (pattern + render mode), the transitive client chunks it loads with raw and gzip sizes, a total row, and the shared entry chunks broken out. Output respects NO_COLOR.
When the pracht plugin config declares budgets (e.g. budgets: { "*": "120kb", "/dashboard": "200kb" }), every build evaluates the per-route gzip client-JS ceilings, writes dist/server/budget-report.json, and exits non-zero on exceeded budgets unless --no-budget-fail is passed. See docs/PERFORMANCE.md.
For Node.js targets, run the built server with:
node dist/server/server.js
pracht previewServe the production build locally. Runs pracht build first (skip with --skip-build), then serves the output for the configured adapter:
dist/server/server.js on --port (or $PORT, default 3000).wrangler dev against the built worker; requires wrangler in node_modules or on your PATH plus a wrangler config.vercel build / vercel dev instead.pracht preview
pracht preview --port 4000 pracht preview --skip-build
pracht verifyRun fast framework-aware verification checks without paying for a full build or test loop. Use --changed to focus on changed manifest-managed files and --json for machine-readable output. When dist/server/budget-report.json exists (written by pracht build when budgets are configured), the last build's client JS budget results are surfaced as checks.
When the app declares defineApp({ constraints }) or commits a .pracht/app-graph.json snapshot, verification also resolves the live app graph, enforces every constraint, and fails if the snapshot is stale (fix with pracht plan --write).
pracht verify
pracht verify --changed pracht verify --json
Use the browser-backed subcommand for routes that expose WebMCP page tools:
pracht verify webmcp --url http://localhost:3000
pracht verify webmcp --start "pracht preview" --json
It launches an installed Chrome 150+ build with WebMCP testing enabled, compares the native route-scoped tool registry with the resolved app graph, and verifies navigation cleanup. Framework-owned pracht_* development tools are excluded from app-graph parity. Pracht never downloads an unpinned browser; pass --browser /path/to/chrome in CI. --scenario accepts explicit safe WebMCP eval files when invocation/cancellation proof should join the report.
pracht evalRun scripted capability scenarios over HTTP (default), remote MCP ("transport": "mcp"), or native WebMCP ("transport": "webmcp" plus "webmcpRoute"). A WebMCP step can set cancelAfterMs to prove host cancellation reaches the dispatch path.
pracht eval --start "pracht preview"
pracht eval evals/notes-webmcp.eval.json --browser /path/to/chrome --json
pracht planSemantic app-graph diff against a base git ref. Reads the .pracht/app-graph.json snapshot committed at the base ref (a route-graph lockfile), resolves the live graph, and prints the routes, API endpoints, and constraints that were added, removed, or changed — an intent-level changelog for reviewers. Per-route gzip sizes are annotated when the last build wrote a budget report.
pracht plan # diff against origin/main
pracht plan --base main pracht plan --markdown # fenced diff for PR comments pracht plan --json # full structured payload pracht plan --write # refresh .pracht/app-graph.json (commit it)
pracht reportAssemble a PR-ready markdown report from machine truth: the pracht plan diff, pracht verify results, and the last build's client JS budget table. Use it as the factual half of a PR description.
pracht report
pracht report --base main --out pr-report.md
pracht llmsPrint the embedded pracht authoring guide for coding agents (project layout, conventions, the verify → plan → report loop). --write saves it as llms.txt in the app root so agents pick it up automatically.
pracht llms
pracht llms --write
pracht docsRead the pracht docs that ship inside this package, so they match the installed version and work offline. With no topic it lists the pages; a topic prints one as Markdown (slug#section prints one section); --search finds sections. The files are also in node_modules/@pracht/cli/docs/.
pracht docs
pracht docs routing pracht docs --search "loader revalidate"
pracht generate routeCreate a new route module. In manifest apps this also updates src/routes.ts. When the app has a Playwright setup (playwright.config.* or an e2e/ directory), a smoke test is emitted at e2e/ .spec.ts as well — --no-test skips it, --test forces it. Generated tests import @playwright/test; when that dependency is absent, the command prints an install follow-up (for example, pnpm add -D @playwright/test).
pracht generate route --path /dashboard --render ssr --shell app --middleware auth
pracht generate route --path /blog/:slug --render ssg --no-test
pracht generate shellCreate a shell module and register it in the app manifest.
pracht generate shell --name app
pracht generate middlewareCreate a middleware module and register it in the app manifest.
pracht generate middleware --name auth
pracht generate apiCreate an API route under src/api/.
pracht generate api --path /health --methods GET,POST
pracht inspectInspect the resolved app graph. Use --json for agent/tool consumption.
pracht inspect --json
pracht inspect routes --json pracht inspect api --json pracht inspect capabilities --json pracht inspect agents --json pracht inspect build --json
pracht inspect agents summarizes the configured agent surface: Web Bot Auth policy and keys, the destructive-confirmation mode, the remote MCP endpoint, whether llms.txt is generated, and which capabilities are exposed on which transports. The llms.txt state comes from the resolved production server-build configuration, including build- or production-only options. If an older installed @pracht/vite-plugin cannot expose that state, JSON reports null and text reports unknown rather than treating missing metadata as disabled. The JSON report also includes mcpEndpoint, mcpDestructive, mcpRuntimeStatus, and mcpUnavailableReasons; text marks declarations mcp(unserved) or mcp(unverified) when inspection cannot confirm that the tool is reachable.
pracht typegenGenerate src/pracht.d.ts and src/pracht-routes.ts from the resolved route graph for typed , route-object useNavigate(), and href() helpers, plus typed API route registrations for apiFetch(). API modules are not executed during generation. Use --check in CI to fail when generated files are stale. After the first generation, pracht dev keeps the default outputs current; before it, the dev banner prints a one-line setup tip.
pracht typegen
pracht typegen --check
pracht doctorValidate the local app wiring across the whole project. Use --json for machine-readable output.
pracht doctor
pracht doctor --json
pracht dev-mcpStart a Model Context Protocol server on stdio that exposes inspect, doctor, verify, plan, report, generate, the authoring guide, and the bundled docs (get_docs, list_docs, search_docs) as native tools for coding agents. See docs/MCP.md for client registration and the tool reference.
pracht dev-mcp