Skip to main content
Glama

Server Details

Gives AI agents live design-system knowledge: real @marmoui/ui React component APIs, composition patterns, and review_generated_code validation — so agents build working dashboards instead of hallucinating props. Free hosted tier, no signup.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.3/5 across 14 of 14 tools scored. Lowest: 3.2/5.

Server CoherenceA
Disambiguation4/5

Most tools have distinct purposes, but there is some overlap between review_generated_code and validate_component_usage, and between list_components and search_components. However, descriptions clearly differentiate their intended use cases, reducing ambiguity.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern with snake_case (e.g., get_component_info, generate_component, review_generated_code). The naming is predictable and clearly indicates the action.

Tool Count5/5

14 tools is well-scoped for a UI design system assistant. It covers component discovery, detailed info, design guidelines, theme, code generation and validation, and prototype management without being overwhelming.

Completeness5/5

The tool set covers the full workflow: discover components, get patterns, get design guidelines, generate and validate code, get tenant theme, deploy prototypes and collect feedback. No obvious gaps for the intended usage scenario.

Available Tools

14 tools
deploy_prototypeAInspect

Register a prototype for sharing and get a share URL. Reviewers can leave inline comments via the Marmo overlay.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNoHuman-readable prototype title
deployUrlNoDeployed URL if already live
prototypeIdYesUnique prototype identifier (slug)
Behavior2/5

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

No annotations are provided, so the description carries full burden. It indicates a write operation ('Register') and mentions commenting behavior, but lacks details on side effects, idempotency, permissions, or rate limits. The description is minimal for a creation/registration action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero waste. Purpose is stated first, followed by a behavioral note about commenting. Efficient and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and a single required parameter, the description explains purpose and one behavioral aspect. However, for a deployment tool, missing details on authentication, prototype existence prerequisites, and response format. It is adequate but not thorough.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for all three parameters. The description adds no new parameter-level information beyond what the schema provides. Baseline 3 is appropriate because schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's verb ('Register'), resource ('prototype'), and outcome ('get a share URL') while also mentioning the distal feature of inline comments via Marmo overlay. It distinguishes from siblings like get_prototype_feedback, which retrieves feedback rather than deploying.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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

While the description implies usage when you need to share a prototype, it does not explicitly state when to use this tool versus alternatives (e.g., get_prototype_feedback for viewing feedback). No exclusions or prerequisites are mentioned.

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

generate_componentAInspect

Validate and optionally save a custom component for the authenticated tenant. Runs review_generated_code validation before persisting. Use for AI-generated or customized components.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesGenerated TSX code using @marmoui/ui primitives
saveNoSave as tenant component override if validation passes
descriptionYesWhat the component should do
componentNameYesPascalCase component name, e.g. CustomStatCard
Behavior3/5

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

With no annotations, the description carries full burden. It discloses that validation occurs via review_generated_code and that saving is optional. However, it does not describe error handling, potential destructive effects, or what happens if validation fails. The description is moderately transparent but lacks some behavioral details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two sentences that are front-loaded with the core action. Every sentence serves a purpose without any filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 4 parameters, no output schema, and no annotations, the description provides a reasonable level of completeness. It explains the validation step and optional save. However, it omits details about the return value or error handling, which are gaps. Still, it is fairly complete for its complexity.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. The description adds meaningful context beyond the schema: for 'code' it specifies 'Generated TSX code using @marmoui/ui primitives', for 'save' it clarifies 'if validation passes', and for 'componentName' it provides a naming convention example. This adds value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb (validate and optionally save), the resource (custom component for authenticated tenant), and distinguishes it from sibling tools like list_components and search_components. It mentions a specific sibling tool (review_generated_code) as a validation step.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

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

The description explicitly says to use it for AI-generated or customized components, and mentions it runs review_generated_code validation, implying proper context. However, it does not provide explicit when-not-to-use guidance or name alternatives beyond the sibling list.

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

get_agent_connect_configAInspect

Returns ready-to-paste MCP configuration for Cursor, Claude Code, or Codex. Use on the Connect page or when setting up a new project.

ParametersJSON Schema
NameRequiredDescriptionDefault
clientNoTarget agent client. Omit to get all configs.
Behavior3/5

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

No annotations provided, so description carries the burden. It discloses output format ('MCP configuration') but does not mention authentication, side effects, or permission requirements. Adequate for a simple read operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with no unnecessary words. Front-loaded with action and output, then usage context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description hints at return format ('ready-to-paste configuration') which is sufficient. Lacks detail on structure, but adequate for the tool's simplicity.

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

Parameters3/5

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

Schema coverage is 100% and the parameter description in the schema is identical to the tool description's mention. The description adds no additional meaning beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it returns 'ready-to-paste MCP configuration' for specific tools (Cursor, Claude Code, or Codex), which distinguishes it from sibling tools like get_component_info or get_design_guidelines.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

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

The description says 'Use on the Connect page or when setting up a new project', providing clear context for when to use the tool, but does not explicitly exclude other scenarios or mention alternatives.

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

get_component_infoAInspect

Get exact props (with types and defaults), code examples, composition patterns, and common mistakes for a single @marmoui/ui component. REQUIRED before using any component for the first time in a session — prevents hallucinated props (e.g. variant="danger" on Badge, size="lg" on Text) that fail at build time.

ParametersJSON Schema
NameRequiredDescriptionDefault
componentNameYesName of the component to get information about (e.g. "Button", "Card", "Input")
Behavior3/5

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

No annotations provided, so description carries burden. The description hints it is a read-only info retrieval tool by mentioning 'exact props' and 'common mistakes', but does not explicitly state it has no side effects or is idempotent. Adequate but could be more transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences. First sentence lists all outputs; second sentence gives critical usage rule with examples. No wasted words, highly front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, but description reasonably specifies what the tool returns (props, types, defaults, examples, patterns, mistakes). Could mention format (e.g., JSON or markdown) but still complete enough for agent understanding given complexity of the tool.

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

Parameters3/5

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

Schema description coverage is 100% and describes the parameter clearly. The description adds context about the component library (@marmoui/ui) but does not add new semantic info beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it gets exact props with types/defaults, code examples, composition patterns, and common mistakes for a single @marmoui/ui component. Differentiates from siblings like list_components and search_components by specifying 'single component' and detailing output.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

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

Explicitly says 'REQUIRED before using any component for the first time in a session' to prevent hallucinated props that fail at build time, with concrete examples. Provides clear when-to-use guidance.

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

get_design_guidelinesAInspect

MANDATORY FIRST CALL before writing any @marmoui/ui code in this session. Returns a step-by-step generation checklist (which tools to call, in what order), critical rules (no namespace sub-components, PageSection is self-closing, no Sidebar export), component patterns, and ICON LIBRARY RULES. Pass iconLibrary (default "phosphor"; also "material" | "lucide" | "tabler" | "heroicons" | "feather") to get that library's import source, icon name map, and weight/style mapping — and pass the SAME value to review_generated_code so it enforces it. Ask the user which icon library they want before writing UI code. Call topic="patterns" to get the generation checklist specifically.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicNoSpecific guideline topic (default: "all")
iconLibraryNoIcon library the agent should import from. Default: "phosphor". Ask the user which library they want before writing UI code; if they have no preference, omit this and the default (Phosphor) applies. Supported: phosphor, material, lucide, tabler, heroicons, feather.
Behavior5/5

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

With no annotations, the description fully discloses behavior: mandatory first call, what it returns (checklist, rules, patterns, icon details), and how the iconLibrary parameter affects the output and downstream tools. It also notes that calling with topic='patterns' returns the checklist.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single paragraph containing multiple instructions and details. While informative, it could be more structured (e.g., separate sentences or bullets) for easier parsing. It is not excessively long but could be more concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so the description must explain return values. It adequately describes the return as a checklist, rules, patterns, and icon library details, including how parameters affect the output. Acceptably complete for a tool intended to provide guidelines.

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

Parameters4/5

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

Schema coverage is 100% (baseline 3). The description adds significant value beyond schema: it explains the iconLibrary default, requires agent to ask user, and that topic='patterns' gives the checklist. Schema only provides enums and brief descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies this tool as the mandatory first call before writing any @marmoui/ui code, specifying it returns a generation checklist, critical rules, patterns, and icon library rules. This verb+resource purpose is distinct from siblings which are for other actions like deploying, generating components, or reviewing code.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

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

Explicitly states it is 'MANDATORY FIRST CALL' and instructs to ask the user about icon library before writing UI code, and to pass the same value to review_generated_code. It does not explicitly state when not to use it, but the context makes it clear.

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

get_design_mdAInspect

Generate a portable DESIGN.md for the authenticated tenant — brand color, type, tokens, and component inventory — that any AI agent can read to generate on-brand UI. Pass format="markdown" (default) for the DESIGN.md string or format="json" for structured data. Output is deterministic for a given tenant.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNoOutput format. "markdown" returns the DESIGN.md string; "json" returns structured data.markdown
Behavior4/5

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

With no annotations, the description discloses determinism, authentication requirement, and output format options. It does not mention read-only status, but the purpose implies it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two well-structured sentences with no wasted words, front-loading the primary purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a single optional parameter with full schema coverage and no output schema, the description sufficiently explains what the tool returns and its deterministic nature.

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

Parameters5/5

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

Schema coverage is 100% and the description adds meaningful context for the only parameter: explains default, return types, and format behavior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool generates a portable DESIGN.md with brand color, type, tokens, and component inventory for an authenticated tenant, distinguishing it from siblings like get_design_guidelines or get_tenant_theme.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

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

The description explains output formats and defaults, but does not explicitly state when to use this tool versus alternatives or when not to use it.

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

get_knowledge_versionAInspect

Returns the MCP knowledge version: gitSha, indexedAt, componentCount, patternCount, uptimeSeconds. Call this ONCE per session before generating UI code so you know how fresh the design-system data is. Cheap to call. If gitSha is "unknown" or indexedAt is far in the past, surface that to the user before relying on the data.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior5/5

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

No annotations exist, but description fully discloses read-only behavior, cheap cost, and return fields, plus conditional behavior for unknown gitSha.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences efficiently deliver purpose, usage, and behavior without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Complete for a zero-parameter, no-output-schema tool: covers return fields, call timing, and result interpretation.

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

Parameters4/5

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

No parameters, so baseline 4 applies. No additional param info needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns MCP knowledge version fields (gitSha, indexedAt, etc.), making its purpose specific and distinct from sibling tools which are unrelated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

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

Explicitly advises calling once per session before generating UI code, mentions it is cheap, and provides guidance on handling stale data.

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

get_patternAInspect

Get a complete, validated composition example for a common UI pattern. Available: app-layouts (ASK USER which of 4 layout ids before any full page), app-shell, confirmation-dialog, dialogs-for-other-actions, data-table-with-filters, form-with-validation, posthog-tracking. Call app-layouts first for full pages — returns layout selection flow + AppLayout usage. Pass iconLibrary (default "phosphor") so the usage note tells you which icon import source to rewrite the pattern's icons to. Returns code + inline validation report. Call with no arguments to list all patterns.

ParametersJSON Schema
NameRequiredDescriptionDefault
patternIdNoPattern identifier, e.g. "app-shell", "data-table-with-filters", "confirmation-dialog", "dialogs-for-other-actions". Omit to list all available patterns.
iconLibraryNoIcon library the caller is using. Default: "phosphor". The returned usage note tells the agent which icon import source to use, and the inline validation enforces it. Supported: phosphor, material, lucide, tabler, heroicons, feather.
Behavior4/5

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

No annotations are provided, so description carries full burden. It discloses that the tool returns 'code + inline validation report', describes a special flow for app-layouts, and explains how iconLibrary affects the returned usage note. It does not explicitly state read-only or safety profile, but the behavior is well-explained.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences cover purpose, pattern list, special instructions, and parameter usage. It is front-loaded with the main verb and resource. Could be slightly more structured (e.g., bullet points) but efficient overall.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 2 optional parameters, no output schema, and no annotations, the description covers key aspects: pattern listing, special handling for app-layouts, iconLibrary default, and return content (code + validation). Minor missing details like error handling or response format, but sufficient for selection and invocation.

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

Parameters4/5

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

Schema coverage is 100%, but description adds meaningful context: for patternId, it lists examples and notes omitting lists all patterns; for iconLibrary, it explains default and its role in icon rewriting. This goes beyond the schema's enum and descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Get a complete, validated composition example for a common UI pattern', specifying the verb, resource, and scope. It lists all available patterns and distinguishes this tool from siblings like generate_component and get_component_info by focusing on patterns rather than components.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

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

Description provides explicit context: call app-layouts first for full pages, pass iconLibrary, and call with no arguments to list all patterns. However, it does not directly compare to sibling tools or state when not to use, but the context signals and sibling list make the usage clear.

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

get_prototype_feedbackBInspect

Fetch inline comments from a shared prototype as structured data and Markdown. Pull into Cursor/Claude to iterate on feedback.

ParametersJSON Schema
NameRequiredDescriptionDefault
prototypeIdYesPrototype ID/slug to fetch feedback for
includeResolvedNo
Behavior2/5

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

No annotations are provided, so the description carries full weight. It only states the basic function, without disclosing behavioral traits like read-only nature, permissions, rate limits, or side effects. The description is minimal and does not add behavioral context beyond the purpose.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, with the first sentence front-loading the core purpose. The second sentence adds a usage tip, which is slightly extraneous but does not detract from clarity. Overall, it is concise with no wasted text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of output schema and limited parameters, the description should provide more context about return values (e.g., format of structured data, whether resolved comments are included by default). It does not mention pagination, error handling, or output details, leaving gaps.

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

Parameters2/5

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

Schema description coverage is 50% (only prototypeId has a description). The tool description does not compensate by explaining the includeResolved parameter or providing additional meaning beyond the schema. It fails to clarify parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Fetch inline comments from a shared prototype as structured data and Markdown.' It uses a specific verb and resource, and distinguishes itself from sibling tools like get_design_guidelines which serve different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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

The description implies usage for iterating on feedback with Cursor/Claude, but does not explicitly state when to use this tool over alternatives or provide exclusions. It gives a usage hint but lacks comparative guidance.

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

get_tenant_themeAInspect

Returns the authenticated tenant's customized theme tokens, CSS variables export, and component overrides. Call after auth to apply tenant-specific styling in generated code.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

No annotations provided, but the description accurately describes a read-only retrieval operation without side effects. It adds context about the return content, sufficient for this simple tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences, front-loaded with the core purpose and usage guidance, no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no parameters, no output schema, and is a simple retrieval, the description adequately explains what is returned and when to use it.

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

Parameters4/5

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

No parameters exist, so schema coverage is 100%. The description adds value by explaining what the return includes, beyond the empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's verb ('returns'), specific resource ('authenticated tenant's customized theme tokens, CSS variables export, and component overrides'), distinguishing it from sibling tools like get_design_guidelines or get_pattern.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

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

Provides clear context for when to call ('after auth') and why ('to apply tenant-specific styling in generated code'), though it does not explicitly state when not to use it.

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

list_componentsAInspect

List all available @marmoui/ui components with names, descriptions, categories, and prop counts. Use to discover what exists. Prefer search_components when you already know the use case (form, table, dialog, etc.).

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoFilter by status (e.g., "stable", "beta")
categoryNoFilter by category (e.g., "Components", "Layout")
Behavior4/5

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

No annotations provided, so description carries full burden. It correctly implies a read operation with no side effects but fails to mention that the tool supports filtering via optional parameters, which contradicts the phrase 'list all'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the purpose, no redundant information. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with 2 optional parameters and no output schema, the description adequately explains return values. However, it lacks explicit mention that results can be filtered by status and category.

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

Parameters3/5

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

Schema description coverage is 100% with both parameters having clear descriptions in the input schema. The tool description does not add additional meaning beyond what is already in the schema, so baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'list' and resource 'components', and specifies the returned fields (names, descriptions, categories, prop counts). It distinguishes itself from the sibling tool 'search_components'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

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

Explicitly states when to use this tool ('to discover what exists') and when to prefer the alternative ('search_components when you already know the use case').

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

review_generated_codeAInspect

⚠️ MANDATORY — call this on every piece of code you generate before returning it to the user. Validates TSX/JSX against real @marmoui/ui prop signatures and returns { valid, errors[], warnings[], suggestedFixes[], iconLibrary }. Catches: (1) unknown imports, (2) Tabs.List/Tabs.Trigger namespace misuse → auto-suggests TabsList/TabsTrigger fix, (3) PageSection used as wrapper (must be self-closing), (4) hallucinated props, (5) icons imported from the wrong icon library (pass iconLibrary — default "phosphor" — matching what you passed to get_design_guidelines; wrong-library icon imports are ERRORS). If valid=false, fix all errors and call this again. DO NOT return code with errors to the user.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesThe complete TSX/JSX code you just generated. Must import from @marmoui/ui.
contextNoOptional: describe what the code is supposed to do (e.g. "settings page with tabs"). Helps produce more targeted feedback.
iconLibraryNoIcon library the code must import icons from. Default: "phosphor". Pass the SAME value you passed to get_design_guidelines. When set, imports from any other icon library are reported as ERRORS. Supported: phosphor, material, lucide, tabler, heroicons, feather.
Behavior5/5

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

No annotations provided, so description fully discloses behavior: what it validates (5 categories), return structure ({valid, errors[], warnings[], suggestedFixes[], iconLibrary}), and action required on failure. Highly transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single compact paragraph, uses bold and emojis for emphasis. While dense, every sentence adds value. Could be slightly more structured with bullet points, but still effective.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, but description covers return format and error categories in detail. With 3 parameters fully described and complex behavior explained, the description is complete for agent invocation.

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

Parameters4/5

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

Schema coverage is 100%, so baseline 3. Description adds context: 'code' is complete generated code, 'context' helps targeted feedback, 'iconLibrary' must match get_design_guidelines value. This extra meaning justifies a 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's mandatory purpose: validating generated TSX/JSX against real prop signatures before returning to user. It lists specific checks (unknown imports, namespace misuse, etc.) and distinguishes from sibling tools like validate_component_usage.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

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

Explicitly states it's mandatory on every piece of code, and provides a clear workflow: call, fix errors if valid=false, repeat. Also warns against returning code with errors, giving strong when-to-use and when-not-to guidance.

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

search_componentsAInspect

Search @marmoui/ui by keyword (e.g. "form", "table", "dialog", "avatar"). Preferred discovery tool — returns the 5-8 most relevant components for a need. Call this before get_component_info when unsure which component to use.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum results to return (default: 10)
queryYesSearch query — matches against component names, descriptions, categories, and prop names
Behavior3/5

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

No annotations provided, so description must cover behavior. It states returns 5-8 most relevant components, giving a hint about the number of results. However, it does not mention that the tool is read-only, or describe ordering, error handling, or authentication needs. Adequate but not detailed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Very concise: two sentences, no fluff. Front-loads the action and resource, provides examples, and gives usage order relative to a sibling. Every sentence is purposeful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity of the tool (search, no output schema, 2 params), the description covers the essential purpose and usage. It differentiates from list_components and get_component_info. Missing details like result format or sorting, but contextually sufficient.

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

Parameters3/5

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

Schema coverage is 100%, baseline 3. Description adds example keywords which adds some value, but does not explain the limit parameter beyond its existence. The schema already describes both parameters adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it searches a specific UI library by keyword, and distinguishes from sibling get_component_info by positioning itself as the preferred discovery tool. Verbatim: 'Search @marmoui/ui by keyword... Preferred discovery tool.' Purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

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

Explicit usage guidance: 'Call this before get_component_info when unsure which component to use.' Provides example keywords. Does not explicitly state when not to use it, but the guidance is clear enough.

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

validate_component_usageAInspect

Validate a TSX/JSX snippet against real @marmoui/ui prop signatures. Returns {valid, issues[]}. Prefer review_generated_code for post-generation review (it also auto-fixes namespace patterns and suggests related patterns). Use this tool when validating user-provided or existing code rather than newly generated code.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesTSX/JSX code snippet to validate against @marmoui/ui
iconLibraryNoOptional: icon library the code must import icons from. Default: "phosphor". When set, imports from any other icon library are reported as errors. Supported: phosphor, material, lucide, tabler, heroicons, feather.
Behavior4/5

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

With no annotations, the description carries full burden. It discloses the return format ('{valid, issues[]}') and the validation context (against real prop signatures), suggesting read-only behavior. It does not explicitly confirm no side effects or define 'issues,' but for a validation tool, the transparency is good. A 4 is appropriate as it adds value but could be slightly more explicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is exactly two sentences: first states purpose and return, second provides usage guidance and an alternative. Every word earns its place; no redundancy or filler. Perfectly concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (2 parameters, no output schema, no nested objects), the description covers purpose, return shape, usage guidelines, and parameter details adequately. It does not explain the nature of 'issues,' but that is a minor gap. Overall, it provides sufficient context for an agent to use the tool correctly.

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

Parameters4/5

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

Schema coverage is 100%, but the description adds value beyond the schema: for 'code' it reiterates the context; for 'iconLibrary' it explains the default and error behavior when an icon from a different library is used. This additional detail aids agent understanding, justifying a score above baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool validates a TSX/JSX snippet against @marmoui/ui prop signatures and returns a structured result. It explicitly distinguishes from sibling tool review_generated_code by noting the auto-fix and pattern suggestion features, providing clear differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

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

The description provides explicit guidance: 'Prefer review_generated_code for post-generation review' and 'Use this tool when validating user-provided or existing code.' It names the alternative and specifies the use case, leaving no ambiguity about when to use each tool.

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

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources