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).
Capabilities
Tools
| 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, and file targets — pass includeSource: true to also get the full source, and cwd for monorepos |
Prompts
| Prompt | Description |
|---|---|
install-component | Structured prompt template to guide an AI assistant in inspecting, installing (with --yes), and configuring a Sora component |
Resources
| 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).
How it works in practice
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.
Two servers, two jobs
| Server | Role |
|---|---|
sora-ui | Read docs, browse sections/resources, and inspect component info — search_docs, get_page, list_sections, get_component_info, 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.
What is automatic vs manual
-
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”.
What MCP is not
- Not IDE IntelliSense or Copilot-style inline completions
- Not a replacement for reading source when you already have components in your repo
- Not the same as project rules or skills — those load into context; MCP tools are invoked on demand
Typical workflow
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.
Add to Cursor
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”.
Manual configuration (Cursor)
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.
Add to Claude Code
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".
Manual configuration (Claude Code)
Add to ~/.claude/settings.json (global) or .claude/settings.json (project):
Add to Claude Desktop
Open the Claude Desktop config file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Add 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.
Local Development (STDIO & HTTP)
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:
- Run STDIO locally:
node apps/xmcp/dist/stdio.js - Run HTTP server locally:
bun run start(serves athttp://localhost:1337/mcp) - Development with hot reload:
bun run dev
Example prompts
Browse documentation
- List all Sora UI documentation sections
- Search Sora UI docs for text reveal components
- Get the MCP documentation page from Sora UI
UI kit
- Search Sora UI docs for dialog components
- Get the UI kit landing page (
ui) - List the UI section in Sora UI docs
Components catalog
- Search Sora UI components for underline link
- Get the draw-underline-link primitive page
- List the components section in Sora UI docs
Registry install
- List installable Sora UI components
- Get install info for stagger-button
- What dependencies does the scroll-gallery component need?
- Get the full source code for stagger-button
- Add scroll-gallery from @soralabs and wire it into my page with variant=studio
Registry MCP (shadcn)
To add @soralabs/* components from the registry with natural language, configure the shadcn MCP server alongside Sora UI docs MCP.
Automatic configuration
Manual configuration
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.
Troubleshooting
Agent does not use MCP tools
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.
Server not connecting
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.
Tools return no results
- Use
list_sectionsfirst to see availabledocumentationandcomponentssections - For component pages, try slugs like
text-effector paths likeprimitives/accordion
Install link does nothing
Paste the deeplink into your browser address bar, or add the manual JSON config above. See Cursor MCP install links.
Nested sora-ui key in mcp.json
If 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: 8/23/2026