Evolize
Server Details
Accessibility scans with evidence, public reports, and fresh checks after fixes.
- Status
- Healthy
- Uptime
- 89.4% over 23 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 3 tools
get_public_report and get_scan_result both return accessibility findings, so their surface purpose overlaps at a glance. However, the descriptions sharply delineate them by input key (website target vs. scan_handle) and lifecycle (existing published report vs. result of a scan you started), and scan_website is unambiguously the write action.
All three tools follow a clean verb_noun pattern (get_public_report, get_scan_result, scan_website). The get_ prefix consistently marks read-only tools while scan_ marks the work-creating tool, which reinforces rather than breaks the convention.
Three tools is on the lean side but fits a single-purpose accessibility scanning service: one write (scan_website) and two reads. A discovery/listing tool would be nice, but nothing here feels redundant or padding.
The core lifecycle is covered: start an assessment, poll its result via handle, and fetch an already-published report. Minor gaps exist — no listing of past scans (agents must retain scan_handle themselves) and no quota/policy inspection — but agents can work around both.
Available Tools
3 toolsget_public_reportGet an existing public accessibility reportARead-onlyIdempotentInspect
Retrieve an EXISTING public Evolize accessibility assessment for a website. Read-only: this starts no scan and creates no work. Returns not_found when no public report exists for the target — which says nothing about whether the site has accessibility problems. Evolize inspects publicly reachable pages of the target website in a real browser and runs deterministic accessibility checks (axe-core plus Evolize rules). It is not a local browser agent and it does not read your source code: findings reference the rendered DOM, so your coding agent maps them to source using its own repository access.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The public website to assess, e.g. `example.com` or `https://example.com`. Not an Evolize URL. | |
| limit | No | Findings per page. Default 20, maximum 50. | |
| cursor | No | Opaque pagination cursor from a previous response's `next_cursor`. Omit for the first page. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, openWorld, non-destructive), yet the description adds substantial context beyond them: the not_found semantics and their non-implication, that it inspects publicly reachable pages in a real browser with axe-core plus Evolize rules, and that it does not read source code so findings reference the rendered DOM. This is exactly the extra context the lower bar with annotations rewards.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in the first sentence and each sentence carries useful information about behavior, return semantics, and scan mechanics. It runs long for a read-only getter, and the 'coding agent maps them to source' sentence is more advisory than necessary, but nothing is redundant filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully discloses the not_found return and that findings reference the rendered DOM rather than source lines. It stops short of describing the response shape or the meaning of limit/cursor paging behavior, but it is otherwise sufficient for an agent to call this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so url, limit, and cursor are already documented with examples and ranges in the schema itself. The description adds no parameter-level detail beyond that, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Retrieve an EXISTING public Evolize accessibility assessment for a website') and immediately distinguishes itself from sibling scan_website with 'this starts no scan and creates no work.' An agent can route between this and the scan tools without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'EXISTING' emphasis and 'starts no scan' clause effectively tell the agent to use this when a report may already exist rather than to trigger a new scan, and it warns that not_found carries no implication about site quality. However, it never names the alternatives (scan_website, get_scan_result) explicitly, so the routing is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_scan_resultRead an assessment resultARead-onlyIdempotentInspect
Read the result of an Evolize assessment started with scan_website, using the scan_handle it returned. Read-only: it never starts a scan, never refreshes an assessment, never changes publication state, and never consumes scan quota — polling is safe. While the assessment is pending it returns the status and a retry_after_seconds. Follow next_cursor to read every finding.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Findings per page. Default 20, maximum 50. | |
| cursor | No | Opaque pagination cursor from a previous response's `next_cursor`. Omit for the first page. | |
| scan_handle | Yes | The opaque handle returned by scan_website. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, yet the description still adds real value beyond them: no scan starts, no refresh, no publication-state change, no quota consumption, so polling is safe. It also discloses the pending-state response shape (status + retry_after_seconds) and pagination contract, which no annotation covers.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tightly packed sentences, front-loaded with purpose, then safety/quota, then pending and pagination behavior. Every clause carries information an agent needs; nothing is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by naming the key return elements (status, retry_after_seconds, next_cursor, findings). Combined with the annotations and full schema coverage, an agent has everything needed to call and consume this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so limit and cursor are already fully documented; the description reinforces scan_handle provenance and the cursor-to-next_cursor loop but adds no syntax or constraint beyond the schema. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Read the result of an Evolize assessment') and ties it directly to the sibling that produces the input ('started with scan_website, using the scan_handle it returned'). An agent can distinguish this from scan_website and get_public_report without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context: use it after scan_website, poll it safely, and follow next_cursor to page through findings. It handles the pending case with retry_after_seconds. It never explicitly contrasts with the get_public_report sibling, so the routing guidance is strong but not fully exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scan_websiteRequest an accessibility assessmentAInspect
Request an Evolize accessibility assessment of a publicly reachable website, then read the result with get_scan_result. By default a completed assessment up to 24 hours old is reused; pass refresh=true to require newly executed work (for example after deploying a fix). This CREATES work: it can start a real browser-based scan whose result is retained and may become a public report under Evolize's existing publication policy. Free public assessments are bounded: a completed result up to 24h old is reused unless refresh=true, at most 3 newly executed assessments per website per 24h, and the platform's own per-IP, per-domain and global scan limits still apply.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The public website to assess, e.g. `example.com` or `https://example.com`. Not an Evolize URL. | |
| refresh | No | Require newly executed work instead of reusing a recent completed assessment. Use after deploying a fix. Never satisfied by an older completed report. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations mark readOnlyHint=false and openWorldHint=true; the description goes well beyond them by disclosing that this starts real browser-based work, that results are retained and may become a public report, the 24h reuse default, refresh overriding it, and concrete rate bounds (3 executions/website/24h plus per-IP, per-domain and global limits). This is exactly the mutation/quotas context the annotations cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded and the sentence order (what it does, how to read the result, then policy) is logical. Mild redundancy: the 24h reuse-unless-refresh rule is stated twice, so not every sentence pulls full weight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Complete for a 2-param, no-output-schema tool: it explains the deferred-read pattern via get_scan_result, the creation semantics, the reuse/refresh tradeoff, and the applicable quotas. An agent has everything needed to call it correctly and set expectations about side effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds meaning the schema lacks: the concrete 24-hour reuse window that refresh=true bypasses and the 'newly executed work' guarantee. It adds little for url beyond restating reachability, keeping this from a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Request an Evolize accessibility assessment of a publicly reachable website') and explicitly routes result retrieval to the sibling get_scan_result. An agent can distinguish it from get_scan_result and get_public_report without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit condition for refresh=true ('for example after deploying a fix') and points to get_scan_result for reading output, which is clearly implied as the read counterpart. It does not explicitly state when NOT to call this versus just fetching an existing report, so it falls short of full alternatives coverage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- First observed
get_public_report - First observed
get_scan_result - First observed
scan_website
Related MCP Connectors
Public-site SEO/AEO readiness scans with evidence scores, issues, and clear measurement scope.
Accessibility and WCAG data for your own websites: fix lists, live checks, and fix validation.
Scan URLs for WCAG 2.1 violations, generate AI fixes, and produce VPAT 2.5 compliance reports.
Scan URLs or HTML for WCAG 2.2 violations. 75-rule manifest, weighted score, shareable reports.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAutonomous WCAG 2.1 accessibility auditor that scans, fixes, re-verifies, and generates VPAT 2.5 EN 301 549 reports using AI vision analysis + DOM scanning.6,835 npm1MIT
- AlicenseAqualityBmaintenanceScans live web pages and single-page apps across multiple viewports to detect WCAG 2.1 AA accessibility violations and returns concrete, browser-verified fixes grounded in WCAG success criteria and techniques.5136 npm1MIT
- AlicenseBqualityBmaintenanceEnables accessibility auditing of rendered pages with multi-engine evidence, human-in-the-loop review, and fix verification across agent sessions.12MIT
- AlicenseBqualityAmaintenanceEnables automated web accessibility scans for WCAG compliance using Playwright and Axe-core, providing visual and JSON reports with remediation guidance.252,545 npm59MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.