"monsido-mcp-server": { "type": "remote", "url": "https://api.monsido.com/mcp", "headers": { "Authorization": "Bearer <JWT token>" }, "enabled": true}
The server advertises support for the following:
Tools (with listChanged)
Prompts (with listChanged)
Resources
Logging
UI extension (`io.modelcontextprotocol/ui`)
In the Web Governance suite,13 tools are live. These are grouped by capability area as per the following:
Tool | Area | Input mode |
|---|---|---|
| Accessibility + full scan | Raw HTML + encoded page |
| Accessibility | Live URL |
| Accessibility remediation | HTML snippets |
| Spelling | Plain text |
| Spelling | Live URL |
| Spelling | Stored page (domain_id + page_id) |
| Readability | Plain text |
| Readability | Live URL |
| Readability | Stored page (domain_id + page_id) |
| Policy | Text or HTML snippet |
| Policy | Live URL |
| Policy | Stored page (domain_id + page_id) |
| Utility | URL → domain_id / page_id |
The following sections provide information about the accessibility tools.
html_scan
accessibility, html, scanrender_by_url_with_guideline for live rendered URL accessibility checks.Parameter | Type | Required | Description |
|---|---|---|---|
|
| ✅ | This is the raw HTML markup to scan. It must match |
|
| ✅ | A page-processing-lib encoded page JSON. See page-processing-lib. |
|
| ❌ | The WCAG guideline: |
|
| ❌ | The minimum word count that is required for the system to be able to do a readability analysis. |
Field | Type | Description |
|---|---|---|
|
| The page title that the system extracted from the HTML. |
|
| The general page content metadata. |
|
| Structured data that the system finds on the page. |
|
| Text content that the system extracts from the page |
|
| The readability score. |
|
| The human-readable readability level. |
|
| An explanation of the readability score. |
|
| Links that the system finds on the page. |
|
| Accessibility violations (per selected WCAG level). |
|
| SEO issues that the system finds. |
|
| Data protection and privacy violations. |
|
| Indicates if the system truncated the data protection list. |
Both html and encoded_page are required, and these must correspond to the same page.
Omit accessibility to get readability, SEO, and data protection results without a WCAG scan.
render_by_url_with_guideline
Title: Render By URL With Guideline
Tags: accessibility, scan, url, wcag
Read-only: yes
Description: The system renders a live URL in a browser and checks accessibility against an optional WCAG guideline. Use this for public pages where the rendered DOM is needed. Returns rendered HTML, HTTP status, accessibility summary, and grouped errors.
Parameter | Type | Required | Description |
|---|---|---|---|
|
| ✅ | The full URL, including protocol (for example, |
|
| ❌ | The WCAG conformance level. Use |
|
| ❌ | If |
|
| ❌ | The maximum number of errors that the system will return. Omit for 1 error per unique check; |
This output includes rendered HTML, HTTP status, accessibility summary, and grouped errors (schema varies by guideline and the max_errors setting).
Preferred over html_scans when you only have a URL and no pre-processed page data.
JavaScript rendering is applied automatically. Use this for SPAs and dynamically-rendered pages.
accessibility_remediation_source_code
Title:
Tags: accessibility, remediation, source_code
Read-only: no
Description: If there are one or more HTML snippets and an accessibility check identifier, the system returns each fixed snippet with a plain-language description that explains what changed and the reason for the change.
Parameter | Type | Required | Description |
|---|---|---|---|
|
| ✅ | The Web Governance accessibility check identifier (from |
|
| ✅ | One or more HTML source code snippets to remediate. |
This output returns a result array, one item per input snippet:
Field | Type | Description |
|---|---|---|
|
| The original snippet as provided. |
|
| The remediated snippet. |
|
| Plain-language explanation of what changed and why. |
Multiple snippets can be sent in a single call; results are returned in the same order.
Always do a new scan after you apply fixes in order to confirm a clean resolution.
The platform provides tree variants. Use the one that matches your available input. All of the variants require the Spell Check (qa_spellcheck) plan feature.
spelling_text_snippet
Title: Spelling Text Snippet
Tags: check, content, spelling
Read-only: yes
Description: The system checks for spelling errors in a plain text snippet. The system returns misspelled words and the language that they were checked against.
Parameter | Type | Required | Description |
|---|---|---|---|
|
| ✅ | The text snippet that the system checks for spelling errors. |
|
| ❌ | ISO 639-1 language code (for example, |
This output returns a result array of spelling errors with misspelled words and language context.
Best for targeted checks, such as:
A specific paragraph
A flagged term from a policy violation
A sentence that is under review
spelling_url
Title: Spelling URL
Tags: check, content, spelling
Read-only: yes
Description: The system checks for spelling errors on a live URL. The crawler does a scan on the page, detects the language of each text block, and returns misspelled words.
Parameter | Type | Required | Description |
|---|---|---|---|
|
| ✅ | Full URL including protocol (for example, |
|
| ❌ | ISO 639-1 language override. If omitted, the system auto-detects the language from page content. |
|
| ❌ | Enable JavaScript rendering when crawling. The default is: |
This output returns a result array of spelling errors across the page.
Use these for live site monitoring or pre-publish checks when you have a URL rather than raw HTML.
Enable enable_javascript for dynamically-rendered content.
spelling_page_id
Title: Spelling Page ID
Tags: check, content, spelling
Read-only: yes
Description: The system checks for misspelled words on a stored Web Governance page using data from the last successful scan. This option is fast. The system does not do a live network request.
Parameter | Type | Required | Description |
|---|---|---|---|
|
| ✅ | The ID of the domain that the page belongs to. |
|
| ✅ | The ID of the page to check. |
This output returns a result array of spelling errors from the last crawl.
This is the fastest spelling option. The system returns stored results, it does not do a new crawl.
Use resolve_url_to_ids to get domain_id and page_id from a URL.
Three variants. All variants return the same core output form.
readability_text_snippet
Title: Readability Text Snippet
Tags:content, readability, score
Read-only: yes
Description: The system calculates readability by analyzing raw text directly.
Parameter | Type | Required | Description |
|---|---|---|---|
|
| ✅ | Plain text to analyze. |
|
| ❌ |
|
This output returns the following:
Field | Type | Description |
|---|---|---|
|
| The Readability score |
|
| Human-readable level (such as: |
|
| The algorithm that the system used. |
|
| An explanation of the score. |
Best for targeted analysis such as a specific paragraph, a policy-flagged passage, or a sentence flagged by html_scans.
level == "Legal / Technical" is a strong signal that complexity is intentiona. This is useful for policy triage.
readability_url
Title: Readability URL
Tags: check, content, readability
Read-only: yes
Description: The system calculates the readability for a live public URL. Returns score, level, word count, analyzed text, and reason.
Parameter | Type | Required | Description |
|---|---|---|---|
|
| ✅ | The full URL including protocol (for example, |
|
| ❌ |
|
|
| ❌ | Enable JavaScript rendering. The default is |
This output returns the following:
Field | Type | Description |
|---|---|---|
|
| Readability score |
|
| Human-readable level |
|
| Total words analyzed |
|
| The text that was analyzed |
|
| Explanation of the score |
readability_page
Title: Readability Page
Tags: page, readability, score
Read-only: yes
Description: The system retrieves readability for a page already stored in Web Governance. This option is fast. The system returns the results from the most recent successful scan, it does not do a new scan on the page.
Parameter | Type | Required | Description |
|---|---|---|---|
|
| ✅ | Domain ID (must already be scanned in Web Governance). |
|
| ✅ | Page ID (must exist within the scanned domain). |
Field | Type | Description |
|---|---|---|
|
| Readability score |
|
| Human-readable level |
|
| Algorithm used |
|
| Explanation of the score |
Use resolve_url_to_ids to get domain_id and page_id from a URL.
There are tree variants. All require the policies_all) plan feature. Each call evaluates one policy at a time. Loop over policy IDs to evaluate multiple rules.
run_policies_snippet
Title: Run Policy (Snippet)
Tags: check, content, governance, policies, snippet
Read-only: yes
Description: The system evaluates one governance policy against draft text or HTML before it does the crawl. Use this option for body-copy, keyword, regex, page_html, and page_text checks.
Parameter | Type | Required | Description |
|---|---|---|---|
|
| ✅ | The ID of the policy to evaluate (one per call). |
|
| ✅ | The text or HTML content to evaluate. |
|
| ✅ |
|
This output returns the following:
Field | Type | Description |
|---|---|---|
|
| Policy ID |
|
| Policy name |
|
| Policy mode |
|
| Policy priority |
|
| What the policy evaluates |
|
| Content that matched/violated the policy |
|
| Matches that were ignored |
|
| Associated URL if applicable |
run_policies_url
Title: Run Policy (URL)
Tags:check, content, governance, policies, url
Read-only: yes
Description: The system fetches a live URL and evaluates one governance policy against its fetched HTML, text, title, URL, and links. Use this option when freshness matters or the page has not been crawled in Web Governance.
Parameter | Type | Required | Description |
|---|---|---|---|
|
| ✅ | The URL that the scan must fetch and evaluate. |
|
| ✅ | The ID of the policy to evaluate (one per call). |
|
| ❌ | Enable JavaScript rendering when fetching. The default is |
This output has the same form as run_policies_snippet.
run_policies_page_id
Title: Run Policy (Page ID)
Tags: check, content, governance, policies
Read-only: yes
Description: The system dvaluates one governance policy against a page that has been previously crawled by Web Governance, using the content from the most recent successful crawl. This option supports a full stored-page evaluation that includes domain targeting.
Parameter | Type | Required | Description |
|---|---|---|---|
|
| ✅ | The ID of the domain that the page belongs to. |
|
| ✅ | The ID of the page to evaluate. |
|
| ✅ | The ID of the policy to evaluate (one per call). |
This output has the same form as the run_policies_snippet.
resolve_url_to_ids
Title: Resolve URL to IDs
Tags: domains, ids, pages, resolve
Read-only: yes
Description: Resolve a known URL to Web Governance domain_id / page_id values, needed by the _page_id and _page variants of spelling, readability, and policy tools.
Parameter | Type | Required | Description |
|---|---|---|---|
|
| ✅ | The URL to resolve. Exact match by default; set |
|
| ❌ | Use contains matching instead of exact URL matching. |
|
| ❌ | Limit the search to specific domain IDs. Required when |
|
| ❌ | Maximum pages to return per domain. If the cap is reached, |
|
| ❌ | If |
The system groups the results by domain, each domain contains matching pages with their domain_id and page_id. If truncated=true, retry with domain_ids and/or a more specific URL.
This is the entry point for any workflow that starts with a URL and needs to call a _page_id tool.
Use partial=true when you have a partial URL or want to find all pages under a path.
The server currently exposes no resources and no prompts.
1. render_by_url_with_guideline(url, accessibility_guideline="WCAG22-AA") → Collect: accessibility errors with check_ids and source snippets2. accessibility_remediation_source_code(check_id, source_codes) → Collect: fixed HTML snippets with descriptions3. Re-run render_by_url_with_guideline to confirm clean resolution
1. render_by_url_with_guideline(url, accessibility_guideline="WCAG22-AA") → Accessibility errors2. spelling_url(url) → Spelling errors3. readability_url(url) → Readability score and flagged sentences4. run_policies_url(url, policy_id) [repeat per policy] → Policy violations5. accessibility_remediation_source_code for auto-fixable errors
1. html_scans(html, encoded_page, accessibility="WCAG22-AA") → Full scan: accessibility, SEO, readability, data protection2. spelling_text_snippet(text) → Spelling errors in the draft body copy3. run_policies_snippet(policy_id, content=html, content_type="html") [repeat per policy] → Policy violations against draft HTML4. For any readability concerns: readability_text_snippet(text) → Targeted readability score on specific paragraphs
1. resolve_url_to_ids(url) → Get domain_id and page_id2. spelling_page_id(domain_id, page_id) → Spelling errors from last crawl (fast, no network call)3. readability_page(domain_id, page_id) → Readability score from last crawl4. run_policies_page_id(domain_id, page_id, policy_id) [repeat per policy] → Policy violations from last crawl
If this content did not answer your questions, try searching or contacting our support team for further assistance.
spelling_url
Spelling |
Live URL |
| Spelling | Stored page (domain_id + page_id) |
| Readability | Plain text |
| Readability | Live URL |
| Readability | Stored page (domain_id + page_id) |
| Policy | Text or HTML snippet |
| Policy | Live URL |
| Policy | Stored page (domain_id + page_id) |
| Utility | URL → domain_id / page_id |
|
❌ |
The WCAG guideline: |
|
| ❌ | The minimum word count that is required for the system to be able to do a readability analysis. |
|
| The readability score. |
|
| The human-readable readability level. |
|
| An explanation of the readability score. |
|
| Links that the system finds on the page. |
|
| Accessibility violations (per selected WCAG level). |
|
| SEO issues that the system finds. |
|
| Data protection and privacy violations. |
|
| Indicates if the system truncated the data protection list. |
❌ |
If |
|
| ❌ | The maximum number of errors that the system will return. Omit for 1 error per unique check; |
Read-only: no
Description: If there are one or more HTML snippets and an accessibility check identifier, the system returns each fixed snippet with a plain-language description that explains what changed and the reason for the change.
Enable JavaScript rendering when crawling. The default is: |
An explanation of the score. |
Enable JavaScript rendering. The default is |
|
|
Explanation of the score |
texthtmlsubject
|
What the policy evaluates |
|
| Content that matched/violated the policy |
|
| Matches that were ignored |
|
| Associated URL if applicable |
falseLimit the search to specific domain IDs. Required when |
|
| ❌ | Maximum pages to return per domain. If the cap is reached, |
|
| ❌ | If |
If this content did not answer your questions, try searching or contacting our support team for further assistance.