Skip to main content
Glama

List UI components

list_components
Read-only

Lists every UI component in the project's design system, each with its name, source package, import path, and a short note on its intended use. Read-only and unpaginated: it returns the whole catalog across all packages assigned to the project, so expect a large response on big design systems. Use it to see what exists before building UI, and to get the exact component name other tools need. Do not use it to find a component by need - search_components ranks by description - and do not use it for props, examples, or Figma data, which only get_component returns. project_id is not a display filter: it selects the assigned packages, so two projects in one organization legitimately return different catalogs.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
project_idYesUUID as returned by list_projects - not the project name, title, or slug, and not guessable. Fetch it once and reuse the same id across tools. An id outside the caller's organization returns "Project not found or access denied" rather than empty data, and a project withheld by a plan limit returns a plan error that retrying cannot clear. It selects the assigned packages that are enumerated, so two projects in one organization legitimately return different catalogs.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed1 schema field changed
    • changedInput schema / properties / project_id / description
      Previous value: -"Project ID from list_projects"New value: +"UUID as returned by list_projects - not the project name, title, or slug, and not guessable. Fetch it once and reuse the same id across tools. An id outside the caller's organization returns \"Project not found or access denied\" rather than empty data, and a project withheld by a plan limit returns a plan error that retrying cannot clear. It selects the assigned packages that are enumerated, so two projects in one organization legitimately return different catalogs."
  2. First observed

TDQS

A4.7/5.0
Behavior5/5

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

The readOnlyHint annotation covers safety, and the description adds meaningful behavioral context beyond it: the tool is unpaginated, returns the entire catalog, may produce a large response, and project_id is not a display filter but selects assigned packages. It also discloses that different projects in an organization can legitimately yield different catalogs. No contradiction with annotations.

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 longer than average but every sentence earns its place: the core scope is front-loaded, followed by behavioral caveats, then explicit sibling routing. It communicates a lot of operational nuance without redundancy or filler.

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 the simple signature, the read-only annotation, and the rich schema, the description is complete: it covers output content, size expectations, usage guidance, sibling routing, and project_id semantics. Nothing an agent needs to invoke it correctly is missing.

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 the project_id schema entries already explain UUID usage, 'not guessable', error behavior, and package selection. The description essentially restates this package-selection nuance without adding substantially new parameter-level semantics beyond 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?

The description states a specific verb and resource — 'Lists every UI component in the project's design system' — and enumerates what is returned (name, source package, import path, intended use). It also clearly differentiates itself from siblings by explicitly saying not to use it for finding by need (search_components) or for props/examples/Figma data (get_component).

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?

It gives explicit positive guidance: use it to see what exists before building UI and to get exact component names. It also gives explicit alternative routing: search_components for need-based search, get_component for props/examples/Figma data. This leaves no ambiguity about when to invoke this tool versus its siblings.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.8/5.0
Disambiguation5/5

Each tool has a clearly distinct resource and role: enumeration (list_*), lookup (get_*), search, updates, and metadata. Even the closely related list_components and search_components are sharply separated by exact-name enumeration versus ranked by-use-case search.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern, using either list_* for enumerations or get_* for single-item or metadata lookups. Naming choices clearly signal the operation type and resource without exceptions.

Tool Count5/5

With 9 tools, the server is well-scoped for read-only access to a project's design system, component catalog, standards, and style tokens. Each tool has a distinct responsibility and none feel redundant or superfluous.

Completeness5/5

The surface fully covers the read-only domain: project discovery, package listing, component enumeration and search, component details, version updates, standards, and style tokens. It leaves no obvious dead ends for an agent needing design system information.