Skip to main content
Glama

webability

Suggest a framework-aware fix

generate_ai_fix

Generate framework-aware fix alternatives for a specific accessibility issue. For color contrast issues, returns 3 alternatives (minimal, brand-aligned, high contrast); brand palette is auto-extracted from the live URL using our scanner if brandColors is omitted. For label/ARIA issues, returns 1-2 alternatives. Each alternative includes ready-to-paste code for the detected framework. NOTE: on this HOSTED server, localhost and private addresses are refused — it runs in our cloud and cannot reach your machine. Two ways to scan a local dev server: run the MCP locally (npx -y @webability/mcp, simplest — nothing leaves the machine), or open a tunnel (webability-tunnel --port 3000) and pass its URL as url together with the printed secret as tunnel_secret.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlNoPage URL — also used to auto-extract brand palette for contrast issues if `brandColors` is not provided.
htmlYesThe element's outerHTML — send at most ~600 chars
issueYesIssue object from scan_page (with selector, wcag, impact, message, fix.currentValue), or a plain-text issue description
contextNoParent element outerHTML for context (~400 chars)
frameworkYesCSS framework — use detect_framework first
llm_modelYesThe exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model identifier with certainty, pass "unknown" — never guess.
brandColorsNoBrand palette for brand-aligned suggestions. If omitted on a contrast issue with a `url`, auto-extracted via the scanner.
tunnel_secretNoSecret printed by `webability-tunnel`. Required when `url` is a tunnel URL; the URL alone will be refused by the relay. Ignored otherwise.
conversation_idNoEcho the conversation_id from the server's previous response. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations cover safety (destructiveHint=false, readOnlyHint=false, openWorldHint=true), while the description adds high-value context the annotations cannot convey: the cloud host refuses localhost/private addresses, brand palette is auto-extracted via the scanner, and tunnel URLs require a secret. It omits latency/cost/rate-limit behavior, keeping it short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose and per-issue-type output behavior are front-loaded, then environment constraints follow in a clearly marked NOTE. The two remediation options are dense but each sentence carries actionable information; slightly long, but nothing is filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 9-parameter, cloud-hosted generation tool with no output schema, the description supplies the missing return-format detail (alternatives count, ready-to-paste code) and the critical operational caveats (localhost refusal, tunnel secret, local MCP fallback) an agent needs to call it successfully.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 9 parameters including the llm_model 'unknown' rule and tunnel_secret semantics. The description reinforces brandColors auto-extraction but adds no syntax or format detail beyond the schema, making the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb+resource ('Generate framework-aware fix alternatives') scoped to accessibility issues, and differentiates output by issue type (3 alternatives for color contrast, 1-2 for label/ARIA). It is clearly distinguishable from siblings like verify_fix or detect_framework, which are validation/detection rather than generation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides strong operational guidance: the hosted-server limitation, when to use local MCP vs tunnel, and the requirement for detect_framework (schema) before choosing a framework. It does not, however, explicitly state when NOT to use it versus verify_fix or scan_html, so it stops short of full alternative routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.