Skip to content
Seamless UI

MCP

The Seamless MCP server lets coding agents find components, read verified examples, and get the exact install commands. It runs locally over stdio from the same package as the CLI. The tools only read the public registry; installing always happens through the CLI, so you keep the dry run and conflict protection.

Tools

| Tool | Input | Returns | | --- | --- | --- | | search_components | query, category, framework, limit | Slugs, descriptions, versions, and docs links | | get_component | slug, framework | Frameworks and support status, states, props, dependencies, files, accessibility notes | | get_example | slug | The usage example built in the Next.js and Vite fixtures by CI, and the installed source paths | | get_install_command | items, package manager (npm, pnpm, yarn, bun), framework | The install command and a separate dry-run command; no command when a component does not support the framework |

The framework input accepts next, vite-react, and vite-vue. With vite-vue, details and examples come from the Vue implementation, and components without one get no command.

Setup

@seamlessui/cli is not on npm yet. Until it is, build it locally (see Install from a local build) and replace npx -y @seamlessui/cli below with node /path/to/seamlessui/packages/cli/dist/index.js. Set SEAMLESS_CLI_COMMAND to the same value so the install commands the agent receives use your local build.

Codex

Verified with Codex CLI 0.164. Add the server to ~/.codex/config.toml:

toml
[mcp_servers.seamless]
command = "npx"
args = ["-y", "@seamlessui/cli", "mcp"]

Or run codex mcp add seamless -- npx -y @seamlessui/cli mcp.

Claude Code

terminal
claude mcp add seamless -- npx -y @seamlessui/cli mcp

Add --scope project to share the server with your team through .mcp.json.

Cursor

Add to .cursor/mcp.json in your project (or ~/.cursor/mcp.json):

json
{
  "mcpServers": {
    "seamless": {
      "command": "npx",
      "args": ["-y", "@seamlessui/cli", "mcp"]
    }
  }
}

The Claude Code and Cursor configurations follow each client's documented stdio format; the end-to-end flow was run with Codex.

Example prompt

Add a tool call card with an error state to this React dashboard.

The agent finds Tool Call Card with search_components, reads the error example with get_example, runs the dry-run command from get_install_command, installs, and connects the card to your data.

Remote MCP

The server runs locally over stdio. A hosted (remote) MCP endpoint with account-based authorization is not offered yet: the PRD makes it conditional on demand, and the local server already reads the public registry without credentials.

Options

  • --registry <url> or SEAMLESS_REGISTRY_URL: read a different registry.
  • SEAMLESS_CLI_COMMAND: the CLI invocation used in returned commands (default npx @seamlessui/cli).
  • Protocol messages go to stdout; diagnostics go to stderr.