Design Check
Server Details
Scores whether a page reads as AI-generated and names the tells to fix.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 3 tools
The three tools map cleanly onto distinct artifact types (source code, marketing copy, full page design), so an agent can pick the right one by input type. However, check_copy is effectively a subset of check_design (which also checks copy tells), creating mild overlap that the descriptions resolve but do not eliminate.
All three tools follow an identical check_<noun> pattern, with parallel, predictable naming that makes the set easy to scan. No mixing of verbs or casing conventions.
Three tools is well-scoped for a focused linting/QA server, and each covers a genuinely different artifact type. No redundancy or filler beyond the noted copy/design overlap.
The surface covers the main artifact types an agent produces (code, copy, UI) with actionable findings. Minor gaps remain, such as no way to scope checks to a config, combine results into one report, or check non-text artifacts.
Available Tools
3 toolscheck_codeCheck code commentsARead-onlyIdempotentInspect
Check a source file or diff for AI 'tells' left in comments: narrating fulfilling a request instead of describing the code ("as requested," "I've added," "here's the updated version") and hedge words. These reveal there was a conversation behind the change that a later reader has no access to. Call this before committing or shipping code an agent wrote.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | The source file or diff to check |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and closed-world, so the safety profile is covered. The description adds real context beyond that: it explains what class of defect is detected and why it matters ('a conversation behind the change that a later reader has no access to'). It does not describe the shape or granularity of the findings returned, which is a minor gap in the absence of an output schema.
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 sentences, front-loaded with the defect class and then the actionable instruction. The inline examples of AI tells earn their place by making the detection criteria concrete rather than restating the name, though the middle explanatory sentence is slightly verbose.
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?
For a one-parameter read-only checker with no output schema, the description covers what it detects, why it matters, and when to call it. The only meaningful omission is any hint at what the results look like, but with annotations covering the safety profile and a single well-documented parameter, an agent has enough to invoke it 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?
Single parameter at 100% schema description coverage, so the schema already carries the meaning. The description's 'source file or diff' mirrors the schema text without adding syntax, size limits, or format expectations, so baseline 3 is 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: check a source file or diff for AI 'tells' in comments, with concrete examples of the patterns it hunts ('as requested,' 'I've added'). The scope is unambiguous and the domain differs obviously from check_copy and check_design, but the description never names or contrasts against those siblings, so it stops just short of full differentiation.
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 trigger: 'Call this before committing or shipping code an agent wrote,' which tells the agent both when and on what artifact to invoke it. It does not state when NOT to use it or offer any alternative sibling for adjacent review tasks, so no exclusions are covered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_copyCheck copyARead-onlyIdempotentInspect
Check marketing or outreach copy (an email, a landing-page draft, a pitch, a social post) for the tells that make it read as AI-generated: cliché vocabulary (delve, unlock, empower, seamlessly integrate, etc.), negative-parallel framing ("not just X, but Y"), hedge words, heavy em-dash use, and diagnosing a problem with no fix in the same breath. No page or markup needed, just the text. Call this before sending copy to a human.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | The raw copy to check |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds real behavioral detail beyond that: the exact detection criteria (cliché vocabulary, negative-parallel framing, hedges, heavy em-dash use, problem-without-fix) and the input constraint that no page or markup is needed. It does not describe what the check returns, which is its main remaining gap.
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?
Purpose and detection criteria come first, input guidance second, and the call-to-action last. Three sentences, each earning its place, with no filler or restatement of the tool name.
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?
There is no output schema, and the description never says what the check produces — a verdict, a score, a list of flagged phrases, or rewritten copy. For a single-parameter analysis tool that is otherwise well specified, this is the one thing an agent cannot infer and would want before invoking it.
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% (one param, 'The raw copy to check'), so the baseline is 3. The description adds meaning on top by specifying 'No page or markup needed, just the text', clarifying that raw copy — not HTML or a URL — is expected.
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 ('Check marketing or outreach copy') and enumerates concrete input forms (email, landing-page draft, pitch, social post), so the agent knows exactly what is being analyzed. The scope ('tells that make it read as AI-generated') cleanly separates it from the sibling check_code and check_design tools, which operate on other artifacts.
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 trigger: 'Call this before sending copy to a human.' That is clear usage context. It does not state when *not* to use it or explicitly contrast with the siblings, but the input examples make the boundary obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_designCheck designARead-onlyIdempotentInspect
Check a page's HTML/CSS/copy/interaction for the patterns that make AI-generated work read as generic: default fonts, soft tech gradients, pill+arrow buttons, eyebrow labels, a composition with no real width/background variation across sections, uniform card grids, copy tells (AI vocabulary, negative-parallel framing, hedge words, heavy em-dash use), and experience gaps (a diagnosis with no next step, dead-end links). Every finding includes a concrete fix. Call this before presenting UI to a human.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Page to fetch and check | |
| html | No | Raw HTML/CSS to check directly, if not fetching a URL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so safety and idempotency are covered without description help. The description adds two useful facts beyond that: findings always come with a concrete fix, and the call is meant to run pre-handoff. It says nothing about how a URL is fetched, failure behavior on unfetchable pages, or cost/latency, which is a real but modest gap for an open-world read tool.
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?
Verb and resource are front-loaded in the first clause, and the pattern list, while long, is composed of specific named tells rather than filler. The closing sentence about fixes and the timing instruction are short and each carries a distinct instruction, though the middle enumeration could be tightened.
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 carries the return-value burden and does state that every finding includes a concrete fix, which is the key output contract. It also names the categories checked, so the agent can predict what comes back. It stops short of describing the finding structure or what happens when neither url nor html is supplied for a zero-required-param tool.
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%, and the two params (url, html) are already self-explanatory in the schema. The description's phrase 'if not fetching a URL' loosely echoes the url-vs-html mutual relationship but adds no new constraint, precedence, or format detail. Baseline 3 applies when the schema does the work.
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 ('Check') and resource ('a page's HTML/CSS/copy/interaction') and enumerates the concrete pattern categories it looks for, so the agent knows exactly what class of review this performs. It never names check_code or check_copy, though, so the boundary against siblings that clearly overlap with the code and copy portions is left for the agent to infer.
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 trigger: 'Call this before presenting UI to a human,' which tells the agent the moment in the workflow when this belongs. It offers no when-not guidance and names no alternative, so routing against check_code/check_copy when only code or only copy is in scope remains unstated.
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
check_code - First observed
check_copy - First observed
check_design
Related MCP Connectors
Audit a page for Google and AI search (ChatGPT, Claude, Perplexity); get a fix pack to apply.
Score and rewrite AI-assisted prose while preserving names, numbers, quotes, links, and facts.
Paste a draft and see the habits that make writing read like it came from an AI model.
Finds why Google and AI cannot read your site, gives the exact fix, applies it once you approve.
Related MCP Servers
- AlicenseAqualityAmaintenanceEnables users to scan a website, project folder or HTML file for generic AI-generated copy, template design and unfinished details, scoring each finding with file-and-line evidence and a per-page breakdown. It turns the results into phased, step-by-step repair plans that Claude, Cursor and other AI tools can apply, then re-measures the score after each change.81,363 npm7MIT
- FlicenseNot gradedqualityAmaintenanceScores prose from inline text or files on a 0–100 scale for formulaic AI writing patterns using rule-based heuristics, with no LLM judge or API calls. Returns band labels, specific violations with context, penalty breakdowns, and concrete advice for each hit, so agents can flag and revise sloppy generated text.-
- FlicenseNot gradedqualityAmaintenanceEnables agents and users to analyze text or files for formulaic AI writing patterns and receive a 0–100 score, band label, violations with surrounding context, and concrete advice. It works programmatically without LLM judges or API calls.-
- AlicenseNot gradedqualityNot gradedmaintenanceProvides tools and resources to detect AI-generated writing patterns and refine text for more authentic, human-like communication. It enables users to analyze phrasing via a scoring system and apply conversational guides tailored for platforms like Twitter and LinkedIn.1-
Glama MCP Gateway
Add one secure layer between your agents and this server.