Skip to main content
Glama

Build composite design report

designesy_report
Read-onlyIdempotent

Generate one design-intelligence report for a URL: combine audit score, drift, and AI readiness into a weighted composite grade, replacing three separate scans.

Instructions

Generate a unified design-intelligence report for a single URL, the synthesis capstone. Fires /score (45-check audit), /drift (12-check drift radar), and /readiness (10-check AI readiness) in parallel, then computes a weighted composite: score × 0.5 + drift × 0.3 + readiness × 0.2. One input, one output, one composite grade. Use this when you need a single holistic assessment instead of three separate scans, or when sharing a design-intelligence verdict (the report is the most shareable surface). When NOT to use: for just the audit score, use designesy_score; for just drift, use designesy_drift_score; for just AI readiness, use designesy_readiness_score. Executable: fires 3 internal APIs in parallel, each fetches the target URL. No browser needed. The full result is large: about 75 to 100 KB of JSON on the ten sites measured, on the order of 20,000 tokens or more, because it carries each engine's whole result beside the merged check list. To trim it, pass detail "summary": the same keys with fewer rows, about 4 to 31 KB on the same sites. It keeps the composite, the totals, each engine's score, grade and counts, and only the checks and synthesis entries that did not PASS; omitted counts what was left out. detail "full" (the default) returns everything. Returns JSON: { ok, url, compositeScore (0-100), compositeGrade (A-F), score { sub-result }, drift { sub-result }, readiness { sub-result }, totalChecks, totalPass, totalWarn, totalFail, totalSkip, totalManual, checks[] (all checks across all engines, tagged with engine), synthesis[] (8 synthesis checks verifying the report ran correctly), appUrl (standalone interactive dashboard URL) }; with detail "summary" it adds detail and omitted. Results cached ~24h per URL. MCP Apps: hosts that support io.modelcontextprotocol/ui render an interactive dashboard inline; others get the JSON plus an appUrl link.

Input Schema

NameRequiredDescriptionDefault
urlYesPublic URL to generate a design-intelligence report for.
detailNoOptional: "full" (the default) returns everything; "summary" returns the composite, the totals, each engine's score, grade and counts, and only the checks that did not PASS.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.13.8

TDQS

A4.4/5.0
Behavior3/5

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

Annotations already declare readOnly=true, idempotent=true, openWorld=true, destructive=false, so the safety profile is covered. The description adds substantial non-annotation behavior: three internal APIs fired in parallel, no browser needed, ~24h per-URL caching, and the 75-100KB / 20k-token payload size. That is real added value, but it never states failure modes (e.g. what happens on an unreachable or non-public URL), which holds it below a 4.

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?

Front-loaded with the purpose, then fan-out, formula, routing, cost, and return shape in a logical order, and the return-value sentence is genuinely load-bearing given there is no output schema. It is longer than needed in places — 'One input, one output, one composite grade' and 'the report is the most shareable surface' are rhetorical filler — which keeps it from a 5.

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?

With no output schema, the description carries the full return contract and does so thoroughly: the JSON key list, the conditional detail/omitted keys, the composite formula weights, caching, and the MCP Apps dashboard fallback. An agent has everything needed to call it and interpret the result.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description goes beyond the schema by quantifying the tradeoff for detail='summary' (4-31KB vs 75-100KB, omitted tracks what was dropped) and confirming 'full' is the default, which is decision-relevant information the enum alone does not convey.

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?

States a specific verb+resource (generate a unified design-intelligence report for a single URL) and explicitly positions it as the synthesis capstone that fans out to three named engines. It names each sibling it is not (designesy_score, designesy_drift_score, designesy_readiness_score), so an agent can route 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.

Usage Guidelines5/5

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

Provides explicit when-to-use ('single holistic assessment instead of three separate scans', 'sharing a design-intelligence verdict') and an explicit when-NOT-to-use block that maps each single-engine need to the correct sibling tool. No inference required.

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