MCP Frontend Tools Server
mcp-frontend-tools
Der Referenz-Server für das Model Context Protocol für Frontend-Arbeiten. Eine einzige Installation gibt jedem Coding-Agent — Claude Desktop, Cursor, VS Code, Zed, Continue — echte Augen und Hände für Ihr UI:
axe_audit— führt die echteaxe-coreRegel-Engine gegen rohes HTML (via jsdom) oder eine Live-URL (via Playwright) aus. Gibt Verstöße zurück, gruppiert nach WCAG-Auswirkung mit Links zur Fehlerbehebung.page_screenshot— Headless-Chromium PNGs jeder URL oder jedes CSS-Selektors, mit Steuerung für Viewport / DPR / Farbschema /waitForSelector.bundle_budget_check— durchsucht eindist/-Verzeichnis, berechnet gzip- (+ optionale brotli-) Größen und erzwingt ein globales oder pro-Eintrag KB-Budget. CI-bereites Pass/Fail-JSON.design_token_diff— struktureller Diff von zwei W3C DTCG / Style Dictionary Token-Dateien. Meldet hinzugefügte / entfernte / geänderte Token mit$type-bewussten Hinweisen.storybook_story_run— lädt eine einzelne Storybook-Story in Headless Chromium viaiframe.html?id=…, erstellt einen Screenshot und führt eine axe-Prüfung nur für die gerenderte Komponente durch.scaffold_react_component— erstellt eine typisierte React-Komponente (funktional /forwardRef/ polymorphas) plus optionalen Vitest-Test und Storybook-Story.
Alle Tools geben strukturiertes JSON zurück, das das Modell verarbeiten kann. Keine maßgeschneiderten Wrapper pro Editor.
Installation
npm i -g @ashios15/mcp-frontend-tools
# Optional — enables page_screenshot, storybook_story_run, and URL-mode axe_audit
npm i -g playwright
npx playwright install chromiumNode ≥ 20 ist erforderlich. Ohne Playwright startet der Server trotzdem; diese drei Tools geben bei Aufruf einen klaren "install playwright"-Fehler zurück.
Claude Desktop
Hinzufügen zu ~/Library/Application Support/Claude/claude_desktop_config.json (oder dem Windows-Äquivalent):
{
"mcpServers": {
"frontend-tools": {
"command": "mcp-frontend-tools"
}
}
}Cursor
Einstellungen → MCP → Neuen Server hinzufügen:
{
"frontend-tools": { "command": "mcp-frontend-tools" }
}VS Code (GitHub Copilot Agent-Modus)
Hinzufügen zu .vscode/mcp.json:
{
"servers": {
"frontend-tools": { "command": "mcp-frontend-tools" }
}
}MCP Inspector
npx @modelcontextprotocol/inspector mcp-frontend-toolsRelated MCP server: Components Build MCP
Tool-Referenz
axe_audit
{
url?: string; // require playwright
html?: string; // jsdom
tags?: string[]; // default: wcag2a/aa + wcag21aa + wcag22aa + best-practice
selector?: string; // URL mode only
timeoutMs?: number; // default 15000
}Gibt Verstöße und unvollständige Regeln mit impact, help, helpUrl und bis zu 5 fehlerhaften Beispielknoten pro Regel zurück.
page_screenshot
{
url: string;
outPath: string; // absolute; parent dirs auto-created
selector?: string;
fullPage?: boolean;
width?: number; // default 1280
height?: number; // default 800
deviceScaleFactor?: number;// default 2
colorScheme?: "light" | "dark" | "no-preference";
waitForSelector?: string;
timeoutMs?: number;
}bundle_budget_check
{
buildDir: string;
budgetKb?: number; // default 250 (gzipped)
perEntryBudgetKb?: Record<string, number>;// key = path substring, longest match wins
ext?: string[]; // default [".js",".mjs",".cjs",".css"]
includeBrotli?: boolean;
}Gibt jede Datei mit Roh- / gzip- / brotli-Größen, ihrem angewendeten Budget und status: "pass" | "fail" zurück.
design_token_diff
{
beforePath: string;
afterPath: string;
ignoreKeys?: string[];
}Versteht die W3C DTCG-Form ($value, $type). Gruppen-Metadaten-Schlüssel, die mit $ beginnen, werden ignoriert. Farb- / Dimensionsänderungen erhalten annotierte notes.
storybook_story_run
{
storybookUrl: string; // e.g. http://localhost:6006
storyId: string; // e.g. components-button--primary
screenshotPath?: string;
runAxe?: boolean; // default true
viewport?: { width: number; height: number };
colorScheme?: "light" | "dark" | "no-preference";
timeoutMs?: number;
}Lädt ${storybookUrl}/iframe.html?viewMode=story&id=${storyId}, wartet auf #storybook-root und meldet alle Seitenfehler + axe-Verstöße, die auf die Story begrenzt sind.
scaffold_react_component
{
name: string; // PascalCase
outDir: string; // absolute
variant?: "functional" | "forwardRef" | "polymorphic";
withTests?: boolean; // default true
withStory?: boolean; // default true
props?: Array<{ name: string; type: string; required?: boolean; defaultValue?: string }>;
}Warum dies statt Ad-hoc-Skripten?
Agenten erhalten typisierte Verträge. Jedes Tool ist ein Zod-validiertes JSON-Schema, das das Modell untersuchen kann.
Keine lokale Halluzination. Axe-Verstöße stammen von der echten axe-core-Engine, nicht von einem Regex. Bundle-Größen stammen von tatsächlicher
zlib-Kompression, nicht von Schätzungen.Komponierbar.
bundle_budget_checkschlägt fehl → fordern Sie den Agenten auf, die größte Datei inpage_screenshotzu ziehen → speisen Sie das Bild in einen visuellen Regressionsschritt ein. Alles über MCP.Stabile Oberfläche. Tools ändern sich hinter einem Versionssprung; Ihre
.vscode/mcp.jsonnicht.
Entwicklung
git clone https://github.com/ashios15/mcp-frontend-tools.git
cd mcp-frontend-tools
npm install
npm run test # 3 unit tests (bundle + tokens + scaffold)
npm run build
npm run inspector # opens MCP Inspector against the built server
node scripts/smoke.mjs # quick stdio tools/list checkLizenz
MIT © ashios15
mcp-frontend-tools
Der Referenz-Server für das Model Context Protocol für Frontend-Arbeiten. Eine einzige Installation gibt jedem Coding-Agent — Claude Desktop, Cursor, VS Code, Zed, Continue — echte Augen und Hände für Ihr UI:
axe_audit— führt die echteaxe-coreRegel-Engine gegen rohes HTML (via jsdom) oder eine Live-URL (via Playwright) aus. Gibt Verstöße zurück, gruppiert nach WCAG-Auswirkung mit Links zur Fehlerbehebung.page_screenshot— Headless-Chromium PNGs jeder URL oder jedes CSS-Selektors, mit Steuerung für Viewport / DPR / Farbschema /waitForSelector.bundle_budget_check— durchsucht eindist/-Verzeichnis, berechnet gzip- (+ optionale brotli-) Größen und erzwingt ein globales oder pro-Eintrag KB-Budget. CI-bereites Pass/Fail-JSON.design_token_diff— struktureller Diff von zwei W3C DTCG / Style Dictionary Token-Dateien. Meldet hinzugefügte / entfernte / geänderte Token mit$type-bewussten Hinweisen.storybook_story_run— lädt eine einzelne Storybook-Story in Headless Chromium viaiframe.html?id=…, erstellt einen Screenshot und führt eine axe-Prüfung nur für die gerenderte Komponente durch.scaffold_react_component— erstellt eine typisierte React-Komponente (funktional /forwardRef/ polymorphas) plus optionalen Vitest-Test und Storybook-Story.
Alle Tools geben strukturiertes JSON zurück, das das Modell verarbeiten kann. Keine maßgeschneiderten Wrapper pro Editor.
Installation
npm i -g @ashishjoshi/mcp-frontend-tools
# Optional — enables page_screenshot, storybook_story_run, and URL-mode axe_audit
npm i -g playwright
npx playwright install chromiumNode ≥ 20 ist erforderlich. Ohne Playwright startet der Server trotzdem; diese drei Tools geben bei Aufruf einen klaren "install playwright"-Fehler zurück.
Claude Desktop
Hinzufügen zu ~/Library/Application Support/Claude/claude_desktop_config.json (oder dem Windows-Äquivalent):
{
"mcpServers": {
"frontend-tools": {
"command": "mcp-frontend-tools"
}
}
}Cursor
Einstellungen → MCP → Neuen Server hinzufügen:
{
"frontend-tools": { "command": "mcp-frontend-tools" }
}VS Code (GitHub Copilot Agent-Modus)
Hinzufügen zu .vscode/mcp.json:
{
"servers": {
"frontend-tools": { "command": "mcp-frontend-tools" }
}
}MCP Inspector
npx @modelcontextprotocol/inspector mcp-frontend-toolsTool-Referenz
axe_audit
{
url?: string; // require playwright
html?: string; // jsdom
tags?: string[]; // default: wcag2a/aa + wcag21aa + wcag22aa + best-practice
selector?: string; // URL mode only
timeoutMs?: number; // default 15000
}Gibt Verstöße und unvollständige Regeln mit impact, help, helpUrl und bis zu 5 fehlerhaften Beispielknoten pro Regel zurück.
page_screenshot
{
url: string;
outPath: string; // absolute; parent dirs auto-created
selector?: string;
fullPage?: boolean;
width?: number; // default 1280
height?: number; // default 800
deviceScaleFactor?: number;// default 2
colorScheme?: "light" | "dark" | "no-preference";
waitForSelector?: string;
timeoutMs?: number;
}bundle_budget_check
{
buildDir: string;
budgetKb?: number; // default 250 (gzipped)
perEntryBudgetKb?: Record<string, number>;// key = path substring, longest match wins
ext?: string[]; // default [".js",".mjs",".cjs",".css"]
includeBrotli?: boolean;
}Gibt jede Datei mit Roh- / gzip- / brotli-Größen, ihrem angewendeten Budget und status: "pass" | "fail" zurück.
design_token_diff
{
beforePath: string;
afterPath: string;
ignoreKeys?: string[];
}Versteht die W3C DTCG-Form ($value, $type). Gruppen-Metadaten-Schlüssel, die mit $ beginnen, werden ignoriert. Farb- / Dimensionsänderungen erhalten annotierte notes.
storybook_story_run
{
storybookUrl: string; // e.g. http://localhost:6006
storyId: string; // e.g. components-button--primary
screenshotPath?: string;
runAxe?: boolean; // default true
viewport?: { width: number; height: number };
colorScheme?: "light" | "dark" | "no-preference";
timeoutMs?: number;
}Lädt ${storybookUrl}/iframe.html?viewMode=story&id=${storyId}, wartet auf #storybook-root und meldet alle Seitenfehler + axe-Verstöße, die auf die Story begrenzt sind.
scaffold_react_component
{
name: string; // PascalCase
outDir: string; // absolute
variant?: "functional" | "forwardRef" | "polymorphic";
withTests?: boolean; // default true
withStory?: boolean; // default true
props?: Array<{ name: string; type: string; required?: boolean; defaultValue?: string }>;
}Warum dies statt Ad-hoc-Skripten?
Agenten erhalten typisierte Verträge. Jedes Tool ist ein Zod-validiertes JSON-Schema, das das Modell untersuchen kann.
Keine lokale Halluzination. Axe-Verstöße stammen von der echten axe-core-Engine, nicht von einem Regex. Bundle-Größen stammen von tatsächlicher
zlib-Kompression, nicht von Schätzungen.Komponierbar.
bundle_budget_checkschlägt fehl → fordern Sie den Agenten auf, die größte Datei inpage_screenshotzu ziehen → speisen Sie das Bild in einen visuellen Regressionsschritt ein. Alles über MCP.Stabile Oberfläche. Tools ändern sich hinter einem Versionssprung; Ihre
.vscode/mcp.jsonnicht.
Entwicklung
npm install
npm run test # 3 unit tests (bundle + tokens + scaffold)
npm run build
npm run inspector # opens MCP Inspector against the built server
node scripts/smoke.mjs # quick stdio tools/list checkLizenz
MIT © Ashish Joshi
MCP Frontend Tools Server
Ein Model Context Protocol (MCP)-Server, der KI-Assistenten (Claude, Copilot, Cursor) Zugriff auf Frontend-Entwicklungstools gibt — Komponenten-Scaffolding, Bundle-Analyse, Barrierefreiheitsprüfungen und Anleitungen für responsives Design.
Verfügbare Tools
Tool | Beschreibung |
| Generiert eine typisierte React-Komponente mit Tests, Stories und CSS-Modul |
| Scannt ein Build-Verzeichnis auf zu große JS/CSS-Dateien und meldet Ergebnisse |
| Statische WCAG 2.2-Prüfungen auf HTML mit Korrekturvorschlägen |
| Generiert responsives CSS, Container-Query- und Tailwind-Muster |
Einrichtung
Claude Desktop
Hinzufügen zu ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"frontend-tools": {
"command": "node",
"args": ["/path/to/mcp-frontend-tools/dist/index.js"]
}
}
}VS Code mit Copilot
Hinzufügen zu .vscode/settings.json:
{
"github.copilot.chat.mcpServers": {
"frontend-tools": {
"command": "node",
"args": ["${workspaceFolder}/mcp-frontend-tools/dist/index.js"]
}
}
}Beispielanwendung (im KI-Chat)
"Erstelle eine UserProfileCard-Komponente mit Avatar-, Name- und Bio-Props"
Die KI ruft scaffold_react_component auf und erhält:
UserProfileCard.tsx— Typisierte Komponente mit forwardRefUserProfileCard.test.tsx— Testing Library-TestsUserProfileCard.stories.tsx— Storybook-StoryUserProfileCard.module.css— CSS-Modulindex.ts— Barrel-Export
"Analysiere meinen dist/-Ordner auf Probleme mit der Bundle-Größe"
Die KI ruft analyze_bundle auf und gibt einen Markdown-Bericht mit zu großen Dateien, Empfehlungen und einer Zusammenfassungstabelle zurück.
Architektur
src/
├── index.ts # MCP server setup (stdio transport)
└── tools/
├── index.ts # Tool definitions + router
├── scaffold-component.ts # React component generator
├── bundle-analyzer.ts # Build output analyzer
├── a11y-checker.ts # Static WCAG checks
└── responsive-guide.ts # Responsive CSS pattern generatorEntwicklung
npm install
npm run build
npm run inspector # Test with MCP InspectorLizenz
MIT
Available Tools
6 toolsaxe_auditaxe-core Accessibility AuditA
Run the axe-core accessibility ruleset against an HTML string (jsdom) or a live URL (Playwright). Returns violations grouped by impact with fix guidance and helpUrl links.
Inputs: url, html, tags, selector, +1 more.
bundle_budget_checkBundle Budget CheckA
Walk a build directory, measure raw + gzip (+ optional brotli) sizes per file, and flag files that exceed a global or per-entry KB budget. CI-friendly JSON output.
Inputs: buildDir (required), budgetKb, perEntryBudgetKb, ext, +1 more.
design_token_diffDesign Token DiffA
Diff two design-token JSON files (W3C DTCG / Style Dictionary style). Reports added, removed, and changed tokens with $type-aware classification. Useful for PR review of design-system changes.
Inputs: beforePath (required), afterPath (required), ignoreKeys.
page_screenshotPage Screenshot (Playwright)A
Launch headless Chromium, navigate to a URL, and save a PNG screenshot. Supports element selectors, full-page capture, dark mode, and custom viewports. Requires the optional playwright peer dependency.
Inputs: url (required), outPath (required), selector, fullPage, +6 more.
scaffold_react_componentScaffold React ComponentB
Write a TypeScript React component, optional test, and optional Storybook story into outDir. Supports functional, forwardRef, and polymorphic (as prop) variants.
Inputs: name (required), outDir (required), variant, withTests, +2 more.
storybook_story_runStorybook Story RunA
Load a single Storybook story in headless Chromium via iframe.html, optionally screenshot it, and run an axe-core audit against the rendered output. Requires playwright.
Inputs: storybookUrl (required), storyId (required), screenshotPath, runAxe, +3 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 6 tools
Each tool targets a distinct frontend concern: accessibility auditing, bundle sizing, design token diffs, page screenshots, component scaffolding, and Storybook testing. No two tools could be confused.
All tool names follow a consistent 'object_action' or 'domain_action' pattern with lowercase underscores (e.g., axe_audit, design_token_diff). No mixing of conventions.
Six tools is an appropriate size for a frontend utility toolkit. Each tool provides a distinct, useful function without being overwhelming or too sparse.
The set covers key frontend tasks: accessibility, performance, design tokens, component generation, and testing. A minor gap is the lack of a linting or formatting tool, but the surface is coherent for its scope.
Maintenance
Related MCP Connectors
Live React design-system APIs, patterns, and code validation so AI agents build real UI, not slop.
Run accessibility, contrast, and design token audits and file QA issues from your AI coding tool.
Code intelligence platform for AI agents. 20 tools for architecture, security & impact analysis.
Direct access to Cypress tests results and accessibility reports in your AI workflow.
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceProvides AI assistants with advanced frontend debugging capabilities through 36 specialized tools for inspecting React/Vue/Angular/Svelte applications. Uses Playwright browser automation and source map intelligence to analyze components, network requests, bundle optimization, and resolve production errors.-
- AlicenseBqualityDmaintenanceProvides AI assistants with tools to grade, generate, and validate UI components against the components.build specification. Supports searching documentation, checking compliance, and generating framework-agnostic accessible components.1121 npmApache 2.0
- AlicenseAqualityDmaintenanceProvides Figma integration, accessibility auditing, and React code generation tools.8MIT
- AlicenseNot gradedqualityBmaintenanceProvides AI-powered UI design, repo intelligence, and frontend code generation tools, enabling assistants to scaffold projects, generate and modify UI components, manage design tokens, and analyze repositories.MIT