이 MCP로 할 수 있는 일
Provides deterministic developer utilities for accessibility, API and JSON contract validation, CSS inspection, and related regression checks.
도구
입력 스키마
{'type': 'object', 'required': ['old_dom_snippet', 'new_dom_snippet', 'include_description', 'match_by_selector', 'show_element_paths'], 'properties': {'new_dom_snippet': {'type': 'string', 'description': 'Required. Must contain a non-empty HTML or DOM fragment. Plain text is treated as literal markup input, not rendered content.'}, 'old_dom_snippet': {'type': 'string', 'description': 'Required. Must contain a non-empty HTML or DOM fragment. Plain text is treated as literal markup input, not rendered content.'}, 'match_by_selector': {'type': 'boolean', 'description': 'When true, element matching prefers stable CSS-like selector identity when available; otherwise fallback matching is used.'}, 'show_element_paths': {'type': 'boolean', 'description': 'When true, output includes deterministic element path strings for matched and problematic nodes.'}, 'include_description': {'type': 'boolean', 'description': 'When true, compare accessible descriptions in addition to accessible names and labels.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'properties': {'regression_list': {'type': 'array', 'items': {}}, 'ambiguous_elements': {'type': 'array', 'items': {}}, 'missing_label_list': {'type': 'array', 'items': {}}, 'element_path_report': {'type': 'object', 'additionalProperties': True}, 'accessibility_summary': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'required': ['old_contract_json', 'new_contract_json', 'strict_mode', 'show_path_details', 'ignore_additive_changes'], 'properties': {'strict_mode': {'type': 'boolean', 'description': 'When true, treat type changes, removed required fields, removed paths, enum narrowing, and object-to-non-object changes as breaking. When false, still report them but additive changes may be separated more prominently.'}, 'new_contract_json': {'type': 'string', 'description': 'Must be valid JSON text representing the proposed contract version. The tool must reject empty input and invalid JSON with a parse error.'}, 'old_contract_json': {'type': 'string', 'description': 'Must be valid JSON text representing the previous contract version. The tool must reject empty input and invalid JSON with a parse error.'}, 'show_path_details': {'type': 'boolean', 'description': 'When true, include full normalized JSON paths for every finding. When false, keep messages concise while preserving path references in structured results.'}, 'ignore_additive_changes': {'type': 'boolean', 'description': 'When true, do not include new optional fields, new array members in additive-only contexts, or other non-breaking additions in the visible change lists.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'properties': {'missing_paths': {'type': 'array', 'items': {}}, 'enum_violations': {'type': 'array', 'items': {}}, 'breaking_changes': {'type': 'array', 'items': {}}, 'type_mismatch_paths': {'type': 'array', 'items': {}}, 'compatibility_status': {'type': 'string'}, 'non_breaking_changes': {'type': 'array', 'items': {}}, 'compatibility_summary': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'required': ['response_samples', 'pagination_mode'], 'properties': {'sort_key': {'type': 'string', 'description': "Optional. If provided, must be a non-empty field path such as 'created_at' or 'data.items[].id'. Used as the expected stable ordering key across samples."}, 'page_size': {'type': 'number', 'maximum': 1000000, 'minimum': 1, 'description': 'Optional. If provided, must be a positive integer. Used to verify per-page item counts and boundary transitions.'}, 'pagination_mode': {'enum': ['cursor', 'page', 'offset', 'mixed'], 'type': 'string', 'description': "Select the intended pagination contract. 'mixed' means samples may contain more than one pagination style and the checker will verify consistency within each style."}, 'show_item_paths': {'type': 'boolean', 'description': 'When true, output item path references for duplicates, gaps, and boundary findings when they can be inferred from the samples.'}, 'response_samples': {'type': 'string', 'description': 'Must contain one or more API response samples in JSON text form. Each sample must parse as an object or array. Empty input is invalid.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'properties': {'pagination_status': {'type': 'string'}, 'consistency_summary': {'type': 'string'}, 'duplicate_item_flags': {'type': 'array', 'items': {}}, 'missing_cursor_flags': {'type': 'array', 'items': {}}, 'page_boundary_report': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'required': ['badge_width_mm', 'company_text', 'font_size_pt', 'name_text', 'viewing_distance_cm'], 'properties': {'name_text': {'type': 'string', 'description': 'Text is required. Leading and trailing whitespace are trimmed. Empty after trimming is invalid.'}, 'role_text': {'type': 'string', 'description': 'Optional text. If provided, it is trimmed. Empty string is treated as blank.'}, 'company_text': {'type': 'string', 'description': 'Text is required. Leading and trailing whitespace are trimmed. Empty after trimming is invalid.'}, 'font_size_pt': {'type': 'number', 'maximum': 72, 'minimum': 6, 'description': 'Must be a finite number between 6 and 72. Non-numeric or out-of-range values are invalid.'}, 'badge_width_mm': {'type': 'number', 'maximum': 300, 'minimum': 20, 'description': 'Must be a finite number between 20 and 300. Values outside the range are invalid.'}, 'viewing_distance_cm': {'type': 'number', 'maximum': 500, 'minimum': 20, 'description': 'Must be a finite number between 20 and 500. Values outside the range are invalid.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'properties': {'sizing_notes': {'type': 'array', 'items': {}}, 'badge_summary': {'type': 'object', 'additionalProperties': True}, 'crowding_warnings': {'type': 'array', 'items': {}}, 'readability_score': {'type': 'number'}, 'line_break_suggestions': {'type': 'array', 'items': {}}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'required': ['css_snippet', 'html_snippet', 'selected_element', 'show_paint_order', 'show_stacking_context_chain'], 'properties': {'css_snippet': {'type': 'string', 'description': 'Required. Must contain one or more CSS rules. Trim leading and trailing whitespace. If empty, show a validation error and do not compute results.'}, 'html_snippet': {'type': 'string', 'description': 'Required. Must contain HTML markup for the inspected layout. Trim leading and trailing whitespace. If empty, show a validation error and do not compute results.'}, 'selected_element': {'type': 'string', 'description': 'Required. Must be a CSS selector or element reference token that matches at least one element in the provided HTML snippet. If no match is found, return a selection error.'}, 'show_paint_order': {'type': 'boolean', 'description': 'Boolean flag. When true, include a paint order trace. When false, omit the detailed trace but still compute the main layering explanation.'}, 'show_stacking_context_chain': {'type': 'boolean', 'description': 'Boolean flag. When true, include the ancestry of stacking context creators from root to selected element. When false, include only the summarized cause.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'properties': {'likely_fix_hints': {'type': 'array', 'items': {}}, 'paint_order_trace': {'type': 'array', 'items': {}}, 'diagnostic_summary': {'type': 'object', 'additionalProperties': True}, 'layering_explanation': {'type': 'string'}, 'stacking_context_chain': {'type': 'array', 'items': {}}, 'clipping_and_containment_warnings': {'type': 'array', 'items': {}}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'required': ['html_snippet', 'check_duplicate_ids', 'check_aria_references', 'show_element_paths'], 'properties': {'html_snippet': {'type': 'string', 'description': 'Accept raw HTML or DOM snippet text. Must be non-empty after trimming. Parse as HTML fragment in document order. Script execution is never allowed.'}, 'show_element_paths': {'type': 'boolean', 'description': 'When true, include stable element paths for duplicate and broken-reference findings. When false, path fields are omitted from per-finding detail but summary counts still compute.'}, 'check_duplicate_ids': {'type': 'boolean', 'description': 'When true, report every duplicated id value with all matching element locations. When false, duplicate-id analysis is skipped and duplicate outputs are empty.'}, 'check_aria_references': {'type': 'boolean', 'description': 'When true, scan ARIA ID reference attributes and validate each referenced id against the parsed fragment. When false, aria-reference analysis is skipped and broken-reference outputs are empty.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'properties': {'validation_status': {'type': 'object', 'additionalProperties': True}, 'duplicate_id_groups': {'type': 'array', 'items': {}}, 'element_path_report': {'type': 'array', 'items': {}}, 'missing_target_list': {'type': 'array', 'items': {}}, 'broken_aria_references': {'type': 'array', 'items': {}}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'required': ['contract_json', 'sample_json', 'show_path_details', 'strict_mode'], 'properties': {'sample_json': {'type': 'string', 'description': 'Must be valid JSON text. The sample must be a JSON object, array, string, number, boolean, or null. Missing or invalid JSON must produce a parse error.'}, 'strict_mode': {'type': 'boolean', 'description': 'When true, extra paths not allowed by the contract are reported as mismatches whenever additionalProperties is false or omitted for object branches that define properties. When false, extra paths are still listed in extra_paths but do not change overall compatibility unless another required rule fails.'}, 'contract_json': {'type': 'string', 'description': 'Must be valid JSON text. The contract must be an object. Supported contract keys are name/title, type, required, properties, items, enum, const, additionalProperties, and nested combinations of those. Missing or invalid JSON must produce a parse error.'}, 'show_path_details': {'type': 'boolean', 'description': 'When true, mismatch outputs must include explicit JSONPath-like paths such as $.user.name. When false, the report may summarize issues without omitting the required output lists.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'properties': {'extra_paths': {'type': 'array', 'items': {}}, 'missing_paths': {'type': 'array', 'items': {}}, 'enum_violations': {'type': 'array', 'items': {}}, 'type_mismatch_paths': {'type': 'array', 'items': {}}, 'compatibility_status': {'type': 'string'}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'required': ['json_schema', 'sample_json', 'additional_properties_mode', 'strict_types', 'show_paths'], 'properties': {'show_paths': {'type': 'boolean', 'description': 'When true, include JSON Pointer-style instance paths for every mismatch. When false, still compute paths internally but present concise grouped results.'}, 'json_schema': {'type': 'string', 'description': 'Must be valid JSON text representing a JSON Schema document. If parsing fails, show a schema parse error and skip comparison.'}, 'sample_json': {'type': 'string', 'description': 'Must be valid JSON text representing an instance payload. If parsing fails, show a sample parse error and skip comparison.'}, 'strict_types': {'type': 'boolean', 'description': 'When true, require exact JSON type matches for object, array, string, number, integer, boolean, and null. Integers must still be numbers with no fractional component. When false, permit only JSON Schema-compatible numeric coercion is not performed; comparison remains type-based but integer and number mismatches are reported with lower severity in the summary only.'}, 'additional_properties_mode': {'enum': ['schema_default', 'allow', 'forbid'], 'type': 'string', 'description': "Controls handling of object properties not declared by the schema. schema_default uses the schema's own additionalProperties / unevaluatedProperties rules where supported by the tool. allow ignores extra-property violations. forbid reports extra-property paths even if the schema is permissive."}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'properties': {'summary': {'type': 'object', 'additionalProperties': True}, 'enum_violations': {'type': 'array', 'items': {}}, 'validation_status': {'type': 'string'}, 'missing_field_paths': {'type': 'array', 'items': {}}, 'type_mismatch_paths': {'type': 'array', 'items': {}}, 'extra_property_paths': {'type': 'array', 'items': {}}}, 'additionalProperties': True}
입력 스키마
{'type': 'object', 'required': ['sheet_a', 'sheet_b', 'match_keys', 'case_sensitive', 'trim_whitespace'], 'properties': {'sheet_a': {'type': 'string', 'description': 'Paste or upload the first sheet snapshot as tabular text. Accept CSV-style or TSV-style rows with a header row. Must contain at least one data row and one header row.'}, 'sheet_b': {'type': 'string', 'description': 'Paste or upload the second sheet snapshot as tabular text. Accept CSV-style or TSV-style rows with a header row. Must contain at least one data row and one header row.'}, 'match_keys': {'type': 'string', 'description': 'Provide one or more column names used to match rows between Sheet A and Sheet B. Separate multiple keys with commas, semicolons, or new lines. Each key must exist in both sheets after normalization.'}, 'case_sensitive': {'type': 'boolean', 'description': 'When false, row key matching and field comparisons ignore letter case. When true, comparisons preserve letter case exactly.'}, 'trim_whitespace': {'type': 'boolean', 'description': 'When true, leading and trailing whitespace is removed from headers, keys, and cell values before matching and comparison. Internal spaces are preserved.'}}, 'additionalProperties': False}
출력 스키마
{'type': 'object', 'properties': {'added_rows': {'type': 'array', 'items': {}}, 'removed_rows': {'type': 'array', 'items': {}}, 'conflict_rows': {'type': 'array', 'items': {}}, 'cell_differences': {'type': 'array', 'items': {}}, 'reconciliation_summary': {'type': 'object', 'additionalProperties': True}}, 'additionalProperties': True}
최근 도구 변경
유사한 MCP 서버
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…