Skip to main content
Glama

Arc UI

Server Details

React components and blocks with motion. Search docs, props and shadcn install commands.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
kuratlielia/arc-library
GitHub Stars
130

TDQS

A3.9/5.0

Scored across 5 tools

Disambiguation4/5

Each tool targets a distinct retrieval purpose (docs, install command, skill file, listing, intent search). The only potential confusion is between list_components (filter by category/tag/tier) and search_components (intent-based search), but their descriptions clarify the boundaries well.

Naming Consistency5/5

All five tools follow a consistent verb_noun snake_case pattern: get_component, get_install_command, get_skill, list_components, search_components. No deviations or mixed conventions.

Tool Count5/5

Five tools is well-scoped for a read-only documentation server. Each tool serves a distinct access pattern (discover, retrieve, install, guidance) without redundancy.

Completeness4/5

The surface covers discovery (list/search), component docs, install commands, and skill guidance. A minor gap is the lack of a list_skills tool to enumerate available skill files, though the get_skill description enumerates them, so agents can still work around it.

Available Tools

5 tools
get_componentGet an Arc componentA
Read-onlyIdempotent
Inspect

Get full documentation for one Arc component or block: when to use it, when not to (with the better alternative), usage and extra examples, props, keyboard, accessibility, motion, responsive behavior, performance, keywords, related items, and the install command. structuredContent.api carries the same fields as JSON. With an Arc Pro token (Authorization header), Pro items also include their full source files in structuredContent.files.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesComponent or block id, e.g. button, date-picker, or signup-form
kindNoOnly needed when an id exists as both

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the bar is lower, yet the description still adds real context: the Pro Authorization token requirement and the fact that Pro items include full source files in structuredContent.files. It does not describe error behavior for a missing or ambiguous id.

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?

Purpose is front-loaded in the first clause, and the two trailing sentences about structuredContent and auth are useful rather than filler. The middle field enumeration is long but each item signals retrievable content, so it mostly earns its space.

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?

With no output schema, the description carries the return-value burden and does so by naming structuredContent.api and structuredContent.files, which is exactly what an agent needs. It is slightly incomplete on failure modes (unknown id, id/kind conflict) but otherwise sufficient for a 2-parameter read 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 coverage is 100% and both parameters are documented with examples (button, date-picker, signup-form) plus the enum for kind, so the schema does the heavy lifting. The description adds only the vague 'one component or block' framing, which does not meaningfully extend the schema's 'only needed when an id exists as both'.

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

Purpose5/5

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

States a specific verb and resource with scope ('Get full documentation for one Arc component or block') and enumerates exactly what the payload contains. The 'one' scope implicitly separates it from list_components and search_components, so an agent can route without opening the schema.

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?

Usage is implied: call this once you already know a specific id, otherwise use search_components/list_components. However, the description never states when to prefer this tool over its siblings, nor what happens if the id is unknown or ambiguous — the 'kind' param hints at ambiguity but no guidance is given.

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

get_install_commandGet the Arc install commandA
Read-onlyIdempotent
Inspect

Get the shadcn CLI command that installs one or more Arc components or blocks, including shared foundation tokens and Arc dependencies, plus setup notes. Free items always; Pro items (@uiarc-pro registry) when the connection carries an Arc Pro token.

ParametersJSON Schema
NameRequiredDescriptionDefault
idsYesComponent or block ids
runnerNonpx

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the safety profile is covered. The description adds substantive context beyond that: the returned command bundles shared foundation tokens and Arc dependencies plus setup notes, and Pro items are gated by an Arc Pro token on the connection. It does not describe output format details, but the annotations lower the bar.

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, front-loaded with the core purpose and artifact. Dense but every clause adds real information (bundled dependencies, setup notes, Pro gating); no filler or restatement of the title.

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 read-only, idempotent, two-parameter tool with no output schema, the description explains what the tool returns (CLI command plus setup notes) and the availability gating. The only notable omission is any mention of the `runner` parameter, which is left entirely to the enum.

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 50%. The description accounts for the required `ids` parameter ('one or more Arc components or blocks', matching minItems: 1), but the `runner` enum (npx/pnpm/yarn/bun) is undocumented in both the schema and the description. Baseline 3 is appropriate given the schema carries part of the load.

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 states a specific verb (Get) and a specific artifact (the shadcn CLI install command), and enumerates what the command carries (foundation tokens, Arc dependencies, setup notes). This is clearly distinguishable from sibling readers like get_component, get_skill, list_components, and search_components, which do not return an install command.

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?

Usage is implied: use it when you need an install command for one or more components/blocks. It adds a real gating condition (Pro registry items require the connection to carry a Pro token), but it never states when to prefer this over get_component or search_components, nor any explicit when-not guidance.

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

get_skillGet an Arc skillA
Read-onlyIdempotent
Inspect

Get one Arc skill file as markdown: rules for building with Arc. Free skills: SKILL (entry point: workflow, principles, never-do list, and quick decisions); INSTRUCTIONS (short always-on rules for agents.md, claude.md, or cursor rules); checklist (the review loop to run before finishing, with grep sweeps); components (choosing the right component or block by job, with ids); composition (page containers, dashboards, marketing sections, states, react correctness); copy (sentence case, no eyebrows or em dashes, verbs on buttons, honest claims); design (color, type, surfaces, concentric radii, spacing, and icons); motion (motion tokens, spring choice, patterns with code, reduced motion); accessibility (focus without rings, semantics, keyboard, and announcements); responsive (widths to check, overflow, tables, and touch targets); example-settings (a worked account settings page); example-pricing (a worked pricing section with plans, comparison, and faq); example-dashboard (a worked analytics overview with kpis, chart, and table). Pro skills (arc-pro, full-page-generation, page-composition, design-system-generation, refactor-to-arc, motion-recommendations, responsive-optimization, accessibility-audit) are returned in full when the connection carries an Arc Pro token (otherwise signed-in Pro members download them at /api/skills and this tool returns where).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesOne of: SKILL, INSTRUCTIONS, checklist, components, composition, copy, design, motion, accessibility, responsive, example-settings, example-pricing, example-dashboard, arc-pro, full-page-generation, page-composition, design-system-generation, refactor-to-arc, motion-recommendations, responsive-optimization, accessibility-audit

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint, idempotentHint, destructiveHint=false), so the description only needs to add context — and it does, disclosing the Pro-token gating, the full-vs-pointer return behavior, and the markdown output format. That is genuine information beyond the structured fields.

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 opening sentence is well front-loaded, but the body is a single massive semicolon-delimited run-on covering 20 ids with no formatting or line breaks. Every item carries useful content, yet the density makes it hard to scan and the last Pro paragraph is buried.

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?

There is no output schema, so the description must describe returns — and it does (markdown file, plus the /api/skills redirect for non-token Pro access). Combined with the exhaustive id list, an agent has what it needs, though pagination/size limits are unmentioned.

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 description coverage is 100%, so the baseline would be 3, but the description goes further by explaining what each id value actually contains (e.g., 'composition (page containers, dashboards, marketing sections…)'), which adds selection meaning beyond the flat enum listed in the 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?

States a specific verb and resource — 'Get one Arc skill file as markdown' — and immediately frames the content domain as 'rules for building with Arc'. An agent can distinguish this from siblings like get_component or search_components without opening any schema.

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

Usage Guidelines4/5

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

The per-id breakdown effectively tells the agent when each skill file is the right choice (e.g., INSTRUCTIONS for agents.md/claude.md, checklist for pre-finish review loops). What's missing is any explicit statement of when NOT to use this tool or a pointer to sibling alternatives, so it falls short of the 5 bar.

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

list_componentsList Arc componentsA
Read-onlyIdempotent
Inspect

List Arc components and blocks with name, description, tier, and links. Filter by category (Actions, Inputs, Disclosure, Feedback, Data, Text, Special, Blocks), tag, tier (free or pro), or kind (component or block).

ParametersJSON Schema
NameRequiredDescriptionDefault
tagNoA tag such as motion, form, menu, or overlay
kindNo
tierNo
categoryNoOne of: Actions, Inputs, Disclosure, Feedback, Data, Text, Special, Blocks

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered structurally. The description adds that the result includes name, description, tier, and links (useful with no output schema), but says nothing about pagination, result limits, or ordering.

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 tight sentences, front-loaded with the core action and return fields before the filter list. No filler, though the filter enumeration borders on duplicating the schema.

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?

With no output schema, describing the returned fields (name, description, tier, links) is genuinely valuable, and the filter set is covered. The main gap is the absent routing versus search_components, but for a read-only listing tool this is close to complete.

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 50%, and the description largely restates what the schema already encodes: the category list, tier values (free/pro), and kind values (component/block) all appear in the schema enums or param descriptions. It adds no new syntax or combination semantics beyond what the schema provides.

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

Purpose4/5

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

The description states a specific verb and resource ("List Arc components and blocks") and even enumerates the fields returned. However, it never distinguishes this tool from the sibling search_components, leaving the agent to guess which listing tool to pick.

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?

It lists the available filters (category, tag, tier, kind), which implies the browse/refine use case, but gives no explicit when-to-use versus search_components or get_component, and no statement that this returns the full inventory.

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

search_componentsSearch Arc componentsA
Read-onlyIdempotent
Inspect

Search Arc components and blocks by intent, e.g. "confirm destructive action", "date range", or "pricing page". Returns the best matches first.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindNo
tierNo
limitNo
queryYesWhat you want to build or the component you are looking for

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare the full safety profile (readOnly, idempotent, non-destructive, closed-world), so the description is not obligated to restate it. It does add one useful behavioral fact: results are ranked, with best matches returned first. It says nothing about result size, pagination, or truncation behavior beyond that.

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 short sentences, front-loaded with the verb and resource, examples embedded inline, and no filler. Every clause adds information.

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 read-only search tool with no output schema, the description covers intent semantics and ranking ('best matches first'), which is what an agent most needs. Minor gaps remain around result shape and how 'limit' affects output, but nothing an agent would be misled by.

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 only 25%, so the description must compensate. It clarifies the 'kind' dimension by naming both components and blocks and gives intent-flavored semantics for 'query'. It leaves 'tier' (free/pro) and 'limit' (default 10, max 50) entirely to the schema, so the compensation is partial.

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

Purpose4/5

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

States a specific verb+resource (search Arc components and blocks) with concrete intent examples, which clearly separates it from id-based siblings like get_component. It does not explicitly distinguish itself from list_components, but the 'by intent' framing implies a semantic/keyword search rather than enumeration.

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 examples ('confirm destructive action', 'date range', 'pricing page') show what kind of inputs are appropriate, which is implicit usage guidance. However, it never states when to search versus browse with list_components, nor any exclusion or prerequisite.

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.

  1. 5 tool updates
    • First observedget_component
    • First observedget_install_command
    • First observedget_skill
    • First observedlist_components
    • First observedsearch_components

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to search for and fetch pre-vetted, production-safe 3D and motion components (React Three Fiber & GSAP) for injection into Next.js apps via AST-safe edits.
    114 npm
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Provides documentation and component references for the Reacticx React Native library, including props, code examples, and installation guides. It enables users to search through over 90 components and retrieve setup commands for project dependencies.
    5
    11 npm
    2
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides AI assistants with comprehensive access to Motion.dev animation library documentation and code generation tools. Enables LLMs to generate Motion animations for React, JavaScript, and Vue with proper documentation backing and framework conversion capabilities.
    14
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.