Review frontend code and live pages against 386 quality-gated web development rules.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Fetches a public HTTPS page and performs a non-exhaustive static review of its HTML, returning prioritized issues and fix guidance. Use it when the user requests an audit of a deployed public page. Localhost, private networks, and plain HTTP URLs are refused. It does not execute the page, measure live Core Web Vitals, or certify accessibility.
Public URL to audit. Must use https://. Private IPs and localhost are blocked.
Only check these categories (default: auto-detected from the fetched HTML).
Lowest priority to report (default: medium).
Fetches a public HTTPS page and performs a non-exhaustive static review of its HTML, returning prioritized issues and fix guidance. Use it when the user requests an audit of a deployed public page. Localhost, private networks, and plain HTTP URLs are refused. It does not execute the page, measure live Core Web Vitals, or certify accessibility.
| Argument | Type | Description |
|---|---|---|
| url* | string | Public URL to audit. Must use https://. Private IPs and localhost are blocked. |
| focus | array | Only check these categories (default: auto-detected from the fetched HTML). |
| minPriority | string | Lowest priority to report (default: medium). |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Public URL to audit. Must use https://. Private IPs and localhost are blocked."
},
"focus": {
"type": "array",
"items": {
"enum": [
"html",
"css",
"javascript",
"performance",
"accessibility",
"seo",
"security",
"images"
],
"type": "string"
},
"description": "Only check these categories (default: auto-detected from the fetched HTML)."
},
"minPriority": {
"enum": [
"critical",
"high",
"medium",
"low"
],
"type": "string",
"description": "Lowest priority to report (default: medium)."
}
}
}Checks a code snippet against one named frontend rule using static heuristics and returns findings and verification guidance. Without code, returns manual verification guidance. Use it when the user requests a check of a specific rule or a proposed fix. Results do not establish rendered-state or runtime conformance.
| Argument | Type | Description |
|---|---|---|
| code | string | Code to test against the rule. Omit to get manual verification steps. |
| slug* | string | Rule slug: the kebab-case rule ID, e.g. 'alt-text' or 'doctype'. The ID must identify a rule in the published catalogue. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"code": {
"type": "string",
"description": "Code to test against the rule. Omit to get manual verification steps."
},
"slug": {
"type": "string",
"description": "Rule slug: the kebab-case rule ID, e.g. 'alt-text' or 'doctype'. The ID must identify a rule in the published catalogue."
}
}
}Explains one frontend rule, including its background, impact on users and the business, and related categories. Use it when the user asks why a practice matters or requests educational context. It returns explanation guidance rather than applying a fix.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Rule slug: the kebab-case rule ID, e.g. 'alt-text' or 'doctype'. The ID must identify a rule in the published catalogue. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Rule slug: the kebab-case rule ID, e.g. 'alt-text' or 'doctype'. The ID must identify a rule in the published catalogue."
}
}
}Returns step-by-step remediation guidance and priority for one named frontend rule. Use it when the user requests implementation or fix instructions for a known issue. Optional codeSnippet provides context; the tool does not edit files or apply changes.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Rule slug: the kebab-case rule ID, e.g. 'alt-text' or 'doctype'. The ID must identify a rule in the published catalogue. |
| codeSnippet | string | Code that violates the rule, so the fix guidance can reference it. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Rule slug: the kebab-case rule ID, e.g. 'alt-text' or 'doctype'. The ID must identify a rule in the published catalogue."
},
"codeSnippet": {
"type": "string",
"description": "Code that violates the rule, so the fix guidance can reference it."
}
}
}Returns titles, priorities, verification and remediation prompts for every rule in a curated checklist. Use it when the user requests guidance for an entire checklist. includeContent optionally adds each rule’s long-form body. Available checklists: accessibility-essentials, comprehensive-audit, core-web-vitals, html-foundations, image-optimization, javascript-resilience, launch-checklist, performance-quick-wins, privacy-and-consent, security-audit, seo-audit, testing-checklist.
| Argument | Type | Description |
|---|---|---|
| checklist* | string | Checklist slug. Available: 'accessibility-essentials', 'comprehensive-audit', 'core-web-vitals', 'html-foundations', 'image-optimization', 'javascript-resilience', 'launch-checklist', 'performance-quick-wins', 'privacy-and-consent', 'security-audit', 'seo-audit', 'testing-checklist' |
| includeContent | boolean | Include full MDX body content (large). Default false returns title, description, prompts, and metadata only. |
{
"type": "object",
"required": [
"checklist"
],
"properties": {
"checklist": {
"enum": [
"accessibility-essentials",
"comprehensive-audit",
"core-web-vitals",
"html-foundations",
"image-optimization",
"javascript-resilience",
"launch-checklist",
"performance-quick-wins",
"privacy-and-consent",
"security-audit",
"seo-audit",
"testing-checklist"
],
"type": "string",
"description": "Checklist slug. Available: 'accessibility-essentials', 'comprehensive-audit', 'core-web-vitals', 'html-foundations', 'image-optimization', 'javascript-resilience', 'launch-checklist', 'performance-quick-wins', 'privacy-and-consent', 'security-audit', 'seo-audit', 'testing-checklist'"
},
"includeContent": {
"type": "boolean",
"description": "Include full MDX body content (large). Default false returns title, description, prompts, and metadata only."
}
}
}Returns a compact checklist for one frontend category, filtered by priority and formatted as JSON, Markdown, or a task list. Use it when the user requests a concise checklist for a deployment, review, or team handoff.
| Argument | Type | Description |
|---|---|---|
| format | string | Output format (default: 'json'). Use 'markdown' for readable docs, 'checklist' for copy-paste task lists. |
| category* | string | Category name, e.g. 'accessibility', 'performance', or 'seo' (see list_categories). |
| priorityFilter | string | Filter by priority level (default: 'critical+high'). Use 'all' for comprehensive lists, 'critical' for essentials only. |
{
"type": "object",
"required": [
"category"
],
"properties": {
"format": {
"enum": [
"json",
"markdown",
"checklist"
],
"type": "string",
"description": "Output format (default: 'json'). Use 'markdown' for readable docs, 'checklist' for copy-paste task lists."
},
"category": {
"type": "string",
"description": "Category name, e.g. 'accessibility', 'performance', or 'seo' (see list_categories)."
},
"priorityFilter": {
"enum": [
"all",
"critical",
"critical+high",
"critical+high+medium"
],
"type": "string",
"description": "Filter by priority level (default: 'critical+high'). Use 'all' for comprehensive lists, 'critical' for essentials only."
}
}
}Returns complete guidance for one known rule slug: requirements, rationale, verification and remediation prompts, code examples, sources, and related rules. Use it when the user requests detailed guidance for a specific frontend rule. Unknown slugs return similar suggestions.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Rule slug: the kebab-case rule ID, e.g. 'alt-text' or 'doctype'. The ID must identify a rule in the published catalogue. |
| includeUrl | boolean | Include the rule's web URL in response (default: false) |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Rule slug: the kebab-case rule ID, e.g. 'alt-text' or 'doctype'. The ID must identify a rule in the published catalogue."
},
"includeUrl": {
"type": "boolean",
"description": "Include the rule's web URL in response (default: false)"
}
}
}Returns the ordered steps of a curated audit workflow, including rule slugs, priorities, and categories. Use it when the user requests a structured audit such as a pre-launch checklist. Available workflows: accessibility-essentials, comprehensive-audit, core-web-vitals, html-foundations, image-optimization, javascript-resilience, launch-checklist, performance-quick-wins, privacy-and-consent, security-audit, seo-audit, testing-checklist.
| Argument | Type | Description |
|---|---|---|
| slug* | string | The checklist workflow slug. Available: 'accessibility-essentials', 'comprehensive-audit', 'core-web-vitals', 'html-foundations', 'image-optimization', 'javascript-resilience', 'launch-checklist', 'performance-quick-wins', 'privacy-and-consent', 'security-audit', 'seo-audit', 'testing-checklist' |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"enum": [
"accessibility-essentials",
"comprehensive-audit",
"core-web-vitals",
"html-foundations",
"image-optimization",
"javascript-resilience",
"launch-checklist",
"performance-quick-wins",
"privacy-and-consent",
"security-audit",
"seo-audit",
"testing-checklist"
],
"type": "string",
"description": "The checklist workflow slug. Available: 'accessibility-essentials', 'comprehensive-audit', 'core-web-vitals', 'html-foundations', 'image-optimization', 'javascript-resilience', 'launch-checklist', 'performance-quick-wins', 'privacy-and-consent', 'security-audit', 'seo-audit', 'testing-checklist'"
}
}
}Lists available frontend rule categories, their descriptions, and rule counts. Use it when the user asks what the checklist covers or needs valid category names.
No arguments.
{
"type": "object",
"required": [],
"properties": {}
}Runs a non-exhaustive static heuristic review of pasted HTML, CSS, or JavaScript against multiple frontend best practices and returns prioritized issues, fix guidance, and suggestions for manual verification. Use it when the user requests a review, audit, or debugging of source code. An empty issue list means no provable static issue was found; it does not establish accessibility conformance or runtime correctness.
| Argument | Type | Description |
|---|---|---|
| code* | string | The HTML, CSS, or JavaScript source to review (a snippet or a whole file). |
| focus | array | Only check these categories (default: auto-detected from the code). |
| minPriority | string | Lowest priority to report (default: medium). |
{
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"description": "The HTML, CSS, or JavaScript source to review (a snippet or a whole file)."
},
"focus": {
"type": "array",
"items": {
"enum": [
"html",
"css",
"javascript",
"performance",
"accessibility",
"seo",
"security",
"images"
],
"type": "string"
},
"description": "Only check these categories (default: auto-detected from the code)."
},
"minPriority": {
"enum": [
"critical",
"high",
"medium",
"low"
],
"type": "string",
"description": "Lowest priority to report (default: medium)."
}
}
}Finds frontend rules by keywords, category, and priority, returning paginated slugs, titles, and short summaries. Use it when the user requests relevant practices for a technology, concern, or pattern, such as web fonts or accessible forms.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max results to return (default: 20, max: 100) |
| query | string | Keywords to match, e.g. 'lazy loading images'. Omit to list rules by filters only. |
| cursor | string | Cursor from a previous response, to fetch the next page of results. |
| categories | array | Only return rules in these categories. |
| priorities | array | Only return rules with these priorities. |
{
"type": "object",
"required": [],
"properties": {
"limit": {
"type": "integer",
"default": 20,
"maximum": 100,
"minimum": 1,
"description": "Max results to return (default: 20, max: 100)"
},
"query": {
"type": "string",
"description": "Keywords to match, e.g. 'lazy loading images'. Omit to list rules by filters only."
},
"cursor": {
"type": "string",
"description": "Cursor from a previous response, to fetch the next page of results."
},
"categories": {
"type": "array",
"items": {
"enum": [
"html",
"css",
"javascript",
"performance",
"accessibility",
"seo",
"security",
"images",
"testing",
"privacy",
"pwa",
"i18n"
],
"type": "string"
},
"description": "Only return rules in these categories."
},
"priorities": {
"type": "array",
"items": {
"enum": [
"critical",
"high",
"medium",
"low"
],
"type": "string"
},
"description": "Only return rules with these priorities."
}
}
}