canaryusers
A flock of AI users tests your deployed app and reports where real people get stuck, with fixes.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"canaryusers": {
"url": "https://www.canaryusers.ai/api/mcp"
}
}
}Remote endpoints
https://www.canaryusers.ai/api/mcpstreamable-httpWhat it can do
Tool inventory
Tools (3)
🟢canary_scan(url, depth)
Run a CanaryUsers UX scan on a DEPLOYED URL (your live or preview app — not source code). A flock of AI personas evaluates the page and reports where real users would get stuck, with concrete fixes. Returns AI-ready findings you can act on immediately. Use depth='deep' for the thorough scan that renders the page, checks it VISUALLY on desktop + mobile (catches mobile breakage and layout issues), and clicks through key flows like signup/checkout (slower, ~60-90s, uses one credit); depth='quick' (default) is a fast static check that does NOT see mobile or visual issues — use 'deep' when the user mentions mobile, layout, or visual problems. IMPORTANT: if this returns status 'running' with a scanId, the findings are not ready yet — wait ~30s, then call get_report_markdown(scanId), repeating until it returns the report. Always fetch and present the findings before stopping, then offer to fix the top issues.
Input Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "The public URL to scan (e.g. your deployed app or preview URL)."
},
"depth": {
"type": "string",
"enum": [
"quick",
"deep"
],
"description": "'quick' (default, fast, free) or 'deep' (clicks through flows + visual review, ~1 credit)."
}
},
"required": [
"url"
]
}🟢list_recent_scans(limit)
List the most recent CanaryUsers UX scans for your account (id, URL, CanaryScore, grade, status, date). Use this to find a scan to dig into.
Input Schema
{
"type": "object",
"properties": {
"limit": {
"type": "number",
"description": "How many to return (default 10, max 50)."
}
}
}🟢get_report_markdown(scanId)
Get one scan's full report as AI-ready markdown: the findings ranked by severity, why each matters, and how to fix it. Pass a scanId from list_recent_scans.
Input Schema
{
"type": "object",
"properties": {
"scanId": {
"type": "string",
"description": "The scan id (UUID) to fetch."
}
},
"required": [
"scanId"
]
}Recommended Prompts
get_report_markdownget_report_markdownlist_recent_scanslist_recent_scanslist_recent_scansget_report_markdownCompare
Peer Comparison
Compare this server with others in the same category.
Community
Evidence