One install wires up both the 21st MCP server and the 21st.dev Agent Skills in Claude Code, so Claude searches, installs and publishes on 21st.dev from the terminal or via MCP tool calls, instead of hand-writing UI.
- MCP server
21st— the remote endpointhttps://21st.dev/api/mcp(JSON-RPC over HTTP), exposing 21 tools:search,get_component,get_theme, bookmarks + bookmark lists, teams,get_usage,generate, and edit/delete for components/themes/templates. Metadata search is free; component code, generation and writes are metered. - Skills — four focused Agent Skills that teach the
21stCLI (npx @21st-dev/cli), auto-activating when the project has acomponents.json:21st-cli-use(search / install),21st-ai(generate, iterate on, and grab code from 21st AI drafts),21st-registry(publish & manage components/themes/templates), and21st-design-sync(publish the project's design tokens as a theme).
-
Set your 21st API key in the environment (get one at https://21st.dev/settings/api-keys):
export API_KEY_21ST="sk_..."
-
Add this marketplace and install the plugin from inside Claude Code:
/plugin marketplace add 21st-dev/claude-code-plugin /plugin install 21st@21st(
21st@21st= plugin21stfrom marketplace21st. Replace21st-dev/claude-code-pluginwith the actual<org>/<repo>that hosts this directory, or a local path / git URL.) -
Restart Claude Code (or reload) so the MCP server connects. Verify with
/mcp— you should see the21stserver with its full tool list (search,get_component,get_theme, bookmarks, teams,generate, …).
The MCP server reads your key from the API_KEY_21ST environment variable and
sends it as the x-api-key header (see plugins/21st/.mcp.json). If tool calls
report "Not authenticated," confirm API_KEY_21ST is exported in the shell that
launched Claude Code, then reconnect via /mcp.
.claude-plugin/
marketplace.json # marketplace listing this plugin
plugins/
21st/
.claude-plugin/
plugin.json # skills + mcpServers (via ${CLAUDE_PLUGIN_ROOT})
.mcp.json # remote 21st MCP (x-api-key: ${API_KEY_21ST})
skills/
21st-cli-use/
SKILL.md # bundled Agent Skills (same source as
21st-ai/ # https://21st.dev/api/skills/<name>)
SKILL.md
21st-registry/
SKILL.md
21st-design-sync/
SKILL.md
Bundled paths in plugin.json use ${CLAUDE_PLUGIN_ROOT} so they resolve
regardless of where the plugin is installed.