Arc UI
Server Details
React components and blocks with motion. Search docs, props and shadcn install commands.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- kuratlielia/arc-library
- GitHub Stars
- 130
TDQS
Scored across 5 tools
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.
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.
Five tools is well-scoped for a read-only documentation server. Each tool serves a distinct access pattern (discover, retrieve, install, guidance) without redundancy.
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 toolsget_componentGet an Arc componentARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Component or block id, e.g. button, date-picker, or signup-form | |
| kind | No | Only needed when an id exists as both |
TDQS
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.
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.
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.
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.
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.
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 commandARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | Component or block ids | |
| runner | No | npx |
TDQS
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.
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.
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.
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.
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.
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 skillARead-onlyIdempotentInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | One 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
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.
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.
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.
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.
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.
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 componentsARead-onlyIdempotentInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | A tag such as motion, form, menu, or overlay | |
| kind | No | ||
| tier | No | ||
| category | No | One of: Actions, Inputs, Disclosure, Feedback, Data, Text, Special, Blocks |
TDQS
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.
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.
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.
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.
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.
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 componentsARead-onlyIdempotentInspect
Search Arc components and blocks by intent, e.g. "confirm destructive action", "date range", or "pricing page". Returns the best matches first.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | ||
| tier | No | ||
| limit | No | ||
| query | Yes | What you want to build or the component you are looking for |
TDQS
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.
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.
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.
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.
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.
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.
5 tool updates
- First observed
get_component - First observed
get_install_command - First observed
get_skill - First observed
list_components - First observed
search_components
Related MCP Connectors
Search and install interactive React components with unusual motion, via the shadcn CLI.
Search free React, Tailwind, and shadcn components, blocks, and dashboards; get installable source.
81593Search and pull 500+ production-ready React + Tailwind sections and elements
Browse and install Crucible's animated React components into shadcn-style projects.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables 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 npmMIT
- AlicenseAqualityDmaintenanceProvides access to Aceternity UI component library documentation, enabling AI assistants to browse, search, and retrieve detailed information about components.310 npmMIT
- AlicenseAqualityDmaintenanceProvides 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.511 npm2MIT
- FlicenseNot gradedqualityDmaintenanceProvides 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-
Glama MCP Gateway
Add one secure layer between your agents and this server.