Connect the Sora UI docs MCP server to Cursor and other AI clients.
The Sora UI docs MCP server gives AI assistants live access to this site — installation guides, primitives, and the component catalog. It runs as a remote HTTP server at https://mcp.soralabs.studio/mcp (no local CLI required).
| Tool | Description |
|---|---|
search_docs | Search docs and components by keyword or phrase. Supports filtering by section (documentation, components, catalog, motion, ui). Capped at 25 results per call (default 10) with relevant excerpts |
get_page | Fetch a page as markdown by slug or URL path (e.g. getting-started, ui/button, primitives/accordion). Enforces an 8,000-token budget with automatic truncation notice |
list_sections | Browse the documentation structure and page counts from llms.txt. Supports filtering to a specific section's children |
get_component_info | Without a name, lists installable Sora UI components and hooks (registry:ui, registry:hook). With a name, returns install guidance (npx shadcn@latest add @soralabs/<name> --yes or sora-cli add), dependency trees, file targets, and published agent metadata (accessibility constraints, composition rules, motion engine) — pass includeSource: true to also get the full source, and cwd for monorepos |
validate_composition | Validate a proposed set of registry components against dependencies and published agent metadata before generating UI code. Reports missing items, registry dependency warnings, accessibility constraints, motion requirements, and composition rules |
| Prompt | Description |
|---|---|
install-component | Structured prompt template to guide an AI assistant in inspecting, installing (with --yes), and configuring a Sora component |
| Resource | Description |
|---|---|
registry-catalog | Complete live JSON snapshot of all installable Sora UI registry items (type: "registry:ui" and type: "registry:hook") |
get_component_info lets you browse, inspect, and pull the source of a component directly from Sora UI docs MCP — its output points the agent at the standard shadcn add or sora-cli command to actually run for a correct install (right import aliases, dependencies installed), so most agents can install straight from this one server. If you'd rather the agent install @soralabs/* via a dedicated MCP tool call instead of running a shell command, configure the shadcn MCP server alongside it (see Registry MCP (shadcn) below).
MCP does not auto-suggest Sora components in the editor — there is no autocomplete, component picker, or inline hint while you type JSX. MCP is optional tooling for the AI agent: after you enable a server, the agent can call its tools when your prompt is relevant, but it is neither always-on nor guaranteed on every message.
| Server | Role |
|---|---|
sora-ui | Read docs, browse sections/resources, inspect component info, and validate compositions — search_docs, get_page, list_sections, get_component_info, validate_composition, install-component prompt (also returns shadcn add / sora-cli install commands) |
shadcn | Install @soralabs/* into your project via the shadcn CLI, as an agent-callable tool instead of a shell command |
Use both if you'd rather the agent call an MCP tool to install than run shadcn/sora-cli itself — register @soralabs in components.json first, see Installation. Most agents with shell access can just run the command get_component_info returns.
Setup (manual, one-time) — Add MCP config (or click Add to Cursor below), then enable the server under Settings → Tools & MCP. Restart Cursor if tools do not appear.
During Agent chat (semi-automatic) — The agent may call MCP when it decides it needs live docs — for example, you ask for a scroll-pinned hero and it searches for scroll-gallery. This depends on your prompt, mode (Agent vs Ask), and model; it will not happen on every request.
Explicit prompts (most reliable) — Name Sora UI or the task directly: “List installable Sora UI components”, “Get install info for scroll-gallery”, “Get the source code for scroll-gallery”, “Add scroll-gallery from @soralabs and use variant=studio”.
The --yes (or -y) flag matters when an agent runs shadcn or sora-cli itself: without it, add prints a confirmation prompt and — since the agent's shell has no TTY — silently exits successfully without installing anything. get_component_info always includes --yes in the command it returns.
Cursor supports one-click MCP install links. Click below — Cursor opens a prompt to add the remote server, then enable it under Settings → Tools & MCP.
Click Add to Cursor and confirm the install dialog.
Open Settings → Tools & MCP and make sure sora-ui is enabled (green status).
Restart Cursor if tools do not appear, then try a prompt like “Search Sora UI docs for accordion”.
Add this to .cursor/mcp.json in your project (or ~/.cursor/mcp.json for all projects):
After saving, enable the server in Settings → Tools & MCP and restart Cursor.
Claude Code is Anthropic's official CLI. You can connect via remote HTTP or local STDIO:
Run the command above in your terminal.
Verify the server was added with claude mcp list — you should see sora-ui in the list.
Start a new Claude Code session and try a prompt like "Search Sora UI docs for accordion".
Add to ~/.claude/settings.json (global) or .claude/settings.json (project):
Open the Claude Desktop config file:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.jsonAdd the server under mcpServers. Claude Desktop connects via mcp-remote (recommended for remote endpoints) or local compiled script:
Open the config file at the path for your operating system.
Add the sora-ui entry under mcpServers (create the file with the content above if it does not exist yet).
Restart Claude Desktop — the server connects automatically on the next launch.
If you are developing inside the Sora UI monorepo or running a custom self-hosted instance, apps/xmcp compiles both STDIO (dist/stdio.js) and HTTP (dist/http.js) bundles:
node apps/xmcp/dist/stdio.jsbun run start (serves at http://localhost:1337/mcp)bun run devui)base-dialog, base-button, and base-tooltipdialog and stagger-button have any composition conflicts or accessibility constraintsbase-dialog, base-checkbox, base-buttonTo add @soralabs/* components from the registry with natural language, configure the shadcn MCP server alongside Sora UI docs MCP.
Install the shadcn package as a dev dependency:
Merge the shadcn entry into your MCP config (example for Cursor):
Register @soralabs in components.json before asking the agent to install components — see Installation.
MCP is agent-driven, not automatic. Confirm the server is enabled (green) in Settings → Tools & MCP, use Agent mode (not Ask), and mention Sora UI explicitly in your prompt. Prompts like “Search Sora UI docs for …” or “List installable Sora UI components” are the most reliable way to trigger tool calls.
Cursor: Confirm sora-ui is enabled in Settings → Tools & MCP, restart Cursor after changing .cursor/mcp.json, and check View → Output → MCP for errors.
Claude Code: Run claude mcp list to verify the server is registered. If missing, re-run claude mcp add --transport http sora-ui https://mcp.soralabs.studio/mcp. Use claude mcp get sora-ui to inspect the saved config.
Claude Desktop: Confirm the JSON in claude_desktop_config.json is valid (no trailing commas), then fully quit and reopen the app.
list_sections first to see available documentation and components sectionstext-effect or paths like primitives/accordionPaste the deeplink into your browser address bar, or add the manual JSON config above. See Cursor MCP install links.
sora-ui key in mcp.jsonIf Cursor shows must have either a command or url and your config looks like "sora-ui": { "sora-ui": { "url": "..." } }, remove the extra nesting — use the manual JSON shape, or click Add to Cursor again on this page (the install link encodes only { "url": "..." }; the name query param supplies the server key).
Built by Axyl. A motion-first component registry for React.
Last updated: 9/14/2026