MCP
Connect Cursor, Claude, or any MCP host to the FelicityUI registry over a public URL — or run it locally with npx.
FelicityUI’s MCP server is read-only. It exposes the compiled registry so agents can list components, read specs, and fetch native source. It does not write files and never executes registry payloads.
Endpoint
Paste this URL into Cursor, Claude, or any MCP host. A browser GET returns the same copyable config.
https://forma-web-smoky-delta.vercel.app/mcpLocal docs site (pnpm --filter @felicityui/web dev):
http://127.0.0.1:3000/mcpCursor
Hosted registry. Add this to .cursor/mcp.json or Cursor Settings → MCP.
{
"mcpServers": {
"felicityui": {
"url": "https://forma-web-smoky-delta.vercel.app/mcp"
}
}
}Point at a running local docs site instead:
{
"mcpServers": {
"felicityui": {
"url": "http://127.0.0.1:3000/mcp"
}
}
}Skill
The Skills CLI installs from GitHub or a well-known URL — not an npm package name. That command reads /.well-known/skills on the docs site and installs the FelicityUI skill so agents use felicityui add instead of inventing components. The MCP URL is still https://forma-web-smoky-delta.vercel.app/mcp.
npx skills add https://forma-web-smoky-delta.vercel.appnpx
Prefer a local process instead of the URL. The stdio server reads the same registry; it still does not write project files.
npx @felicityui/mcp{
"mcpServers": {
"felicityui": {
"command": "npx",
"args": ["-y", "@felicityui/mcp"]
}
}
}Tools
Names are button, input, accordion, dialog, and drawer. Platforms are react, swiftui, and compose.
| Tool | Purpose |
|---|---|
| list_components | Catalog. Optional platform. Utilities stay hidden unless includeUtilities is true. |
| search_components | Filter by name, title, description, or category. |
| get_component | Spec, accessibility, tokens, file targets, and felicityui add commands. No full source. |
| get_component_source | Native source for one platform. Review only — never execute the payload. |
| list_tokens | Semantic tokens and generated CSS variable names. |
| get_install_guide | init and add steps. The MCP server does not write files. |
Resource: felicityui://catalog.
Catalog
list_components returns these five items. Tokens and utils stay hidden unless the agent sets includeUtilities. Do not invent Badge, Field, Select, or Input Group — those patterns live on Input.
- ButtonNative <button>, SwiftUI.Button, and a Compose button with FelicityUI colors.
- InputNative <input>, SwiftUI TextField, and Compose OutlinedTextField. Textarea ships in the same item.
- AccordionNative details/summary, SwiftUI DisclosureGroup, and a Compose expandable column.
- DialogNative <dialog>, SwiftUI .alert, and Compose AlertDialog. Short confirms only.
- DrawerEdge panel on the web, .sheet on iOS, ModalBottomSheet on Android. No overlay library.
Install
The MCP server is discovery. Copy source with the CLI. Review the diff. FelicityUI never evaluates TypeScript, Swift, or Kotlin from the registry.
npx felicityui add button --platform react
npx felicityui add input --platform react
npx felicityui add accordion --platform react
npx felicityui add dialog --platform react
npx felicityui add drawer --platform reactSame commands with --platform swiftui or --platform compose. See Installation for project setup.