aura-components-mcp
A free, no-login, zero-dependency MCP server (35 tools over stdio) that searches Aura's public catalogue of 2,495 components, 192 skills, 30,688 assets, and 725 design systems, then turns the results into paste-ready build plans — plus a local award-site intelligence layer for design inspiration.
Discover the catalogue —
aura_status(health + live free counts),aura_categories(13 categories with counts),aura_version.Search all four surfaces —
aura_search_components,aura_search_skills,aura_search_assets,aura_search_design_systems, oraura_search_allin parallel; supports theme/min_views/negative_theme filters, sorts, paging, andexact_matchfor honest-empty results.Fetch full content —
aura_get_component(HTML/Tailwind source),aura_get_skill(whole SKILL.md),aura_get_design_system(DESIGN.md + preview HTML), with chunking orfull:truefor whole bodies.Bulk and relate —
aura_bundle/aura_bulk_fetch(2–8 details per call),aura_related(more-like-this),aura_recommend(starter kit for a goal sentence).Install and scaffold —
aura_install_component(CDN scripts, fonts, file map),aura_install_skill,aura_install_asset(license-aware),aura_use_design_system(token starter CSS),aura_scaffold_page(tokens + system + markup in one ordered turn).Generate prompts —
aura_promptruns a 2-pass flow: draft + 6 questions, then a copy-paste final prompt with suggested calls.Bridge to external evidence —
aura_inspo_*(recommend/components/reference/system/compare) map real-site Inspo references onto Aura calls;aura_docs_plan/aura_docs_checkwire in fresh Context7 docs (Tailwind, GSAP, Lenis, Iconify).Icons —
aura_iconreturns a ready-to-paste SVG (Font Awesome Free + HackerNoon pixel), with auto-fallback and enforced CC BY 4.0 credit.Award-site intelligence —
aura_award_search,aura_award_inspect(design DNA, palettes, elements, comparisons),aura_design_blueprint(evidence-backed brief mapped to real free Aura components),aura_visual_audit(browser screenshots/band maps, needs Chrome),aura_motion_study(runtime motion scans and recordings), andaura_award_index(persistent local corpus with rebuild/resume/refresh, winner deltas, watches).Free-only and account-free throughout — no OAuth or API key; Pro rows are refused everywhere, and every row carries
page_urlplus author credit.
Fetches and indexes Awwwards award data, including winners, baselines, and watches, to provide award intelligence across the free catalogue.
Provides icon retrieval using Font Awesome Free SVGs, with automatic fallback and required credit, for use in generated components and pages.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@aura-components-mcpfind a free hero section for a dark portfolio and how to install it"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
I got tired of opening twenty Aura tabs every time I started a landing page. So I built the MCP server I wanted: every free thing on aura.build, one stdio call away, no account, no key, no browser.
Contents
v1.7.3 — hardening release, no new tools, no new dependencies. The whole award layer now fetches through one guarded path (scheme/host/DNS policy, re-checked redirects, size-capped bodies) plus the IPv6 parser fix that had mis-blocked public AAAA/dual-stack hosts. Plan-based index lifecycle (
rebuildcontinues,resumefinishes,refreshforces), drift-guarded winner baselines that an empty listing can't wipe, normalized URL watches, and artifact-honest capture/motion. 49 new hermetic tests lock it in: 275 hermetic + 45 live checks, all green.
v1.7.1 — bug-fix release, no new tools. Central free-only enforcement: Pro components/assets by direct ID are now refused (
-32602, fail-closed on ambiguous entitlement) instead of returned in full — search, install, bundle, scaffold, and related all inherit it. Search cache isolates explicittheme(dark/light no longer share entries). Bundles honor all 8 refs end-to-end withdropped_refsdisclosure. Newmin_views_filtered_outcount (totalstays upstream). Full icon outages surface as upstream errors, not misses. Upstream hardening: malformed rows disclosed viamalformed_dropped(single fetch fails loud), non-429 4xx never retried. Node floor raised to maintained releases (engines>=22, CI matrix 22.x/24.x). Dead code removed, scaffold merge extracted, verify extended.
v1.7.0 — 29 tools: 5 pure
aura_inspo_*mappers (recommend/components/reference/system/compare) bridge Inspo evidence to Aura calls with zero extra deps — strict macro gate (need_macro), palette priority brand > Inspo > Aura, enforced tokens-first, mandated image srcset plan, fast preview-URL look gate — plus 2 pureaura_docs_*helpers (plan/check) wiring Context7 fresh docs for tailwind/gsap/lenis/iconify, withdocs_stampon every install/scaffold and a look-preserving conflict rule (fresh API wins, look stays identical) — plus liveaura_icon(Font Awesome Free + HackerNoon pixel SVGs, auto-fallback, CC BY 4.0 credit always) — plusaura_version(hourly npm check, prefer-latest notice, verdict inside everyaura_status).aura_promptnow asks 6 questions (+macrostructure, +vibe) and leads Pass 2 withinspo.recommend.aura_scaffold_pagerefuses explicit Pro ids (pro_filtered_out). Build hardened for CRLF checkouts.
v1.6.3 — 20 tools. New
aura_prompt: need-based prompt in 2 passes (draft + 4 questions, ask user, then copy-paste final). Honest search: zero-overlap fallbacks returntotal:0+no_match+refused_fallback+ suggestions instead of masked popular rows;exact_match:trueskips fallbacks; recommend auto-retries once then fills from editorial picks; theme reorder-not-drop; design-systems index content/preview_html; kind-aware skill recall; slim lists by default (slim:falseopts out);full:trueone-shot bodies; scaffold takes["732","1364"]/[{id}];status.freshnessper surface; per-surfacesort:'trending'(no dead trending tool). Search facets equal detail facets, skills deduped, token starter + preview-mode warnings, legal asset plans, scoped CSS + chunkconcatplans, bulk-fetch, one-turn scaffold builds.
Point any MCP client at dist/server.js and your agent can search 2,495 free components, read 192 agent skills in full, pull 30,688 assets, and apply 725 DESIGN.md systems. It answers in seconds because there is nothing to log into and almost nothing to download: one bundled JS file, zero dependencies.
Built by swastiksingh-dev. Catalogue content belongs to Aura (aura.build, by Meng To / DesignCode). This project is not affiliated with Aura.
Related MCP server: brandpilot-mcp
Why I built this instead of using the official MCP
Aura already ships an official MCP at https://mcp.aura.build/mcp. It is good at what it does: your Canvases, your projects, publishing, all behind OAuth. This server does the other half. It covers the public catalogue, and it skips the parts that slow an agent down: no OAuth dance, no account, no per-project scopes. A few things the official one does not do:
aura_install_componenttells the agent exactly how to paste a component: which CDN scripts it needs, which fonts it references, which file to put it in.aura_use_design_systemhands back a:roottoken starter plus the copy order (tokens first, markup second).aura_categoriesshows where the free catalogue is deepest, with live counts; per-surfacesort:'trending'shows what is new.aura_recommendbuilds a starter kit across all four surfaces in one parallel call.Everything defaults to free. Pro rows never sneak into results.
What is inside
2,495 free components with HTML/Tailwind source, preview images, tags, and author credit
192 agent skills with full SKILL.md bodies (GSAP, Tailwind v4, Anime.js, copywriting, and more)
30,688 images and clips with direct CDN URLs at multiple widths
725 DESIGN.md systems with tokens, type rules, layout notes, and preview HTML
35 tools over stdio (29 catalogue + 6 award-intelligence), one bundle, 60-second LRU cache (300 keys) with request coalescing, author memo, category-count cache, retries with jittered backoff
Award corpus: file-based JSON index (
~/.aura-mcp/awards) with atomic writes, resume checkpoints, winner baselines, watches; polite ~1 req/s Awwwards fetching with distinct 404/403+429/5xx/timeout handlingHonest search: AND-phrase misses retry as OR-tokens (2 passes) plus a labeled safety net — but zero title-overlap fallbacks are refused as
total:0+no_match+suggested_queriesinstead of masking with popular rows;exact_match:trueskips fallbacks entirelyAgent accelerators:
aura_prompt(2-pass prompt with user confirmation),aura_bulk_fetch/aura_bundle(8 details/turn, any of 3 kinds),aura_scaffold_page(tokens + system + markup in dependency order),aura_related,aura_install_asset(license-aware)Faceted lists: every component carries
facets { theme, weight, code_chars, needsTailwind, needsIcons, fonts }; filtertheme: dark|lightserver-side
Start with aura_status, then aura_search_all. That order matters: status confirms the catalogue is reachable, search_all shows which surface has the best match before you spend calls on details.
Install
Needs Node 22 or newer. No other dependency. Pick one:
# Option A — from source (GitHub)
git clone https://github.com/swastiksingh-dev/Aura-Components-MCP.git
cd Aura-Components-MCP
npm install
npm run build
node ./dist/server.js# Option B — npm
npm i -g aura-components-mcp
aura-components-mcp# Option C — npx, no install
npx -y aura-components-mcp@latestThen register it in your client. Full per-client steps live in SETUP.md — Claude Code, Cursor, Codex, Windsurf, OpenCode, Cline, Roo Code, DeepSeek Harness, generic stdio.
# Claude Code
claude mcp add aura-components -- node ./dist/server.js// Cursor, Windsurf, and most others (~/.cursor/mcp.json or equivalent)
{ "mcpServers": { "aura-components": { "command": "node", "args": ["./dist/server.js"] } } }// OpenCode (opencode.json) — see https://opencode.ai/docs/mcp-servers
{ "$schema": "https://opencode.ai/config.json", "mcp": { "aura-components": { "type": "local", "command": ["node", "./dist/server.js"], "enabled": true } } }Demo
aura_prompt turns one sentence into a confirmed prompt, aura_recommend turns it into a starter kit with links. Full clip in assets/.
The 35 tools
Start with aura_status, then aura_search_all. That order matters: status confirms the catalogue is reachable, search_all shows which surface has the best match before you spend calls on details.
v1.7.2 — 35 tools: the six award-intelligence tools (
aura_award_search,aura_award_inspect,aura_design_blueprint,aura_visual_audit,aura_motion_study,aura_award_index) join the 29 catalogue tools — ranked Awwwards references withtry_forcues, design DNA with suggestedideas, blueprints with paste-ready tokens + executablenext_calls, graceful browserless fallbacks, and a persistent local corpus. See CHANGELOG.md.
Find
Tool | What it returns |
| Reachability plus live free counts. Call it first. |
| Free components by text, category, |
| Skill metadata (title, description, source repo, views). |
| Images and clips by keyword, media type filter included. Slim rows (no 4K URLs until install). |
| DESIGN.md metadata: title, description, views, author. |
| All four surfaces in parallel. Never empties (fallback + suggestions). |
| A starter kit for a goal sentence, with links and a short rationale. |
| The 13 component categories with live free counts. Counts overlap (see |
| 3 more-like-this per item. Discovery never dead-ends. |
Fetch (full bodies)
Tool | What it returns |
| One component in full: markup, style block, preview, author, page URL. |
| The whole SKILL.md body. This is the one agents actually build from. |
| Full DESIGN.md content plus preview HTML. |
| 2–8 details in one call (components/design_systems/assets). Per-item errors never fail the batch. |
Install & build (tokens first, then markup)
Tool | What it returns |
| The same component plus a paste plan: CDN scripts, fonts, steps, file map, chunk |
| Where to save SKILL.md so the agent can load it, plus upstream link. |
| Legal drop-in: download + preview URLs, license (all-rights-reserved per Aura Terms §4), file path. |
| Token starter CSS plus the order to apply things in. |
| One-turn page build: tokens.css + system preview + markup in order, combined deps + files. |
| Need-based prompt in 2 passes: draft + 6 questions (theme, sections, system, assets, macrostructure, vibe), then copy-paste final. Confirm with user first. Pass 2 leads with |
Bridge (Inspo · fresh docs · icons)
Tool | What it returns |
| Brief → Inspo + Aura call plan (pure, no fetch). Strict macro gate: no |
| Inspo component filter → Aura category search + scaffold hint (tokens first, weight s|m). |
| One Inspo JSX + one Aura component → scoped adapt plan (token swaps, css scope, files). |
| Inspo tokens vs Aura DESIGN system → A/B/blend + one |
| 2–4 slim Inspo sites → house style + closest Aura system/component queries. |
| Fresh-docs lookup plan (pure): library + need → Context7 resolve/query plan (trusted: tailwind, gsap, lenis, iconify) + Aura apply steps. |
| Pasted code vs fresh docs (pure): verdict current|needs-update, look-preserving fixes, pin checks. |
| One free icon as ready SVG (live): FA Free + HackerNoon pixel lib, auto-fallback, license + credit always, font alternative, 24h cache. |
| Running vs npm-published version (live, hourly cache). |
Award intelligence (new in v1.7.2 — 6 tools, zero npm deps)
Search → inspect → blueprint → audit → motion. Core search/index work with no browser; live capture needs Chrome (see setup below).
Tool | Modes | What it returns |
|
| Ranked Awwwards refs (title, source URL, tags, awards, studio, preview link, relevance + reasons). Multiword queries get alias expansion ( |
|
| Design DNA (palette, tech, elements, awards, score). Empty Technologies sections are backfilled from listing tags and labeled |
| goal + 2–5 refs | Markdown brief + versioned JSON ( |
|
| Real browser screenshots + live-DOM band maps when Chrome works ( |
|
| Live runtime scans (libs, easing vocab, scroll model, ScrollTrigger counts — only what was observed), bounded frame studies (2–16 frames, ≤30s), |
|
| Persistent corpus in |
Browser setup (optional, capture/motion only): install Chrome/Chromium, or set
AURA_CHROME_PATH to its executable. For .webm motion video, also install
ffmpeg or set AURA_FFMPEG_PATH. Without them the six tools still search,
inspect (via polite HTML fetch), blueprint, index, and report
BROWSER_UNAVAILABLE with setup guidance where a live browser is required.
CDP setup failures (refused socket, hung attach) normalize to the same
BROWSER_UNAVAILABLE code with a per-operation fallback hint — never a raw
CDP timeout.
%%{init: {'theme': 'base', 'themeVariables': {'fontFamily': 'Inter, system-ui, -apple-system, sans-serif', 'fontSize': '15px', 'lineColor': '#ff2a2a', 'edgeLabelBackground': '#0a0a0b'}}}%%
flowchart LR
S["🔍 aura_award_search<br/>ranked refs + try_for"] --> I["🧬 aura_award_inspect<br/>design DNA + ideas"]
I --> B["📐 aura_design_blueprint<br/>brief + tokens + next_calls"]
B --> A["📸 aura_visual_audit<br/>capture / bands / compare"]
A --> M["🎞️ aura_motion_study<br/>scans + studies"]
B -.-> X["🗂️ aura_award_index<br/>corpus · winners · watches"]
X -.-> S
classDef core fill:#111318,stroke:#8b949e,color:#f5f5f5,stroke-width:2px;
classDef hot fill:#1c0606,stroke:#ff2a2a,color:#ffffff,stroke-width:2px;
classDef idx fill:#161a08,stroke:#d4a017,color:#ffffff,stroke-width:2px;
class S,I,A,M core;
class B hot;
class X idx;The 6-call award loop (fast: details + section queries run concurrently):
search → inspect → blueprint → follow its next_calls → audit → motion
Two award servers? If you also run awwwards-mcp, keep both or pick one:
aura_award_* is canonical here — it's the only path that maps references to
Aura's free catalogue inside aura_design_blueprint. The standalone server
can't do that mapping.
Every row carries page_url (open it to see the design) and author where Aura credits one.
Fallback rules (read this once)
Per surface, not global.
aura_search_allfans out to four independent pipelines (phrase → OR-tokens → safety net → kind-aware refusal). Mixed outcomes are normal and correct: skills may returnfallback:or-tokens:...while components returntotal:0, no_match:true. ReadisFallback/no_matchon each surface — never assume one flag covers all four.Recommend fills the kit. If components come back
no_match,aura_recommendauto-retries once withsuggested_queries[0](retried:true, retried_from:<query>), then falls back to human-grade editorial picks (editorial_fallback:true). The starter kit is never left empty on a text goal.Big code in one call. Search rows are slim excerpts by design. Skip the 3-chunk manual concat:
aura_get_component {id, full:true}andaura_scaffold_page {goal, full:true}return complete bodies (33,897-char component verified in one call). Default stays chunked to protect context.Counts are live upstream.
aura_statuscounts mirror the Aura catalogue right now;freshnessshows maxupdated_atper surface. Counts only grow when Aura publishes — a freshness bump with flat counts means metadata moved, not new components.totalmeans upstream matches (for limit/offset paging), not post-filter rows. Local drops are disclosed, never silent:min_views_filtered_out,negative_theme_filtered_out,deduped, bundledropped_refs.Award errors are labeled, never masked.
NOT_FOUND(−32004) = unknown slug;UPSTREAM_ERROR(−32000) = blocked/failing source (blocks are never retried);BROWSER_UNAVAILABLE= install Chrome;INDEX_BUSY= crawl already running (resumecontinues);INDEX_CORRUPT= file quarantined + rebuilt empty. Empty award results carrysuggestionsoremptyCorpus:true; failures carryliveError. Award fetches pass a URL policy (http(s) only; private/loopback/link-local/metadata ranges blocked; bounded best-effort DNS check; redirect targets re-checked; bodies size-capped) —allowLocalrelaxes loopback only. Refusal means zero rows matched (best-row gate, theme-first ordering kept). Siteideasrun 0–6 by evidence (1 on thin evidence is valid) and are alwaysstatus:suggestedwith an observedbasis. Blueprintconfidenceis evidence-scored (refs + matched sections + recorded motion + measured structure + fully-parsed tech → low…high, withconfidenceWhy). Known limits: taxonomy/element depth follows the polite crawl (maxPagesis a per-call budget,resumecontinues); palettes come only from observable page evidence; tech labels are inferences with triggers shown;static-htmlbands have no measured offsets.
Prompt for AI agents (start here)
✨ The fastest way to a shippable page. Two passes, one confirmation.
Pass 1 — agent calls:
aura_prompt { "goal": "dark SaaS pricing" }
Server returns: draft_prompt + 6 questions + next_call.
Agent MUST ask you (theme / sections / system / assets / macrostructure / vibe) via native question UI.Pass 2 — agent calls with your answers:
aura_prompt { "goal": "dark SaaS pricing",
"answers": { "theme": "dark", "sections": ["hero","pricing"],
"system": "auto-pick", "assets": "no" } }
Server returns: final_prompt (copy-paste) + plan order + suggested calls.Copy-paste starter you can say to any agent:
Check aura_status. Then call aura_prompt with my goal, ask me its 6 questions,
then call it again with my answers and follow its suggested_calls.
My goal: dark cinematic portfolio.Rules baked in: Tailwind container mx-auto px-4, hex 50-900, 768px hamburger,
hover scale 1.05 + shadow, Inter 40-60/28-36/14-16, motion <500ms +
prefers-reduced-motion, tokens first then markup.
Sources: tips-for-prompting,
introduction,
design-systems.
How I use it
New landing page, dark cinematic portfolio, SaaS pricing section. The shape is the same each time:
aura_promptwith the goal sentence. Answer its 6 questions. Copy the final prompt.aura_recommendwith the goal sentence. Skim the starter kit links.aura_get_componenton two or three finalists. Read the markup, not just the description.aura_install_componenton the winner. Follow the file map.aura_use_design_systemonce, before any markup, so tokens land first.
Prompts that work well are in SETUP.md.
Free only, no login
There is no auth in this server. No OAuth, no API key to paste, no account to create. Reads go to the same public catalogue endpoints the Aura website uses. The premium flag stays on every component row, free-only is the default, and Pro rows are refused everywhere — search filters them, and direct ID lookup, install, bundle, and scaffold refuse them (-32602, fail-closed) instead of guessing. If Aura rotates its public key, set AURA_SUPABASE_ANON_KEY and rebuild; nothing else changes.
Optional tuning (all with defaults):
Var | Default | Meaning |
| 12000 | Upstream timeout |
| 2 | Retry budget for 429/5xx with jittered backoff |
| 60000 | LRU cache TTL ( |
| 10 / 25 | Pagination defaults and ceiling |
| 12000 | Chunk sizes for code/content paging |
| true | Keep free-only default |
Develop
npm test # hermetic tests, no network (275 tests)
npm run verify # 45 live checks against the real catalogue + award validation
npm run build # rebundle src/*.mjs into dist/server.jsLayout: src/config.mjs holds env parsing. src/http.mjs hides timeouts and retries behind an injectable fetch. src/catalog.mjs is the deep module (queries, cache, shaping, counts). src/icons.mjs fetches free icons (FA + pixel lib) with its own 24h cache. src/guide.mjs turns rows into install plans plus pure mappers (buildPrompt, combineScaffold, buildInspo*, buildDocs* — same seam for tools + tests + docs). src/awards.mjs parses/ranks Awwwards references (pure) plus a polite fetch client. src/awards-index.mjs persists the award corpus (atomic JSON, locks, checkpoints, winners, watches). src/browser-cdp.mjs drives optional Chrome over native CDP (screenshots, band scans, motion) with honest unavailability. src/tools.mjs validates args. src/protocol.mjs speaks JSON-RPC. src/server.mjs only wires stdio.
Share
Star it if it saved you a tab or twenty: github.com/swastiksingh-dev/Aura-Components-MCP. Reposits welcome — see DIRECTION.md for where this is headed.
built a free design MCP on aura.build: 2495 components, 192 skills, 30k assets, 35 tools. no login. resources are @MengTo's
npx -y aura-components-mcp@latest
https://github.com/swastiksingh-dev/Aura-Components-MCPCredits
Server code by swastiksingh-dev, MIT. Free to fork, use, and sell with. If you fork this, keep the credit line and point people at the original repo.
Contributors
Source | Used for | License / terms |
Aura (Meng To / DesignCode) | The entire catalogue: components, skills, assets, design systems | Belongs to Aura and credited authors; assets all-rights-reserved per Aura Terms §4 |
Comparison only (account projects/publishing over OAuth — the half this server skips) | Aura's terms | |
Inspo design-reference MCP | Real-site evidence behind | Reference JSX belongs to its authors — adapt tokens, don't ship verbatim |
Fresh library docs behind | Docs belong to their projects | |
Icons via | CC BY 4.0 — credit on every hit, enforced by the tool | |
Pixel icons via | Icons CC BY 4.0, other files MIT — credit on every hit, enforced by the tool | |
Award-website references behind | Screenshots/designs belong to Awwwards + credited creators — personal-inspiration use at ~1 req/s, honor robots.txt; see THIRD_PARTY_NOTICES.md | |
Behavioral inspiration for the six award tools (site discovery, design DNA, elements, briefs, indexing, capture, motion, winners, watches) — reimplemented natively, zero code copied | MIT © 2026 Afjal — permission notice preserved in THIRD_PARTY_NOTICES.md | |
Upstream libraries (Tailwind CSS, GSAP, Lenis, Iconify) | The code this server's guides point at | Each project's own license — check before shipping |
License
MIT — see LICENSE.
Available Tools
35 toolsaura_award_indexB
Local award corpus: status (counts/freshness/lock), rebuild/resume/refresh (bounded polite crawl), new_winners (baseline then delta), watch_add/list/remove (studio/tag/url watches). Never auto-crawls on startup.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | ||
| award | No | ||
| action | Yes | ||
| pattern | No | ||
| maxPages | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses two behavioral traits: rebuild/refresh performs a 'bounded polite crawl' and the tool 'Never auto-crawls on startup'. But it does not say what status/lock means, whether rebuild destroys or replaces the corpus, whether resume requires a prior rebuild, or what permissions/environment are needed.
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?
It is compact and the enumerated action grouping is front-loaded, but the parenthetical shorthand ('counts/freshness/lock', 'studio/tag/url watches') is dense and cryptic, and the action-to-parameter mapping would benefit from a slightly more structured format.
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 5-parameter, 8-action tool with no annotations and no output schema, the description is too thin. It omits the relationship between actions and parameters, does not explain return shapes for status/new_winners, and does not warn about side effects of rebuild/resume/refresh on the local corpus.
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 0%, so the description should compensate. It mentions 'status (counts/freshness/lock)' and 'watch_add/list/remove (studio/tag/url watches)' which loosely map to the action enum and the kind enum, but it never explains award (sotd/developer/honorable), pattern, or maxPages, and does not clarify which params apply to which action.
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?
The description names a specific resource (local award corpus) and enumerates the operations it supports (status, rebuild/resume/refresh, new_winners, watch_*), which lets an agent infer the tool's domain well. Sibling differentiation against aura_award_search and aura_award_inspect is only implicit (the 'local corpus' framing hints at local state vs search), so it falls short of a clean 5.
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?
Usage is implied through the action enumeration (e.g., 'baseline then delta' for new_winners, 'bounded polite crawl' for rebuild), but there is no explicit when-to-use/when-not guidance, no mention of when to prefer aura_award_search or aura_award_inspect, and no sequencing advice for the baseline-then-delta flow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aura_award_inspectB
Inspect award refs: site_details (palette/tech/awards/evidence), site_elements (section visuals with media URLs), element (one gallery record), compare_sites (2-3 refs: shared vs gaps, missing marked unknown).
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | ||
| slug | No | ||
| slugs | No | ||
| elementSlug | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. 'Inspect' implies a read-only lookup and it discloses mode-level behavior plus the notable rule that missing refs are 'marked unknown' in compare_sites, but it says nothing about permissions, rate limits, or what a failed lookup returns.
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?
A single dense sentence with nested parentheses that is front-loaded with the verb and mode list, so nothing is wasted. But the parenthetical stacking makes the mode-to-argument mapping hard to scan; a short bulleted list would serve an agent better.
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?
No output schema and no annotations, so the description must carry the full burden for a 4-parameter, 4-mode tool. It describes roughly what each mode returns, which is the minimum viable, but leaves the slug/slugs/elementSlug mapping to inference.
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 0%, so the description must compensate, and it only partially does: it ties the four modes to meanings but never says which parameter each consumes (slug for site_details, slugs for compare_sites, elementSlug for element). It does confirm the 2-3 slug constraint for compare_sites, which is genuinely useful.
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?
Starts with a specific verb+resource ('Inspect award refs') and enumerates the four modes as different views of award data, which separates it from aura_award_search/aura_award_index. It never explicitly names those siblings, so the distinction is inferred rather than stated.
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 mode list implies when each mode applies (site-level vs element-level vs multi-site comparison), which is useful context. However, there is no guidance on when to reach for this tool versus aura_award_search or aura_award_index, and no prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aura_award_searchB
Search award-winning website references (Awwwards). Modes: sites (ranked refs with preview links), categories (real taxonomy from the index/source), elements (hero/nav/pricing/footer examples), motion (previously recorded motion studies). Local index first, one polite live refresh when empty.
| Name | Required | Description | Default |
|---|---|---|---|
| full | No | ||
| mode | Yes | ||
| slug | No | ||
| tags | No | ||
| award | No | ||
| color | No | ||
| limit | No | ||
| query | No | ||
| easing | No | ||
| offset | No | ||
| studio | No | ||
| library | No | ||
| category | No | ||
| technology | No | ||
| scrollModel | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses the local-index-first / single live-refresh-on-empty caching behavior, but says nothing about permission needs, rate limits, latency, or what distinguishes a live call from a cached one.
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 is front-loaded, the mode list is compact, and the caching note closes efficiently. The mode enumeration is a dense run-on, but little is wasted.
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 15-parameter, 0%-coverage tool with no output schema and no annotations, the description leaves most filters and their interactions undocumented. Mode is covered, but an agent cannot reliably invoke the filter parameters.
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 0% across 15 parameters, yet the description only addresses mode (whose enum values the schema already lists). Filters like award, color, tags, studio, library, category, technology, scrollModel, easing, limit, and offset are left entirely unexplained, so the description does not compensate for the coverage gap.
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 ("Search award-winning website references (Awwwards)") and enumerates four modes with what each returns, which is rare specificity. It does not name its closest siblings (aura_award_inspect, aura_award_index) to disambiguate, so it stops short of 5.
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 mode breakdown gives clear selection context — an agent can tell which mode yields ranked site refs vs taxonomy vs element examples vs motion studies — plus the "local index first, one polite live refresh when empty" operational note. There are no explicit exclusions pointing to aura_award_inspect or aura_award_index for non-search operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aura_bulk_fetchA
Bulk-fetch 2-8 details in one call for components, design_systems, or assets. Alias-friendly name for aura_bundle. Per-item errors never fail the batch.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| kind | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose two meaningful behavioral traits the schema cannot convey: the 2-8 item batch bound and the partial-failure model ('Per-item errors never fail the batch'). It still omits safety profile and whether ids are resolved per-item or atomically.
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 short sentences with the core purpose front-loaded, then the alias note, then the failure semantics. No filler and nothing redundant.
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 2-param, no-annotation, no-output-schema tool, the description covers batching and error behavior but leaves the id format and the shape of a successful result unaddressed. It is adequate but has a clear gap in the one place an agent is most likely to guess wrong.
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 0%, so the description must compensate: it usefully constrains the `ids` array to 2-8 entries and echoes the `kind` enum values. However, it never explains what form an id takes (slug, uuid, name), which is the single most important thing for invoking this tool correctly.
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 concrete verb and resource (bulk-fetch 2-8 details) and scopes it to components, design_systems, or assets. Critically, it explicitly identifies itself as the alias of sibling tool aura_bundle, so an agent can tell the two apart without opening either 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 a clear usage context (batch retrieval of 2-8 details in one call) and clarifies the relationship to aura_bundle as an equivalent alias, which is real routing information among 30+ siblings. It stops short of stating when to prefer a batch call over the individual get_* tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aura_bundleB
Bulk-fetch 2-8 component details in one call (ids or slugs). Per-item errors never fail the batch.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | No | ||
| slugs | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It helpfully discloses that per-item errors never fail the batch, which is a real behavioral trait. But it omits read-only nature (implied but unstated), what the response shape looks like, and id-vs-slug resolution behavior.
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?
One compact sentence that front-loads the key operation and the batch constraint. No wasted words.
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?
No annotations and no output schema mean the description must do more. It covers the core operation and partial-failure behavior but leaves return shape, id/slug combination semantics, and required-vs-optional handling unspecified.
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 0% and both parameters are undocumented in the schema. The description only hints at ids/slugs and the 2-8 constraint; it doesn't explain array formats, whether both can be combined, or whether any parameter is required (schema says none).
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 (bulk-fetch) and resource (component details), with the batch size (2-8) and inputs (ids or slugs) made explicit. It distinguishes itself reasonably from siblings like aura_get_component and aura_bulk_fetch, though it doesn't explicitly name the single-item sibling it replaces.
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?
Usage is implied — fetch 2-8 items in one call — but there is no explicit guidance on when to prefer this over aura_get_component or aura_bulk_fetch, nor when to use ids vs slugs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aura_categoriesA
The 13 component categories with live free counts. Pick one, then search within it.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries the burden. It discloses the return cardinality (13 categories) and that counts are 'live', which is useful behavioral context. However, it says nothing about caching, rate limits, or how 'free counts' are scoped (per category vs. total).
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?
Two crisp sentences with zero waste. The result shape is front-loaded and the follow-up action is stated immediately.
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?
Adequate for a zero-param discovery tool, but with no output schema and no annotations, the description should say a bit more about what each category entry contains or what 'free counts' means. Minor gap, not a blocker.
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?
Zero parameters, so baseline is 4. The description correctly implies a no-arg invocation, consistent with the empty schema.
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 resource (the 13 component categories) and the data returned (live free counts). Differentiates reasonably from siblings like aura_search_components by framing it as the entry point for category browsing, though it doesn't name a sibling explicitly.
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 a clear workflow: 'Pick one, then search within it,' which implies this is a top-level browse tool preceding aura_search_components. No explicit when-not-to-use, but the sequencing guidance is actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aura_design_blueprintC
Evidence-backed build plan from 2-5 award refs + goal: Markdown brief + versioned JSON, mapped to real free Aura components/systems (free-only enforced, failures marked unavailable). Never copies third-party source.
| Name | Required | Description | Default |
|---|---|---|---|
| goal | Yes | ||
| references | Yes | ||
| responsive | No | ||
| technology | No | ||
| constraints | No | ||
| visualDirection | No | ||
| includeStructure | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose real behavior: free-only enforcement, failures marked unavailable, and a no-copy policy for third-party source. However it says nothing about determinism, error surfacing beyond 'unavailable', or how the versioned JSON is versioned, leaving meaningful behavioral gaps.
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?
It is a single front-loaded, telegraphic sentence that avoids filler, which is good, but the densely compressed style ('from 2-5 award refs + goal', 'free-only enforced') forces the reader to decode rather than read cleanly. Efficient but at the cost of parseability.
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?
This is a complex 7-parameter tool with no annotations, no output schema, and no parameter descriptions. The description names the two output artifacts (Markdown brief, versioned JSON), which helps, but it is not sufficient to call the tool correctly given five undocumented optional parameters.
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 0% across 7 parameters, so the description must compensate, and it only partly does: it constrains references to 2-5 award refs and identifies goal. The other five parameters (responsive, technology, constraints, visualDirection, includeStructure) and the fact that references are strings are left entirely undefined.
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?
The description names a specific deliverable: an 'Evidence-backed build plan' that outputs a 'Markdown brief + versioned JSON' mapped to real free Aura components. This is concrete verb+resource phrasing that lets an agent understand the output shape. It doesn't explicitly contrast with close siblings like aura_docs_plan or aura_bundle, so it falls just short of 5.
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?
There is no statement of when to use this tool versus alternatives such as aura_docs_plan, aura_scaffold_page, or aura_bundle, and no exclusions or prerequisites. The 'from 2-5 award refs + goal' phrasing hints at the input situation but is really a parameter constraint, not usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aura_docs_checkB
Check pasted code against fresh docs (pure). library + code_excerpt (under 20000 chars, excerpts not full pages) + optional docs_note -> verdict current|needs-update, look-preserving fixes, version-pin needs_check. Fresh API wins, look stays identical.
| Name | Required | Description | Default |
|---|---|---|---|
| library | Yes | ||
| docs_note | No | ||
| code_excerpt | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and adds useful traits: possible verdicts (current|needs-update), that fixes are look-preserving, and that version-pins yield needs_check. But it is ambiguous whether 'fixes' are returned or applied, and says nothing about permissions, side effects, or whether the tool mutates anything.
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 arrow notation compresses a lot into little space. But the compression veers into cryptic shorthand ('pure', 'version-pin needs_check') that costs more clarity than the words saved.
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?
Given no output schema and no annotations, the description does convey the verdict vocabulary and the look-preserving-fix behavior, which is the bare minimum an agent needs. It still omits invocation details and the exact nature of the returned fixes.
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 0%, so the description must compensate, and it partially does: it ties 'library + code_excerpt' to the required inputs, adds a size constraint (under 20000 chars) and an excerpt-not-full-page rule, and marks docs_note as optional. The docs_note parameter's meaning is left unexplained.
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 pasted code against fresh docs.' An agent can tell it validates code against documentation. However, it does not differentiate itself from the sibling aura_docs_plan, and the '(pure)' tag is unexplained jargon.
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?
There is no guidance on when to use this versus alternatives. The obvious sibling, aura_docs_plan, is never mentioned, and no preconditions or scenarios for choosing this tool are given. The agent must infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aura_docs_planB
Plan a fresh-docs lookup (pure, no fetch). library + need -> Context7 resolve/query plan (trusted: tailwind, gsap, lenis, iconify) + apply steps for Aura files + docs stamp slot. The agent calls Context7, Aura shapes the rest.
| Name | Required | Description | Default |
|---|---|---|---|
| need | Yes | ||
| library | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, but it does disclose a key behavioral trait: it is 'pure, no fetch,' so the agent knows no network retrieval occurs and the tool only produces a plan. It also names a trusted library set (tailwind, gsap, lenis, iconify), which is useful context. It stops short of describing idempotency, side effects on Aura files, or the return format.
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?
It is short and front-loads the purpose, which is good. The telegraphic style ('library + need -> Context7 resolve/query plan') and jargon like 'docs stamp slot' trade clarity for brevity, so it is not maximally effective conciseness.
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 planning tool with no output schema, no annotations, and two undocumented parameters, the description should do more to describe the structure of the plan it returns. It gestures at return components but leaves 'docs stamp slot' and the apply-step format ambiguous.
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 0%, so both parameters are undocumented in the schema. The description maps 'library + need' to the two params and gives example library values, adding real value for 'library'. It adds essentially nothing for 'need' semantics, so it does not fully compensate for the coverage gap.
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?
The description states a specific verb and resource ('Plan a fresh-docs lookup') and clarifies it is a planning-only operation ('pure, no fetch'). It describes the output shape (Context7 resolve/query plan + apply steps for Aura files + docs stamp slot), though the differentiation from the sibling aura_docs_check is left implicit rather than stated.
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?
It implies the workflow with 'The agent calls Context7, Aura shapes the rest,' giving a sense of division of labor. However, it never states when to use this vs aura_docs_check or when it should be avoided, leaving the agent to infer the routing condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aura_get_componentA
Full free component detail with HTML/Tailwind source, preview image, page URL. Numeric id or slug. Chunk param pages large code (see code_info). full:true returns full code (ignores chunk).
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| full | No | ||
| slug | No | ||
| chunk | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose the return payload (source, preview image, URL) plus a genuinely useful behavioral rule: full:true overrides chunk. However it says nothing about failure modes when neither id nor slug is supplied, whether id/slug are mutually exclusive or preferential, or any auth/quota constraint.
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?
Four short sentences, front-loaded with the payoff (what you get back), then parameters. Telegraphic style wastes nothing, though the fragment 'Numeric id or slug' is terse to the point of being slightly clipped.
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?
Given zero schema descriptions, no annotations, and no output schema, the description covers the essentials — return contents and all four parameters. It still leaves an agent guessing about identifier precedence and error behavior for a tool that is clearly the payload-heavy terminal step of a search-then-fetch flow.
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 0%, so the description must compensate, and it does: all four parameters get meaning (id numeric, slug string, chunk pages large code, full returns everything and ignores chunk). The gap is that it never states whether id and slug are alternatives, which one wins, or what units chunk uses.
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 retrieval resource and enumerates what comes back: HTML/Tailwind source, preview image, and page URL. It is clearly a 'fetch the full detail for one component' tool, distinct from aura_search_components by virtue of returning source. It does not, however, explicitly name a sibling it supersedes or is superseded by.
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?
Usage is only implied: an agent infers this is the detail-fetch following a search, and the chunk/full notes hint at when to page vs. pull everything. There is no explicit 'use this instead of X when Y' and no statement of prerequisites such as needing a valid id or slug obtained elsewhere.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aura_get_design_systemB
Full free DESIGN.md content plus preview_html, tokens, and page URL. System id or slug. Chunk param pages large preview_html (see preview_info).
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| slug | No | ||
| chunk | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description carries the full disclosure burden. It does add genuine behavioral value by describing the return payload ('Full free DESIGN.md content plus preview_html, tokens, and page URL') and by noting that chunk pages large preview_html, but says nothing about auth, rate limits, or what happens when neither id nor slug is supplied.
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 tight fragments, front-loaded with the returned payload, with zero filler. It is slightly too telegraphic and the dangling '(see preview_info)' reference costs a point.
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 3-parameter tool with 0% schema coverage, no annotations, and no output schema, the description is thin: it never says what happens if id and slug are both omitted, gives no value format for chunk, and cites a preview_info token not present in the provided schema.
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 0% across 3 parameters, so the description must compensate. It clarifies that id and slug are interchangeable identifiers and that chunk controls paging of preview_html, which is real added meaning, but it leaves the chunk value format/limits undefined and points at an undefined 'preview_info' reference.
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+resource (get design system) and enumerates the payload it returns (DESIGN.md content, preview_html, tokens, page URL), which separates it from the search-oriented siblings like aura_search_design_systems. It never names a sibling explicitly, so the differentiation is inferential rather than stated.
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?
There is no when-to-use guidance and no mention of alternatives such as aura_use_design_system or aura_search_design_systems; the agent must infer that this is the retrieval step. 'System id or slug' tells you how to address the target but not under what circumstances to choose this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aura_get_skillC
Full free agent-skill content (SKILL.md body) plus source_url and page URL. Skill id. Chunk param pages large bodies (see content_info).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| chunk | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so the description carries the full burden, but it does disclose the return shape (SKILL.md body, source_url, page URL) and that large bodies are paginated via chunk. It omits auth/cost assumptions beyond the word 'free' and gives no rate-limit or error context.
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?
Front-loads the return contents, which is good, but it is written as three telegraphic fragments rather than sentences, and the dangling '(see content_info)' reference adds confusion rather than value.
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, no annotations, and 0% parameter coverage, the description is the sole source of information, and it leaves chunk semantics, expected id format, and the referenced content_info unexplained. Inadequate for an agent to invoke confidently.
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 0% for 2 params. The description only labels 'id' as 'Skill id' and vaguely calls chunk a paging mechanism while deferring to a 'content_info' field that is not present anywhere in the schema, so it fails to compensate for the coverage gap.
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+resource: fetching full agent-skill content (SKILL.md body) with source_url and page URL. An agent can distinguish it from aura_search_skills and aura_install_skill, though the verb 'get' is only implied by the name rather than the prose.
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?
No when-to-use guidance and no named alternative. It never says to call this after aura_search_skills to retrieve a full body, nor when to prefer this over installing the skill, leaving routing entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aura_iconA
Fetch one free icon as ready-to-paste SVG (live). name in kebab-case (bolt, arrow-down). source auto|fontawesome|pixel, style auto|solid|regular|brands. Auto-fallback across styles then libraries; every hit carries license + credit (CC BY 4.0, credit always) plus a font/CSS alternative. 24h icon cache.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| style | No | ||
| source | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it does disclose meaningful traits: auto-fallback across styles then libraries, mandatory CC BY 4.0 credit on every hit, a bundled font/CSS alternative, and a 24h cache. Error behavior and rate limits are not covered, but the return-content and caching context is substantial.
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 definition is dense and front-loaded, leading with the verb and the concrete deliverable (ready-to-paste SVG) before drilling into parameters and behavior. Nearly every clause carries information, though the enum re-listing is marginally redundant given the schema.
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 or annotation coverage, so the description must stand alone, and it does describe the returned artifact (SVG plus license/credit and a font/CSS alternative) and caching. For a 3-parameter fetch tool this is nearly complete, with only failure/timeout behavior left unaddressed.
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 0%, so the description must add the meaning. It contributes the kebab-case format with concrete examples (bolt, arrow-down) and explains that "auto" resolves by falling back styles-then-libraries, which is genuinely new. It does not explain what each source/style option actually yields, and the bare enum listing largely restates the schema.
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?
The description gives a specific verb and resource ("Fetch one free icon as ready-to-paste SVG") plus the output format, so the agent can tell this is a single-icon retrieval tool rather than a search. It does not name or contrast any sibling (e.g. aura_search_assets, aura_get_component), so differentiation is implicit rather than stated.
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?
Usage is only implied through parameter hints such as the auto-fallback behavior and the enumerated source/style values. There is no explicit when-to-use-this-vs-an-alternative guidance and no exclusions, so the agent must infer that this is the tool for grabbing one concrete icon rather than searching.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aura_inspo_compareC
Triangulate a house style from 2-4 slim Inspo sites (pure). evidence[] of {slug, palette?, fonts?, macrostructure?, mode?} — slim keys only, no autopsy. Returns inspo.compare call + closest Aura system/component queries.
| Name | Required | Description | Default |
|---|---|---|---|
| evidence | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations and no output schema, the description carries the burden. It does disclose the return payload ('inspo.compare call + closest Aura system/component queries'), which is useful. But it says nothing about side effects, permissions, or what 'pure'/'no autopsy' operationally restrict.
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?
Compact and roughly front-loaded with the action, but the density of undefined terms ('pure', 'autopsy', 'slim') means the brevity costs clarity rather than earning it.
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 nested-param tool with no annotations, no output schema, and 0% schema coverage, the description supplies the field shape and return format, which is meaningful. It still omits side-effect/permission context and leaves core terminology undefined, so completeness is only partial.
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 0% and the single evidence param is a bare object array, so the description must compensate — and it does partially by enumerating fields {slug, palette?, fonts?, macrostructure?, mode?} with optional markers. However, the meaning of each field and the 'slim keys only' constraint remain unexplained, leaving semantics incomplete.
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?
The core action is discernible: comparing 2-4 Inspo sites to derive a 'house style.' However, key terms ('slim', 'pure', 'house style', 'no autopsy', 'triangulate') are internal jargon with no gloss, so an agent cannot be fully confident what the operation yields versus siblings like aura_inspo_system or aura_inspo_recommend.
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 description implies a usage constraint (2-4 sites, slim keys only) but never states when to choose this tool over aura_inspo_system, aura_inspo_recommend, or aura_inspo_reference. No exclusions or alternative routing is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aura_inspo_componentsC
Map an Inspo component filter onto Aura search (pure). evidence.type hero|pricing|features|cta|nav|footer|testimonial|logo-cloud|faq|stat plus style/macrostructure/mode. Returns inspo.find_components call + aura_search + scaffold_hint (tokens first, weight s|m).
| Name | Required | Description | Default |
|---|---|---|---|
| brief | No | ||
| evidence | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden; it partially meets it by tagging the operation '(pure)' (implying no side effects) and enumerating what comes back (inspo.find_components call + aura_search + scaffold_hint, tokens first, weight s|m). It says nothing about authentication, rate limits, or failure behavior, so it is helpful but incomplete.
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?
Front-loaded with the mapping action, then the filter vocabulary, then the return payload — three compact sentences with no filler. The abbreviation-heavy style ('weight s|m', '(pure)') costs a little clarity but the size is appropriate for a two-parameter tool.
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 nested-object tool with no output schema, the description usefully names the three return artifacts and the evidence filter vocabulary. It leaves the 'brief' input, the internal structure of the evidence object, and the meaning of style/macrostructure/mode unspecified, so an agent cannot construct a valid call with confidence.
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 0% and the evidence object is nested, so the description must compensate. It does list the accepted evidence.type values (hero, pricing, features, cta, nav, footer, testimonial, logo-cloud, faq, stat) plus style/macrostructure/mode, which is real added meaning, but the 'brief' parameter is never mentioned and the shape/optionality of those sub-fields remains undefined.
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?
The description does state a verb+resource pairing ('Map an Inspo component filter onto Aura search'), plus the enumerated evidence.type values and the returned artifacts, so the core operation is identifiable. However, qualifiers like '(pure)' and 'scaffold_hint' are unexplained jargon, and nothing distinguishes this tool from the four other aura_inspo_* siblings (system, compare, recommend, reference).
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?
There is no when-to-use or when-not-to-use guidance, no stated prerequisite or ordering relative to aura_inspo_system / aura_inspo_compare / aura_search_components, and no mention of what to do when no filter matches. The agent must infer from the name that this is the discovery/mapping step.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aura_inspo_recommendA
Map a brief onto Inspo + Aura calls (pure, no fetch). Strict macro gate: without macrostructure returns need_macro:true — run inspo.recommend first, never scaffold generic. With macro returns inspo_call + 3 aura_calls + palette priority (brand > Inspo > Aura).
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | ||
| vibe | No | ||
| brief | Yes | ||
| brand_hex | No | ||
| macrostructure | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and it does disclose meaningful behavior: the strict macro gate, the need_macro:true failure shape, the fact that it performs no fetch, and the returned payload (inspo_call + 3 aura_calls + palette priority). It does not cover permissions, error modes, or determinism, but for a pure mapping tool this is substantial disclosure.
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 tight sentences with no filler, and the gating constraint is front-loaded before the success-path return shape. The telegraphic style borders on cryptic but every clause carries information.
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 and no annotations, the description supplies the return structure and gating behavior an agent needs to invoke this correctly, which is the main completeness risk here. Residual gaps are the unexplained mode/vibe inputs and the exact identity of the tool to call first.
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 0%, so the description must compensate; it explains macrostructure's gating role and implies brand_hex through the 'brand > Inspo > Aura' palette priority. However, 'mode' and 'vibe' are never mentioned, and brief's expected content is only implied, leaving roughly half the parameters opaque.
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 output ('Map a brief onto Inspo + Aura calls') and clarifies scope with '(pure, no fetch)', which separates it from network/fetch siblings. It is dense with internal jargon (Inspo, Aura calls, macrostructure) that a newcomer may not resolve, but the core action is unambiguous.
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 prerequisite and a when-not rule: without macrostructure it returns need_macro:true and the agent must 'run inspo.recommend first, never scaffold generic.' That is real routing guidance, though the named 'inspo.recommend' does not exactly match any sibling tool name, leaving slight ambiguity about which tool to chain.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aura_inspo_referenceB
Adapt one Inspo reference JSX onto one Aura component (pure). evidence {type, id} + aura_component {id|slug}. Returns inspo.get_reference_jsx + aura_get_component calls plus scoped adapt_plan (token swaps, css scope, files).
| Name | Required | Description | Default |
|---|---|---|---|
| evidence | Yes | ||
| aura_component | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It does disclose return content ('inspo.get_reference_jsx + aura_get_component calls plus scoped adapt_plan') and the '(pure)' marker hints at a non-mutating planning operation, but it never states side effects, permissions, or whether anything is written.
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?
Dense, front-loaded, telegraphic statements with no filler; purpose leads, then params, then return shape. It borders on cryptic but every clause carries information.
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?
No output schema and no annotations, with two nested-object params, so the description has a heavy load. It covers the return surface and rough param structure adequately, but leaves the nested objects' inner shape and any safety/permission context unspecified.
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 0% and both params are bare nested objects, so the description must compensate. It does partially by specifying 'evidence {type, id}' and 'aura_component {id|slug}', which is genuinely more than the schema offers, though the meaning of 'type' and the id-vs-slug choice remains unexplained.
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 (Adapt) and resource (one Inspo reference JSX onto one Aura component), with the parenthetical '(pure)' scoping it. However, it does not differentiate itself from adjacent Inspo siblings like aura_inspo_compare or aura_inspo_system, so an agent must infer the boundary.
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?
No when-to-use guidance, prerequisites, or named alternatives. 'Adapt one reference onto one component' implies a single-pair scope, but nothing tells the agent when this is preferable to aura_inspo_compare or the other inspo tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aura_inspo_systemB
Resolve Inspo tokens vs Aura DESIGN system (pure). inspo_tokens {palette, fonts, background?, text?, brand_hex?} + aura_system slug. Returns option A (Inspo) vs B (Aura fetch) vs C (blend) plus one system_choice question payload (A-inspo|B-aura|C-blend) and contrast warning. Tokens first.
| Name | Required | Description | Default |
|---|---|---|---|
| aura_system | Yes | ||
| inspo_tokens | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose the output shape (A/B/C options, a system_choice question payload with enum values, and a contrast warning). It says nothing about side effects, permissions, or whether anything is persisted, so it is partial but adds real behavioral value.
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?
Compact and information-dense with the primary purpose front-loaded, but riddled with unexplained abbreviations ('pure', 'C (blend)', 'question payload') that cost more in clarity than they save in length.
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 nested-input tool with no annotations, no output schema, and 0% documented parameters, the description covers the input shape and returned options but omits the aura_system contract and any error/edge behavior. Adequate but with clear gaps.
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 0% (aura_system is an empty schema, inspo_tokens is a bare object), so the description must compensate. It usefully enumerates inspo_tokens sub-fields (palette, fonts, background?, text?, brand_hex?), but leaves the required aura_system slug format entirely unexplained.
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 ('Resolve') and the two resources being reconciled (Inspo tokens vs Aura DESIGN system), and outlines the returned option set. It is distinguishable from unrelated siblings but never names the close ones (aura_inspo_compare, aura_inspo_recommend, aura_inspo_reference), which would fully disambiguate.
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 only usage hint is the trailing 'Tokens first', which gives an argument ordering but not a when-to-use condition. There is no guidance on when to choose this over the near-identical aura_inspo_compare or aura_inspo_recommend siblings, so selection is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aura_install_assetC
Legal drop-in plan for an asset: direct download URL, preview URL, license (all-rights-reserved per Aura Terms §4 — check page before commercial use), suggested file path.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses the license posture (all-rights-reserved per Aura Terms §4) and implies the tool returns a plan rather than mutating state, but says nothing about auth requirements, whether anything is actually installed, or rate limits.
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?
A single dense sentence that front-loads the core concept and lists return contents without padding. The 'Legal drop-in plan' phrasing is slightly jargon-heavy but not wasteful.
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 1-parameter, no-annotation, no-output-schema tool, the description does describe the returned fields, which compensates for the missing output schema. However, it leaves the input parameter and the tool's side effects completely unexplained, so it is only partially complete.
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?
The single required 'id' parameter has 0% schema description coverage, and the description never mentions it or explains what identifier is expected (asset id, slug, numeric key?). The one parameter that matters for invocation is left entirely undocumented.
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?
The description states a specific verb+resource ('install asset') and enumerates what the tool produces (download URL, preview URL, license, suggested file path), so the agent knows it returns an install plan rather than performing a raw download. It does not, however, differentiate itself from the nearby aura_install_component and aura_install_skill siblings.
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?
There is no explicit when-to-use guidance and no named alternative. The only conditional cue is a legal aside ('check page before commercial use'), which is a caution about licensing, not routing between tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aura_install_componentB
Paste-ready setup for a free component: dependency list, setup steps, file map, fonts. Goes beyond the official Aura MCP, which only reads project source.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| slug | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does disclose the return shape (dependency list, setup steps, file map, fonts), which matters since there is no output schema. However it never resolves the central ambiguity of a tool named 'install': whether it writes anything, requires auth, or is purely read-only text retrieval.
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?
Two tight sentences with the payload front-loaded and no filler. The second sentence's competitive framing ('goes beyond the official Aura MCP') is marginally salesy but does convey a capability differentiator.
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 two-parameter tool with no annotations and no output schema, the description usefully enumerates the returned artifacts, partially offsetting the missing output schema. It still leaves identifier semantics and any side effects or prerequisites unaddressed.
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 0% and neither parameter is typed or documented in the schema. The description only implies that the id/slug refer to a 'free component' and adds no guidance on which identifier to supply or whether both are needed.
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?
The description names the resource (a component) and enumerates the concrete payload (dependency list, setup steps, file map, fonts), so an agent knows what comes back. It does not differentiate from the closest sibling aura_get_component, and the name 'install' collides with the description's implication that this only returns paste-ready text.
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 only usage signal is the qualifier 'for a free component', which hints at a scope limit but never states it as a rule or names an alternative. Nothing tells the agent when to call this instead of aura_get_component or aura_install_skill.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aura_install_skillC
Save-and-load plan for a free skill: where to put SKILL.md per client plus upstream source.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It hints that the output is a file-placement plan (where to put SKILL.md per client plus upstream source), but says nothing about side effects, whether files are actually written, auth requirements, or reversibility.
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?
It is a single front-loaded sentence with no filler, which is structurally efficient. However, the awkward 'Save-and-load plan' framing trades clarity for brevity rather than genuinely earning its compactness.
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 annotations, no output schema, and an undocumented required parameter, the description is too thin to let an agent call the tool correctly. It should at minimum clarify the action performed, the meaning of 'id', and what the returned plan contains.
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?
The single required parameter 'id' has 0% schema description coverage and the description adds nothing about it. Worse, the description implies per-client variation, yet no client parameter exists, so the meaning of 'id' (skill id? client id?) is left ambiguous.
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?
The name says 'install_skill' but the description calls it a 'Save-and-load plan', leaving it unclear whether the tool performs the install or merely returns placement instructions. It does add resource detail (SKILL.md, per-client placement, upstream source) beyond the name, but the core action is vague and it never distinguishes itself from the sibling aura_install_component.
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?
There is no when-to-use guidance, no prerequisite, and no mention of alternatives such as aura_get_skill or aura_install_component. The agent is left to infer the entire usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aura_motion_studyB
Evidence-backed motion guidance. Modes: inspect (live runtime scan: libs/easing/scroll), record (bounded frame study; .webm only when ffmpeg present), search (stored studies by library/easing/scroll). Never claims unobserved library state.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| mode | Yes | ||
| easing | No | ||
| frames | No | ||
| library | No | ||
| viewport | No | ||
| allowLocal | No | ||
| durationMs | No | ||
| scrollModel | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose real behavior: record is bounded, produces .webm only when ffmpeg is present, and the tool 'never claims unobserved library state' (an honesty/no-hallucination constraint). It still omits permissions, where recorded artifacts are written, and whether inspect touches the live page.
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?
Four short, front-loaded sentences with zero filler; the mode breakdown is the second sentence, right where an agent needs it. The dense parenthetical shorthand ('libs/easing/scroll') is efficient but mildly cryptic.
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 9-parameter tool with no annotations, no output schema, and 0% schema description coverage, the description explains only the mode dimension. Most inputs and the entire return shape are undocumented, which is not enough for reliable invocation.
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 0% across 9 parameters, so the description must compensate. It hints at library/easing/scroll filtering and shows record studies frames, but url, frames, viewport, allowLocal, durationMs, and scrollModel remain entirely unexplained in either place.
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?
Names a specific resource (motion studies) and enumerates three modes with concrete scope for each: live runtime scan, bounded frame recording, and stored-study search. No sibling tool touches motion, so differentiation is implicit rather than stated, and the headline 'evidence-backed motion guidance' is somewhat abstract, keeping it below 5.
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 mode list functions as routing guidance: inspect for live runtime, record for capturing frames, search for stored studies. It clearly tells the agent which mode fits which intent, but offers no when-not conditions and does not compare against any sibling tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aura_promptA
Need-based design prompt in 2 passes: Pass 1 (goal only) returns draft + 6 questions (theme, sections, system, assets, macrostructure, vibe — mode folds into theme); ask the user via native question UI, then Pass 2 (goal + answers) returns copy-paste final_prompt + plan order + suggested calls starting at inspo.recommend. Always confirm with user before scaffolding.
| Name | Required | Description | Default |
|---|---|---|---|
| goal | Yes | ||
| theme | No | ||
| system | No | ||
| answers | No | ||
| surfaces | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so well: it discloses the two-pass structure, that Pass 1 emits a draft plus six questions, that the user must be asked via the native question UI, that Pass 2 emits final_prompt + plan order + suggested calls, and the confirm-before-scaffolding guardrail. Auth, rate limits, and error behavior remain unstated.
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?
Front-loads the core concept ('Need-based design prompt in 2 passes') and stays compact despite covering a two-pass workflow. The nested parenthetical is dense but every clause carries information, so little is wasted.
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 complex, multi-pass tool with no output schema and no annotations, the description explains the workflow and both return payloads, which is the critical missing structured data. The gaps are the undocumented 'surfaces' parameter and the absence of any sibling-selection guidance.
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 0%, so the description must compensate. It explains goal (Pass 1 alone vs Pass 2 with answers), answers (Pass 2 only), and notes mode folds into theme, which is genuinely useful. But 'surfaces' and the enum values/format of 'system' are never addressed, leaving part of the surface undocumented.
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 — a need-based design prompt generated in two passes — and describes both pass outputs. It distinguishes itself from the search/inspect siblings by routing the agent toward inspo.recommend, but does not contrast against planning siblings like aura_docs_plan or aura_design_blueprint.
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 in-tool workflow: call with goal only for Pass 1, then with goal + answers for Pass 2, and 'always confirm with user before scaffolding.' However, it never says when to choose this tool over the many planning/blueprint siblings, which is the harder selection decision.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aura_recommendB
Starter kit for a goal: top 3 free hits per surface with page URLs and rationale. Slim rows + commercial-use note. Empty components auto-retry once via suggested_queries, then editorial picks.
| Name | Required | Description | Default |
|---|---|---|---|
| goal | Yes | ||
| slim | No | ||
| theme | No | ||
| min_views | No | ||
| negative_theme | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose genuinely non-obvious behavior: the top-3-per-surface cap, commercial-use licensing note, slim row output, and the auto-retry-once-via-suggested_queries-then-editorial-picks fallback chain. It omits only minor traits like read-only confirmation and latency, which are low-stakes for a recommendation read.
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 tight sentences with no filler, front-loading the purpose before output details and fallback logic. Density occasionally tips into crypticism ('hits per surface'), but every clause earns its place.
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 tool with five parameters (two enum-constrained), zero schema descriptions, no annotations, and no output schema, the description is insufficient: the parameter vocabulary is almost entirely undefined and the fallback/result semantics are only sketched. An agent could not confidently set theme, negative_theme, or min_views from this text.
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 0%, so the description must compensate, but it only incidentally gestures at 'slim' (slim rows) and 'goal'. It says nothing about theme, negative_theme, or min_views, leaving three of five parameters with a name and type but no meaning.
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?
The description communicates a specific purpose: it recommends a starter kit of top 3 free assets per surface for a goal, with page URLs and rationale, plus a fallback chain. However, it uses jargon ('surface', 'hits', 'starter kit') and never states a verb or distinguishes itself from near-siblings like aura_inspo_recommend or aura_related.
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?
There is no explicit when-to-use guidance, no prerequisites, and no exclusions. 'Starter kit for a goal' faintly implies an early-stage discovery context, but with 35 sibling tools the agent gets no help choosing this over aura_inspo_recommend or aura_search_all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aura_scaffold_pageB
One ordered page build: DESIGN.md tokens.css + system preview + component markup in dependency order, combined deps + files[]. Merges install_* + use_* in a single turn. components accepts string|number|{id}|{slug} refs, e.g. ["732","1364"] or [{id:"732"}] or [{slug:"..."}]; full:true returns full bodies.
| Name | Required | Description | Default |
|---|---|---|---|
| full | No | ||
| goal | Yes | ||
| system | No | ||
| components | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose output content (dependency-ordered markup, combined deps, full bodies when full:true), which is genuinely useful. However, it never states whether the tool is read-only or has side effects, nor its permission/auth requirements — a notable gap for an operation named 'scaffold' that references 'install'.
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 lead clause front-loads the purpose, but the rest is a dense semicolon-chained run-on that mixes parameter docs, output shape, and sibling relationships in one breath. It is compact but harder to parse than necessary; every fragment carries information, yet structure is sacrificed.
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 complex 4-parameter tool with no annotations and no output schema, the description leaves key agent questions unanswered: what 'goal' means, what 'system' selects, and crucially whether the tool mutates anything or requires authorization. Partial output and parameter coverage is not enough at this complexity level.
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 0%, so the description must compensate. It does well for components, specifying accepted ref types (string|number|{id}|{slug}) with concrete examples, and documents full:true. But the required 'goal' parameter and 'system' are entirely unexplained, leaving half the parameters undocumented.
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?
The opening phrase 'One ordered page build' names a specific action and explicitly enumerates its deliverables (DESIGN.md, tokens.css, system preview, component markup in dependency order). It also distinguishes itself from siblings by stating it 'merges install_* + use_* in a single turn.' The jargon density ('combined deps + files[]') slightly obscures the plain purpose, but the verb+resource are identifiable.
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 implication that this replaces separate install_*/use_* calls is a useful routing signal toward aura_install_component and aura_use_design_system, but it is stated as a capability rather than a directive ('use this instead of X when Y'). No explicit when-not guidance or preconditions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aura_search_allA
One call across components, skills, assets, and design systems in parallel. Free only. Slim rows by default (excerpts, no blobs). Each surface runs its own fallback pipeline, so mixed outcomes are normal (skills may fall back while components go honestly empty) — read isFallback/no_match per surface, not once globally.
| Name | Required | Description | Default |
|---|---|---|---|
| slim | No | ||
| limit | No | ||
| query | No | ||
| theme | No | ||
| min_views | No | ||
| exact_match | No | ||
| negative_theme | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does well: it discloses the 'Free only' filter, the default slim/excerpt response shape with no blobs, and the per-surface fallback semantics with the instruction to read isFallback/no_match per surface rather than globally. That last point is unusually valuable operational context. It stops short of describing auth needs, rate limits, or result ordering.
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 dense, front-loaded sentences with no filler: purpose first, then scope constraint, then response-shape nuance, then the fallback caveat. The em-dash clause is information-dense, though the jargon ('honestly empty') is slightly informal for a spec.
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?
No output schema and no annotations, so the description must cover both behavior and parameters. It handles the return-behavior nuances well (fallback, slim rows) but leaves all six non-slim parameters undefined and offers no explicit sibling routing. Adequate but with clear gaps given the tool's complexity.
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 0% across 7 parameters, and the description explains almost none of them. It gestures at 'slim rows by default,' which partially maps to the slim flag, but limit, query, theme, negative_theme, min_views, and exact_match are left entirely undocumented in both schema and description. This is a significant gap for a 7-param tool.
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 action (one parallel search call) over four named resource types (components, skills, assets, design systems). It clearly distinguishes itself from the four sibling per-surface search tools by being the fan-out aggregate. An agent can tell what this does and when it would supersede the singleton searches.
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 phrase 'One call across... in parallel' implies the fan-out use case, and 'Free only' establishes a scope constraint, which is real guidance. However, it never explicitly says when to prefer this over aura_search_components/skills/assets/design_systems, or whether the narrower tools are cheaper/more precise. Usage is implied rather than routed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aura_search_assetsC
Search free Aura assets (images and video). Keywords, media_type image or video. Slim rows by default. exact_match:true skips fallbacks.
| Name | Required | Description | Default |
|---|---|---|---|
| slim | No | ||
| sort | No | ||
| limit | No | ||
| query | No | ||
| offset | No | ||
| mediaType | No | ||
| exact_match | No | ||
| commercial_ok | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, but it does disclose two real behaviors: output is slimmed by default, and exact_match:true disables fallback broadening. It omits auth/licensing constraints, pagination behavior, and what happens when no match is found.
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?
Very short and front-loaded, with the purpose in the first fragment and behavioral caveats last. The telegraphic sentence fragments make it slightly harder to parse but nothing is wasted.
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 an 8-parameter tool with no annotations and no output schema, the description is too thin: half the parameters (sort, limit, offset, commercial_ok) are undocumented anywhere, and there is no statement of the result shape an agent should expect.
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 0% across 8 parameters, so the description must compensate and largely does not: sort, limit, offset, and commercial_ok get no explanation at all. It adds genuine meaning only for exact_match ('skips fallbacks') and slim ('default').
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 ('Search') and resource ('free Aura assets (images and video)'), and narrows the media types, so it is distinguishable from the many aura_search_* siblings. It stops short of naming a specific alternative (e.g. aura_search_all), so it earns a 4 rather than a 5.
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?
No when-to-use guidance is given; 'Keywords, media_type image or video' merely restates parameter shapes. There is no indication when this tool is preferable to aura_search_all or the component/skill/design-system search siblings, and no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aura_search_componentsA
Search free Aura UI components (2,495). Text over title and description, optional category tag, theme dark|light filter, negative_theme exclusion, min_views floor, sorts. Slim rows by default (excerpt + fetch pointer, no full code; slim:false for full). exact_match:true skips fallbacks (honest empty).
| Name | Required | Description | Default |
|---|---|---|---|
| slim | No | ||
| sort | No | ||
| limit | No | ||
| query | No | ||
| theme | No | ||
| offset | No | ||
| category | No | ||
| min_views | No | ||
| exact_match | No | ||
| negative_theme | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does well on the parts it covers: default slim rows return an excerpt plus a fetch pointer rather than full code, and exact_match truly skips fallbacks to yield an honest empty. It stops short of disclosing pagination behavior or any scoping/permission context, which keeps it out of the top band.
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 definition is a single dense paragraph with no filler, and the most important fact (what is searched and the default slim return) is front-loaded. The telegraphic clause-per-comma style is efficient, though the param-mode notes could be slightly better ordered.
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 10-parameter tool with no output schema and no annotations, the description covers what is searched, the filter surface, and the shape of the default result set. The missing pagination semantics for limit/offset are the main omission.
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 0%, so the description must compensate and largely does, explaining query text scope, category tag, theme filter, negative_theme exclusion, min_views floor, sort, slim, and exact_match. Only limit and offset are left undocumented, a small gap against 10 parameters.
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?
The description states a specific verb and resource ('Search free Aura UI components') and even quantifies the corpus (2,495), so the intent is unambiguous. It does not, however, distinguish itself from close siblings such as aura_search_all or aura_inspo_components, which an agent could easily confuse it with.
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?
Usage is implied by the behavior notes ('slim:false for full', 'exact_match:true skips fallbacks'), which hint at when to use specific modes. There is no explicit when-to-use guidance versus alternative search tools, nor any stated prerequisites, so selection still requires inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aura_search_design_systemsA
Search free Aura DESIGN.md systems (725). Metadata + snippets, slim by default; use aura_get_design_system for content. exact_match:true skips fallbacks.
| Name | Required | Description | Default |
|---|---|---|---|
| slim | No | ||
| sort | No | ||
| limit | No | ||
| query | No | ||
| offset | No | ||
| exact_match | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description carries the full burden, and it does disclose real behavior: results are metadata + snippets, slim is the default, and exact_match:true suppresses fallbacks. That fallback disclosure is genuinely useful. However, it says nothing about pagination, default limit, auth, or rate limits for a 6-parameter search endpoint.
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 dense clauses, front-loaded with the verb+resource, then return shape, then the alternative, then the one non-obvious flag. No filler. The 'slim by default' fragment is slightly telegraphic but still parseable.
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 no annotations, so the description must cover return semantics and safety. It does describe the return shape (metadata + snippets, slim default) and cross-references the content-retrieval sibling. It leaves pagination, default sort, and default limit unspecified, which matters for a 6-param search endpoint with zero schema documentation.
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 0%, so the description must compensate, and it only explains two of six parameters (slim's default, exact_match's fallback-skipping). The remaining query, sort, limit, and offset are left to their names and the schema enum. Partial compensation, so a 3 rather than a 2.
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 ('Search free Aura DESIGN.md systems'), with a concrete corpus size (725) and an explicit boundary against the sibling that retrieves content. It does not, however, distinguish itself from the other search_* siblings (aura_search_components, aura_search_skills, aura_search_assets, aura_search_all), so an agent must infer the difference from the resource name alone.
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 routing guidance: 'use aura_get_design_system for content,' which tells the agent this tool is a discovery step whose output is metadata and snippets. It also states the condition for exact_match. No explicit when-not (e.g., when to prefer aura_search_all) is offered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aura_search_skillsA
Search free Aura agent skills (192). Metadata only, slim by default; use aura_get_skill for the full SKILL.md content. exact_match:true skips fallbacks.
| Name | Required | Description | Default |
|---|---|---|---|
| slim | No | ||
| sort | No | ||
| limit | No | ||
| query | No | ||
| offset | No | ||
| exact_match | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose real behavior: results are metadata-only, slim is the default, and exact_match:true bypasses a fallback/lookup widening step. That fallback hint is genuinely useful. However, nothing is said about auth requirements, rate limits, pagination behavior, or what 'metadata' actually contains.
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 short clauses, purpose front-loaded, zero filler. The compression is slightly self-defeating in the last clause ('skips fallbacks' is cryptic without knowing what fallbacks are), which keeps it from a 5, but the overall density and ordering are strong.
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 6-parameter search tool with no annotations and no output schema, the description covers the decision-critical facts (it is metadata-only; go elsewhere for full content) but leaves paging, sort semantics, and result shape unaddressed. Adequate to invoke correctly in the common case, incomplete for the edges.
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 0% across 6 parameters, so the description must compensate and largely does not. It clarifies only two of them (slim's default, exact_match's fallback-skipping); query, sort, limit, and offset are left entirely to inference, including how sort interacts with query and how paging works.
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+resource ('Search free Aura agent skills'), quantifies the corpus (192), and constrains the return surface ('Metadata only, slim by default'). It also explicitly separates itself from the sibling that returns full content (aura_get_skill), so an agent can route without opening either 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?
It names the alternative for the adjacent need ('use aura_get_skill for the full SKILL.md content') and states the condition that selects this tool (metadata is enough). No guidance is given for when to prefer this over other search siblings like aura_search_all or aura_search_components, so it stops short of full when/when-not coverage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aura_statusA
Catalogue health plus free counts (components, skills, assets, design systems). Free only, no login. Start here.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden, and it does disclose two useful operational traits: the counts are 'Free only' and it requires 'no login,' which is genuine auth/scope context. It stops short of describing return structure or rate limits, but for a zero-argument read tool the disclosure is solidly above baseline.
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 tight fragments with no filler, and the substantive content (what it returns) is front-loaded before the 'Start here' call to action. It is efficient, though the telegraphic phrasing is slightly less polished than a fully-formed sentence.
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 zero-parameter status tool with no output schema, the description conveys what the agent will get back (health plus free counts across four categories) and the no-login/free constraints. Nothing essential for invoking it correctly is missing, though it could say more about the shape of the health/free data.
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?
The tool takes zero parameters, so per the rubric the baseline is 4. The description's enumeration of what counts are returned adds confirmation but there are no parameters whose semantics need explaining.
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 function ('catalogue health plus free counts') and enumerates the resource categories covered (components, skills, assets, design systems), which clearly separates it from the search/get/install siblings. It stops just short of a 5 because it doesn't explicitly contrast itself with those siblings by name.
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?
'Start here' is an explicit directive telling the agent this is the entry point, which is meaningful ordering guidance among 15 siblings. It does not, however, name any alternative or state when NOT to use it, so it falls short of full when/when-not coverage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aura_use_design_systemC
Apply a free DESIGN.md system: token starter CSS plus copy order (tokens first, then markup).
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| slug | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It implies some deliverable ('token starter CSS plus copy order'), but does not say whether the tool is read-only or mutating, whether it writes files, whether it requires an id/slug, or what the response contains. For a tool whose name suggests an action ('use'), this is a meaningful 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?
A single compact sentence with the resource front-loaded after the verb. No filler, though the parenthetical 'tokens first, then markup' is cryptic rather than clarifying, slightly reducing its value.
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?
No output schema and no annotations, so the description should explain the return shape and the id/slug semantics; it does neither beyond a vague mention of 'token starter CSS'. An agent lacks enough to invoke this correctly with confidence.
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?
Two parameters (id, slug) exist with 0% schema description coverage, and the description mentions neither. It does not clarify how id and slug differ, whether either is required in practice (both optional per schema), or what happens if both are omitted — so it fails to compensate for the coverage gap.
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?
The description names a verb ('Apply') and a resource ('DESIGN.md system'), which is a step above a tautology, but 'apply' is ambiguous — an agent cannot tell whether this fetches/returns a design system, writes token CSS into a project, or scaffolds files. It does not clearly distinguish itself from the sibling aura_get_design_system, which likely retrieves the same artifact.
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?
There is no statement of when to use this tool versus aura_get_design_system, aura_search_design_systems, or aura_install_component. The only hint is 'copy order (tokens first, then markup)', which hints at an output sequencing convention but is not framed as a usage condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aura_versionA
Running vs npm-published version (live, hourly cache). Returns update_available + notice telling the agent to prefer latest (npm i -g aura-components-mcp@latest) when behind. Never fails — offline registries return latest:null. aura_status already carries this verdict on every call.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so: it discloses caching ('live, hourly cache'), a non-failing contract ('Never fails'), the degraded-path return shape ('offline registries return latest:null'), and the response fields (update_available, notice). That is unusually complete behavioral context for a zero-parameter 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?
Four tight sentences, front-loaded with what is compared and how fresh it is, followed by the remediation command and the failure contract. No filler; every sentence adds an actionable fact.
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 no-param diagnostic with no output schema and no annotations, the description supplies the return fields, edge-case behavior, freshness, and the recommended follow-up action. Nothing needed to call it correctly is missing.
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?
The schema has zero properties, so there is nothing for the description to clarify beyond confirming the tool takes no input. Baseline 4 applies.
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?
The description states the resource precisely: a comparison of the running version against the npm-published version, with a live hourly cache. It is distinguishable from siblings by noting that aura_status already carries the same verdict, though it never gives an explicit leading verb like 'check' or 'compare'.
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?
'aura_status already carries this verdict on every call' is a clear signal that this tool is usually redundant, which functions as a when-not-to-use rule pointing to a specific sibling. It stops short of an explicit directive such as 'call this only when you don't already have a status payload'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aura_visual_auditB
Capture/analyze a reference or your build. Modes: capture (real browser screenshot), structure (section band map: live-dom or static-html), compare (reference vs build mismatches). Needs Chrome for live capture; honest BROWSER_UNAVAILABLE otherwise. Loopback only with allowLocal:true.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| mode | Yes | ||
| buildUrl | No | ||
| settleMs | No | ||
| viewport | No | ||
| allowLocal | No | ||
| referenceUrl | No | ||
| waitStrategy | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose non-obvious behavior: a hard Chrome dependency, the failure mode ('honest BROWSER_UNAVAILABLE'), and a network-security constraint ('Loopback only with allowLocal:true'). It does not state whether captures persist to disk or that the operation is non-mutating, which leaves some ambiguity.
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 telegraphic sentences, front-loaded with the purpose and then the mode table, with prerequisites last. Dense but every clause carries information; no 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?
For an 8-parameter, three-mode tool with no output schema and no annotations, the description should explain which URL parameters belong to which mode and what the caller receives back. It covers prerequisites and one flag, leaving the majority of the parameter surface and all output expectations undescribed.
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 0% across 8 parameters, so the description must compensate and largely does not. Only allowLocal is given semantics ('Loopback only with allowLocal:true'), and 'live-dom or static-html' hints at a mode/workflow choice without mapping clearly to url/buildUrl/referenceUrl, waitStrategy, viewport, or settleMs.
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?
The description names a specific verb set (capture/analyze) and decomposes the tool into three named modes with glosses: capture = real browser screenshot, structure = section band map (live-dom or static-html), compare = reference vs build mismatches. That is concrete enough to know what each invocation does, though it does not distinguish itself from the similar-sounding sibling aura_inspo_compare.
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?
Mode names imply when each is used, and the Chrome/loopback conditions give real invocation prerequisites. However there is no explicit routing against the sibling compare tools (aura_inspo_compare, aura_award_inspect), so selection still requires inference.
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.
31 tool updates
v1.7.3- Added
aura_award_index - Added
aura_award_inspect - Added
aura_award_search - Added
aura_bulk_fetch - Added
aura_bundle - Added
aura_design_blueprint - Added
aura_docs_check - Added
aura_docs_plan - Changed
aura_get_component2 fields changed- added
Input schema / properties / chunkAdded value: +{ + "type": "number" +} - added
Input schema / properties / fullAdded value: +{ + "type": "boolean" +}
- Changed
aura_get_design_system1 field changed- added
Input schema / properties / chunkAdded value: +{ + "type": "number" +}
- Changed
aura_get_skill1 field changed- added
Input schema / properties / chunkAdded value: +{ + "type": "number" +}
- Added
aura_icon - Added
aura_inspo_compare - Added
aura_inspo_components - Added
aura_inspo_recommend - Added
aura_inspo_reference - Added
aura_inspo_system - Added
aura_install_asset - Added
aura_motion_study - Added
aura_prompt - Changed
aura_recommend4 fields changed- added
Input schema / properties / min_viewsAdded value: +{ + "type": "number" +} - added
Input schema / properties / negative_themeAdded value: +{ + "enum": [ + "dark", + "light" + ], + "type": "string" +} - added
Input schema / properties / slimAdded value: +{ + "type": "boolean" +} - added
Input schema / properties / themeAdded value: +{ + "enum": [ + "dark", + "light" + ], + "type": "string" +}
- Added
aura_related - Added
aura_scaffold_page - Changed
aura_search_all5 fields changed- added
Input schema / properties / exact_matchAdded value: +{ + "type": "boolean" +} - added
Input schema / properties / min_viewsAdded value: +{ + "type": "number" +} - added
Input schema / properties / negative_themeAdded value: +{ + "enum": [ + "dark", + "light" + ], + "type": "string" +} - added
Input schema / properties / slimAdded value: +{ + "type": "boolean" +} - added
Input schema / properties / themeAdded value: +{ + "enum": [ + "dark", + "light" + ], + "type": "string" +}
- Changed
aura_search_assets3 fields changed- added
Input schema / properties / commercial_okAdded value: +{ + "type": "boolean" +} - added
Input schema / properties / exact_matchAdded value: +{ + "type": "boolean" +} - added
Input schema / properties / slimAdded value: +{ + "type": "boolean" +}
- Changed
aura_search_components5 fields changed- added
Input schema / properties / exact_matchAdded value: +{ + "type": "boolean" +} - added
Input schema / properties / min_viewsAdded value: +{ + "type": "number" +} - added
Input schema / properties / negative_themeAdded value: +{ + "enum": [ + "dark", + "light" + ], + "type": "string" +} - added
Input schema / properties / slimAdded value: +{ + "type": "boolean" +} - added
Input schema / properties / themeAdded value: +{ + "enum": [ + "dark", + "light" + ], + "type": "string" +}
- Changed
aura_search_design_systems2 fields changed- added
Input schema / properties / exact_matchAdded value: +{ + "type": "boolean" +} - added
Input schema / properties / slimAdded value: +{ + "type": "boolean" +}
- Changed
aura_search_skills2 fields changed- added
Input schema / properties / exact_matchAdded value: +{ + "type": "boolean" +} - added
Input schema / properties / slimAdded value: +{ + "type": "boolean" +}
- Removed
aura_trending - Added
aura_version - Added
aura_visual_audit
15 tool updates
v1.2.0- First observed
aura_categories - First observed
aura_get_component - First observed
aura_get_design_system - First observed
aura_get_skill - First observed
aura_install_component - First observed
aura_install_skill - First observed
aura_recommend - First observed
aura_search_all - First observed
aura_search_assets - First observed
aura_search_components - First observed
aura_search_design_systems - First observed
aura_search_skills - First observed
aura_status - First observed
aura_trending - First observed
aura_use_design_system
TDQS
Scored across 35 tools
Four family clusters (aura_inspo_*, aura_award_*, aura_search/get pairs) are mostly distinct, and descriptions do a lot of boundary-setting. However aura_bulk_fetch is an explicit alias of aura_bundle, and install vs scaffold vs use_design_system overlap enough that an agent could misselect. With 35 tools, several boundaries (recommend vs search_all, install_component vs scaffold_page) require careful reading.
Every tool uses the aura_ prefix in lowercase snake_case, with clear verb_noun names (aura_search_components, aura_get_component, aura_install_skill). Minor deviations are noun-only names (aura_status, aura_categories, aura_icon, aura_version) and namespace prefixes (inspo/award/docs), but the convention stays readable and predictable overall.
35 tools is well above the 25+ threshold, and the surface sprawls across roughly a dozen sub-domains (components, skills, assets, systems, awards, motion, docs, inspo, audit). The redundant aura_bundle/aura_bulk_fetch alias confirms some tools do not each earn a distinct place.
Coverage is broad and coherent for a read-only catalog: search+get+install for components/skills/systems/assets, plus aggregators (search_all, recommend, related, bundle), awards, motion, docs, and visual audit. Minor gaps like no dedicated asset detail/detail-get tool exist, but core discovery-to-scaffold workflows are complete.
Maintenance
Related MCP Connectors
Search and inspect source-pinned agent skills, plugins and tools through a free public MCP.
Search, read and install agent-ready React components, screens and blocks for AI products.
Search and get install details on MCP servers, right from your agent -- a unified marketplace index.
Search and read the aicoolies catalog of AI and developer tools via a remote MCP knowledge graph.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceDiscovers and manages portable agent capabilities (skills and MCP servers) from configurable collections, providing search, inspection, and local installation via CLI and MCP tools.1MIT
- AlicenseAqualityBmaintenanceEnables MCP-capable agents to browse a public design-system catalog, retrieve design continuation bundles and sequential prompt packs, import externally designed artifacts, and resume mid-flow external design runs.816 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables MCP-aware clients to query and use the you-design catalog of design systems, skills, and plugins at runtime via stdio.Apache 2.0
- AlicenseNot gradedqualityAmaintenanceEnables MCP clients to search skills.sh, view leaderboards, inspect skill details, retrieve third-party security audits, and browse official curated skills, with install commands for each result.13 npmMIT