Melakukan linting pada halaman web yang telah dirender terhadap aturan design system di browser Chromium asli untuk memastikan kesesuaian visual dan aksesibilitas.
Juga dikenal sebagai Applied-Form/engine, engine, @appliedform/engine
- Stars
- 0
- Tools
- —
- Unduhan, 30 hari
- 563
- Versi terbaru
- 3.3.1
- Commit terakhir
- 6 Nov 2026
- Lisensi
- Apache-2.0
Apa itu Applied Form Standards MCP?
Applied Form Standards adalah MCP server. Melakukan linting pada halaman web yang telah dirender terhadap aturan design system di browser Chromium asli untuk memastikan kesesuaian visual dan aksesibilitas.
Ringkasan dibuat dari README proyek
Tentang Applied Form Standards MCP server
Applied Form engine menyediakan gerbang kepatuhan design system dengan merender halaman web di browser Chromium asli. Tool ini mengevaluasi properti visual dan aksesibilitas dengan memeriksa nilai computed terhadap aturan spesifik, bukan hanya memeriksa stylesheet. Tool ini dirancang untuk developer dan designer yang perlu memastikan bahwa konten yang dirender mematuhi design tokens dan standar aksesibilitas di berbagai lebar viewport, termasuk mode print dan reduced motion.
User dapat menjalankan server secara lokal menggunakan npm dan Playwright. Sistem ini memerlukan file token DTCG untuk menentukan aturan desain, meskipun ia dapat melakukan pengecekan dasar untuk kontras, fokus, dan urutan heading tanpa sistem kustom yang dimuat. Untuk integrasi dengan AI agent, server menyediakan blok konfigurasi untuk Claude Code atau Cursor. Tool ini menyertakan tool spesifik seperti standards_lint untuk memeriksa halaman dan standards_fix untuk menerapkan koreksi tertentu secara otomatis ke file HTML.
Apa yang bisa Anda lakukan dengannya
- 1Verifikasi kepatuhan design systemPeriksa apakah halaman web mengikuti design tokens dan aturan tertentu dengan merendernya di browser asli.
- 2Melakukan audit halaman secara massalHasilkan laporan komprehensif untuk seluruh folder halaman web guna mengidentifikasi masalah WCAG dan desain.
- 3Deteksi design system driftAnalisis situs web yang sedang berjalan untuk menentukan design system mana yang sebenarnya sedang dirender.
Ditulis berdasarkan README proyek. Setiap use case diperiksa terhadap kutipan dari README tersebut.
Cara menginstal Applied Form Standards MCP
Format diverifikasi 10 Nov 2026Instal Applied Form Standards MCP di Claude Code
$ claude mcp add engine -- npx -y @appliedform/engineInstal Applied Form Standards MCP di Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"engine": {
"command": "npx",
"args": [
"-y",
"@appliedform/engine"
]
}
}
}Instal Applied Form Standards MCP di VS Code
.vscode/mcp.json
{
"servers": {
"engine": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@appliedform/engine"
]
}
}
}Instal Applied Form Standards MCP di Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"engine": {
"command": "npx",
"args": [
"-y",
"@appliedform/engine"
]
}
}
}Instal Applied Form Standards MCP di Codex
~/.codex/config.toml
[mcp_servers.engine] command = "npx" args = ["-y", "@appliedform/engine"]
Instal Applied Form Standards MCP di Gemini CLI
~/.gemini/settings.json
{
"mcpServers": {
"engine": {
"command": "npx",
"args": [
"-y",
"@appliedform/engine"
]
}
}
}Pengecekan otomatis
Berjalan 13 Nov 2026Laporan lengkap →Lolos checks otomatis kami. Ini bukan audit keamanan: baca kodenya dan berikan server akses paling terbatas yang dibutuhkannya. Cara kerja checks
- Source repository terhubung dan dapat dijangkauapplied-form/engine is public and reachablegithub.com/applied-form/engine ↗Lolos
- Paket menyebut repo ini sebagai sumbernya@appliedform/engine names applied-form/engine as sourcenpmjs.com/package/@appliedform/engine ↗Lolos
- Provenance build (atestasi Sigstore)Sigstore attestation for @appliedform/enginenpmjs.com/package/@appliedform/engine/v/3.3.1#provenance ↗Lolos
- Lisensi open source (OSI)Apache-2.0spdx.org/licenses/Apache-2.0.html ↗Lolos
- Ada commit atau release dalam satu tahun terakhirLast commit or release 2026-11-06github.com/applied-form/engine ↗Lolos
- OpenSSF ScorecardTidak diperiksa
- Nama package tidak mirip dengan package populerNo popular package one edit away from @appliedform/engineLolos
- Tidak ada advisory kritis di paket maupun dependensinya3 resolved dependencies checked; no critical advisoryosv.dev ↗Lolos
- Tidak ada instruksi tersembunyi untuk model0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersLolos
- Tools yang bersifat destruktif telah diberi labelTidak diperiksa
- Endpoint remote menjawab handshake MCPTidak diperiksa
README
Lihat di GitHubStandards by Applied Form
A design-system conformance gate measured in a real browser. Give it a DTCG token file and a page; it renders the page in Chromium at four fixed widths and two sampled ones, under reduced motion and in print, and checks every computed value against the system's rules. It reports what the browser drew, not what the stylesheet says.
Standards is open so the evidence about it can be checked. Every comparison it is quoted in can be rerun from this repository: the gate beside axe-core and stylelint, the drift survey of public design systems, and the model study and its judging rounds, with every record they were scored from.
Start
npm install @appliedform/standards && npx playwright install chromium
npx standards init --pack instrument # load a system: the free Standards pack, or your pack's tokens.json
npx standards lint page.html # your page, judged by that system's rules, at every width
With no system loaded, standards lint judges a page by the rules that hold for any page (contrast, focus,
target size, overflow, alt text, heading order, motion) and says how to load one. For an agent,
npx standards mcp-config prints the server block for Claude Code or Cursor.
Use
npx standards lint page.html https://example.com/page # every rule, every width
npx standards lint https://example.com/ --register ii # a page that has not declared a register
npx standards baseline https://example.com/a --out standards-baseline.json
npx standards lint https://example.com/a --baseline standards-baseline.json
npx standards fix page.html # apply the fixes it can make; writes page.fixed.html
npx standards audit pages/ --fix # every page in a folder, as found and as the fixer would leave it, as one report
npx standards drift https://example.com/ --out drift.json # what system a site actually renders
npx standards rules # every rule, its severity and what it checks
npx standards mcp # the same tools for a model, over MCP
standards fix exits 0 when the fixed page passes every checked rule, 1 when violations remain, and lists
what it could not fix by rule and element. standards audit writes one self-contained HTML page (and --json)
with the findings by rule and by page, the WCAG criteria the rules touch, what is not checked, and
the command that repeats the run. standards lint exits 1 on any error-severity violation not
held in the baseline. standards.config.json sets a
rule to error, warn or off; standards.config.example.json is a starting point. The exception is a
mandatory rule: contrast, text-too-small, target-size, focus-hidden, link-not-underlined,
alt-missing, horizontal-overflow and wordmark-live-text, listed under
$extensions["form.applied"].levels.mandatory in the token file. A config that sets one of them to
warn or off is refused, and standards lint exits 2 (decision 0027 in the Applied Form repository).
A system loaded over the token file may raise the thresholds contrast and text-too-small read
(floors.body-contrast, display-contrast, large-text-px, large-bold-text-px, text-min-px)
and is refused if it lowers one below the token file's own value. A system that declares a pack
and states no register.pack is refused too: it judged every page by register alone and then
dropped that house rule, so no mandatory rule was measured. So is a system with a register whose
background is not a colour. Four gaps are known. On a page whose register the loaded
system does not define, with or without a system, a config that lowers register leaves the
mandatory rules unmeasured. A system
file that declares itself a pack is judged without text-too-small, link-not-underlined and
wordmark-live-text. On a page that paints no ground, contrast measures against the ground the
system names. The MCP tools standards_lint and standards_fix measure only the widths a caller names, so a
call without 320 never measures horizontal-overflow at 320px.
Names that changed
Standards 5.0.0 removed the names the product had before it was called Standards: the af and af-mcp
commands, the af_* MCP tools, AF_BRAND and AF_CHROMIUM, af.config.json, af-baseline.json and
.af/. They are not read: standards stops with exit status 2 and one line naming the replacement when a variable or file under an old name is in use. standards, the standards_* tools,
STANDARDS_SYSTEM, STANDARDS_CHROMIUM, standards.config.json, standards-baseline.json and
.standards/ replace them, and the default report file is standards-audit.html. Uninstall
@appliedform/engine before installing @appliedform/standards: both ship the af and af-mcp bins,
so a global install of one over the other fails with EEXIST. The full list, with what to change, is in
docs/migrating-to-5.md.
Documents recorded before the rename, such as the decision records and the evaluation protocol and its results, use the old names, and are not rewritten.
The token file
tokens/applied-form.tokens.json is the Reference system: Standards' structure (registers,
voices, spacing, floors and every rule's parameters) with a neutral palette derived by standards brand.
It exists so Standards can be tested and published. It is not a design to ship. Point it
at your own system by replacing the file, or by importing a Standards pack with standards system import.
Evidence
| What | Where | Rerun |
|---|---|---|
| The gate beside axe-core and stylelint on planted defects | eval/compare.mjs, test/compare.test.mjs |
npm run eval:compare |
| Drift across public design systems | eval/drift/ |
npm run drift:batch -- all |
| Models generating pages with and without the rules | eval/, docs/evaluation-protocol.md |
npm run eval -- --models stub offline, then with keys |
| A judging round with anchors and attention checks | eval/judge-run.mjs |
npm run eval:judge |
The protocol was written before the runs it governs, and it says what result would count against Standards. These run from a clone of this repository: the npm package carries Standards and nothing that needs a model SDK, axe-core or stylelint.
Develop
npm install
npm run check # build, unit tests, and the clean fixture linted in a real browser
Tests use node:test. Set STANDARDS_CHROMIUM to a Chromium executable if Playwright has not downloaded
one.
Licence
Apache-2.0. See LICENSE and NOTICE. The name Applied Form and its marks are not licensed.
Pertanyaan tentang Applied Form Standards MCP
Bagaimana cara menambahkan Applied Form Standards MCP ke Claude Code?
Jalankan claude mcp add engine -- npx -y @appliedform/engine di terminal Anda. Tambahkan --scope user agar tersedia di semua proyek.
Bagaimana cara menambahkan Applied Form Standards MCP ke Cursor?
Buka ~/.cursor/mcp.json dan tambahkan server di bawah mcpServers, menggunakan config Cursor yang ditunjukkan di bagian instalasi di atas.
Bagaimana cara menggunakan ini dengan AI agent seperti Claude Code atau Cursor?
Anda dapat membuat konfigurasi yang diperlukan dengan menjalankan perintah npx standards mcp-config.
Apakah tool ini bisa memperbaiki pelanggaran design system secara otomatis?
Ya, perintah standards fix akan menerapkan perbaikan jika memungkinkan dan menulis hasilnya ke file HTML baru.
Apa yang terjadi jika saya mencoba menonaktifkan aturan aksesibilitas yang wajib?
Tool ini akan menolak untuk berjalan dan keluar dengan status 2 jika Anda mencoba mengatur aturan wajib seperti kontras atau ukuran target ke mode warn atau off.
Apakah ia memeriksa output yang dirender atau hanya CSS saja?
Ia memeriksa nilai computed sebagaimana dirender oleh browser, bukan sekadar memeriksa stylesheet.