Front-End Checklist
What this MCP does
Audits frontend code and live websites against rules for accessibility, performance, SEO, privacy, security, resilience, and other web development practices.
Tools
Input schema
{'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': 'Optional: Focus review on specific categories (default: auto-detect from fetched HTML)'}, 'minPriority': {'enum': ['critical', 'high', 'medium', 'low'], 'type': 'string', 'description': 'Optional: Minimum priority level to report (default: medium)'}}}
Output schema
{'type': 'object', 'properties': {'error': {'type': 'string'}, 'issues': {'type': 'array', 'items': {'type': 'object', 'properties': {'rule': {'type': 'string'}, 'issue': {'type': 'string'}, 'title': {'type': 'string'}, 'priority': {'enum': ['critical', 'high', 'medium', 'low'], 'type': 'string'}, 'fixPrompt': {'type': 'string'}}}}, 'source': {'type': 'object', 'properties': {'url': {'type': 'string'}, 'fetchedAt': {'type': 'string'}, 'contentLength': {'type': 'number'}}}, 'summary': {'type': 'object', 'properties': {'categories': {'type': 'array', 'items': {'type': 'string'}}, 'highIssues': {'type': 'number'}, 'issuesFound': {'type': 'number'}, 'totalChecks': {'type': 'number'}, 'criticalIssues': {'type': 'number'}}}, 'suggestions': {'type': 'array', 'items': {'type': 'string'}}}}
Input schema
{'type': 'object', 'required': ['slug'], 'properties': {'code': {'type': 'string', 'description': 'Code snippet to analyze against the rule (optional)'}, 'slug': {'type': 'string', 'description': "The rule's slug (e.g., 'doctype', 'alt-text')"}}}
Output schema
{'type': 'object', 'properties': {'slug': {'type': 'string'}, 'title': {'type': 'string'}, 'message': {'type': 'string'}, 'analysis': {'type': 'string'}, 'fixPrompt': {'type': 'string'}, 'categories': {'type': 'array', 'items': {'enum': ['html', 'css', 'javascript', 'performance', 'accessibility', 'seo', 'security', 'images', 'testing', 'privacy', 'pwa', 'i18n'], 'type': 'string'}}, 'checkPrompt': {'type': 'string'}, 'suggestions': {'type': 'array', 'items': {'type': 'object', 'properties': {'slug': {'type': 'string'}, 'title': {'type': 'string'}, 'similarity': {'type': 'number'}}}}}}
Input schema
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': "The rule's slug"}}}
Output schema
{'type': 'object', 'properties': {'slug': {'type': 'string'}, 'title': {'type': 'string'}, 'message': {'type': 'string'}, 'categories': {'type': 'array', 'items': {'enum': ['html', 'css', 'javascript', 'performance', 'accessibility', 'seo', 'security', 'images', 'testing', 'privacy', 'pwa', 'i18n'], 'type': 'string'}}, 'suggestions': {'type': 'array', 'items': {'type': 'object', 'properties': {'slug': {'type': 'string'}, 'title': {'type': 'string'}, 'similarity': {'type': 'number'}}}}, 'explainPrompt': {'type': 'string'}}}
Input schema
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': "The rule's slug"}, 'codeSnippet': {'type': 'string', 'description': 'Optional: code or HTML snippet for context-aware fix suggestion'}}}
Output schema
{'type': 'object', 'properties': {'slug': {'type': 'string'}, 'title': {'type': 'string'}, 'message': {'type': 'string'}, 'priority': {'enum': ['critical', 'high', 'medium', 'low'], 'type': 'string'}, 'fixPrompt': {'type': 'string'}, 'codeContext': {'type': 'string'}, 'suggestions': {'type': 'array', 'items': {'type': 'object', 'properties': {'slug': {'type': 'string'}, 'title': {'type': 'string'}, 'similarity': {'type': 'number'}}}}}}
Input schema
{'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.'}}}
Output schema
{'type': 'object', 'properties': {'error': {'type': 'object', 'properties': {'message': {'type': 'string'}}}, 'rules': {'type': 'array', 'items': {'type': 'object', 'properties': {'url': {'type': 'string'}, 'slug': {'type': 'string'}, 'title': {'type': 'string'}, 'content': {'type': 'string'}, 'prompts': {'type': 'object', 'properties': {'fix': {'type': 'string'}, 'check': {'type': 'string'}, 'explain': {'type': 'string'}, 'aiContext': {'type': 'string'}, 'codeReview': {'type': 'string'}}}, 'category': {'type': 'string'}, 'priority': {'enum': ['critical', 'high', 'medium', 'low'], 'type': 'string'}}}}, 'checklist': {'type': 'object', 'properties': {'slug': {'type': 'string'}, 'title': {'type': 'string'}, 'highCount': {'type': 'number'}, 'totalRules': {'type': 'number'}, 'description': {'type': 'string'}, 'criticalCount': {'type': 'number'}}}}}
Input schema
{'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': "The category to get a quick reference for (e.g., 'accessibility', 'performance', 'seo')"}, '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."}}}
Output schema
{'type': 'object', 'properties': {'error': {'type': 'object', 'properties': {'message': {'type': 'string'}}}, 'items': {'type': 'array', 'items': {'type': 'object', 'properties': {'slug': {'type': 'string'}, 'title': {'type': 'string'}, 'priority': {'enum': ['critical', 'high', 'medium', 'low'], 'type': 'string'}, 'checkPrompt': {'type': 'string'}}}}, 'category': {'type': 'string'}, 'markdown': {'type': 'string'}, 'totalCount': {'type': 'number'}, 'displayName': {'type': 'string'}, 'priorityFilter': {'type': 'string'}}}
Input schema
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': "The rule's unique slug (e.g., 'doctype', 'alt-text')"}, 'includeUrl': {'type': 'boolean', 'description': "Include the rule's web URL in response (default: false)"}}}
Output schema
{'type': 'object', 'properties': {'url': {'type': 'string'}, 'slug': {'type': 'string'}, 'title': {'type': 'string'}, 'content': {'type': 'string'}, 'message': {'type': 'string'}, 'prompts': {'type': 'object', 'properties': {'fix': {'type': 'string'}, 'check': {'type': 'string'}, 'explain': {'type': 'string'}, 'aiContext': {'type': 'string'}, 'codeReview': {'type': 'string'}}}, 'sources': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'role': {'type': 'string'}, 'type': {'type': 'string'}, 'title': {'type': 'string'}, 'authority': {'type': 'string'}}}}, 'priority': {'enum': ['critical', 'high', 'medium', 'low'], 'type': 'string'}, 'aiContext': {'type': 'string'}, 'categories': {'type': 'array', 'items': {'enum': ['html', 'css', 'javascript', 'performance', 'accessibility', 'seo', 'security', 'images', 'testing', 'privacy', 'pwa', 'i18n'], 'type': 'string'}}, 'difficulty': {'type': 'string'}, 'description': {'type': 'string'}, 'subcategory': {'type': 'string'}, 'suggestions': {'type': 'array', 'items': {'type': 'object', 'properties': {'slug': {'type': 'string'}, 'title': {'type': 'string'}, 'similarity': {'type': 'number'}}}}, 'relatedRules': {'type': 'array', 'items': {'type': 'object', 'properties': {'slug': {'type': 'string'}, 'title': {'type': 'string'}, 'reason': {'type': 'string'}}}}, 'estimatedTime': {'type': 'number'}, 'sourceSummary': {'type': 'object', 'properties': {'sourceCount': {'type': 'number'}, 'sourceRoleCount': {'type': 'number'}, 'primarySourceCount': {'type': 'number'}}}, 'primaryCategory': {'type': 'string'}}}
Input schema
{'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'"}}}
Output schema
{'type': 'object', 'properties': {'icon': {'type': 'string'}, 'slug': {'type': 'string'}, 'error': {'type': 'object', 'properties': {'message': {'type': 'string'}}}, 'steps': {'type': 'array', 'items': {'type': 'object', 'properties': {'slug': {'type': 'string'}, 'order': {'type': 'number'}, 'title': {'type': 'string'}, 'category': {'type': 'string'}, 'priority': {'enum': ['critical', 'high', 'medium', 'low'], 'type': 'string'}}}}, 'title': {'type': 'string'}, 'highCount': {'type': 'number'}, 'difficulty': {'type': 'string'}, 'totalRules': {'type': 'number'}, 'description': {'type': 'string'}, 'criticalCount': {'type': 'number'}, 'estimatedTime': {'type': 'string'}}}
Input schema
{'type': 'object', 'required': [], 'properties': {}}
Output schema
{'type': 'object', 'properties': {'categories': {'type': 'array', 'items': {'type': 'object', 'properties': {'icon': {'type': 'string'}, 'name': {'type': 'string'}, 'ruleCount': {'type': 'number'}, 'description': {'type': 'string'}, 'displayName': {'type': 'string'}}}}}}
Input schema
{'type': 'object', 'required': ['code'], 'properties': {'code': {'type': 'string', 'description': 'The HTML, CSS, or JavaScript code to review'}, 'focus': {'type': 'array', 'items': {'enum': ['html', 'css', 'javascript', 'performance', 'accessibility', 'seo', 'security', 'images'], 'type': 'string'}, 'description': 'Optional: Focus review on specific categories (default: auto-detect from code)'}, 'minPriority': {'enum': ['critical', 'high', 'medium', 'low'], 'type': 'string', 'description': 'Optional: Minimum priority level to report (default: medium)'}}}
Output schema
{'type': 'object', 'properties': {'issues': {'type': 'array', 'items': {'type': 'object', 'properties': {'rule': {'type': 'string'}, 'issue': {'type': 'string'}, 'title': {'type': 'string'}, 'priority': {'enum': ['critical', 'high', 'medium', 'low'], 'type': 'string'}, 'fixPrompt': {'type': 'string'}}}}, 'summary': {'type': 'object', 'properties': {'categories': {'type': 'array', 'items': {'type': 'string'}}, 'highIssues': {'type': 'number'}, 'issuesFound': {'type': 'number'}, 'totalChecks': {'type': 'number'}, 'criticalIssues': {'type': 'number'}}}, 'suggestions': {'type': 'array', 'items': {'type': 'string'}}}}
Input schema
{'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': 'Free-text search query'}, 'cursor': {'type': 'string', 'description': 'Pagination cursor from previous response'}, 'categories': {'type': 'array', 'items': {'enum': ['html', 'css', 'javascript', 'performance', 'accessibility', 'seo', 'security', 'images', 'testing', 'privacy', 'pwa', 'i18n'], 'type': 'string'}, 'description': 'Filter by categories (array)'}, 'priorities': {'type': 'array', 'items': {'enum': ['critical', 'high', 'medium', 'low'], 'type': 'string'}, 'description': 'Filter by priorities (array)'}}}
Output schema
{'type': 'object', 'properties': {'rules': {'type': 'array', 'items': {'type': 'object', 'properties': {'slug': {'type': 'string'}, 'title': {'type': 'string'}, 'priority': {'enum': ['critical', 'high', 'medium', 'low'], 'type': 'string'}, 'categories': {'type': 'array', 'items': {'enum': ['html', 'css', 'javascript', 'performance', 'accessibility', 'seo', 'security', 'images', 'testing', 'privacy', 'pwa', 'i18n'], 'type': 'string'}}, 'primaryCategory': {'type': 'string'}}}}, 'nextCursor': {'type': 'string'}, 'totalCount': {'type': 'number'}}}
Recent tool changes
Similar MCP servers
hyperion
Acts as a paid MCP tool marketplace and utility gateway with server discovery, HTTP and JavaScript tools, research, data conversi…
Vee3
Manages Clerk authentication infrastructure, including users, organizations, domains, sessions, tokens, OAuth, SSO, machines, per…
IA-QA — 130+ QA & Dev Tools for AI Agents
Provides deterministic QA, evaluation, testing, code analysis, prompt and RAG checks, model comparison, and web security diagnost…
validoria-mcp
Runs continuous website, API, and webshop tests covering security, SEO, performance, accessibility, browser journeys, and inciden…
HubVibe: Pay-per-Call Tools for AI Agents: Web Search, Email Verify, KYC, Stocks, Crypto, News, Data
Offers paid utilities for web audits, HTTP fetching and extraction, BigQuery analysis, LLM processing, code execution, blockchain…
developer-tools
Provides general-purpose developer utilities for encoding, hashing, encryption, JSON, HTML, CSS, networking, and related data tra…
Qiniso
Provides deterministic formatting, parsing, holiday and tax lookups, address handling, and checksum or structure validation for i…
ContrastAPI
Provides security research and assessment tools covering CVEs, IOCs, dependencies, secrets, injection risks, HTTP headers, domain…