Elements MCP
The Elements MCP server connects AI coding assistants to the Elements design system. It gives tools like Claude Code, Cursor, and Codex direct access to component APIs, design tokens, template validation, project scaffolding, and interactive MCP Apps views so your AI assistant can build with Elements effectively
Install CLI
Install the Elements CLI to your system. This will add the nve command to your path and provide several helpful commands for working with Elements.
curl -fsSL https://nvidia.github.io/elements/install.sh | bash
curl -fsSL https://nvidia.github.io/elements/install.cmd -o install.cmd && install.cmd && del install.cmd
# install the CLI
npm install -g @nvidia-elements/cli
Quick Setup
After you install the CLI, the fastest way to configure the Elements MCP uses the setup command. This detects your package manager, configures the MCP server for Cursor, Claude Code, and Codex, and adds Elements core dependencies to the project.
nve project.setup
Manual Setup
After adding the configuration in the root of your project, restart Claude Code for the changes to take effect. The Elements MCP tools are then available for use in your conversations.
// .mcp.json
{
"mcpServers": {
"elements": {
"description": "NVIDIA Elements UI Design System (nve-*), custom element schemas, APIs and examples",
"command": "nve",
"args": ["mcp"]
}
}
}
After adding the configuration in your project's .cursor directory, enable the MCP under Cursor > Settings > Cursor Settings > Tools & MCP. The Elements MCP tools are then available for use in your conversations.
// .cursor/mcp.json
{
"mcpServers": {
"elements": {
"description": "NVIDIA Elements UI Design System (nve-*), custom element schemas, APIs and examples",
"command": "nve",
"args": [
"mcp"
]
}
}
}
After adding the configuration in the root of your project, restart Codex for the changes to take effect. The Elements MCP tools are then available for use in your conversations.
# .codex/config.toml
[mcp_servers.elements]
command = "nve"
args = ["mcp"]
Usage
Prompts
/about/about/doctor/doctor/playground/playground Create an example login form/search/search What notifies a user of a long running process?/new-project/new-project Create an Angular todo app/migrate/migrate Migrate this project from deprecated Elements APIsSkills
Skills provide persistent context to AI agents for building UI with Elements. Unlike prompts (invoked on demand) or tools (callable functions), skills give agents background knowledge about Elements components, workflows, and best practices.
elementsauthoringmigrationTools
api_listapi_getapi_template_validateapi_imports_getapi_tokens_listapi_icons_listnve-icon and nve-icon-button.packages_listpackages_getpackages_changelogs_getexamples_listexamples_getexamples_renderskills_listskills_getplayground_validateplayground_createproject_createproject_validateproject_setupMCP Apps UI
The Elements MCP server supports MCP Apps for hosts that implement the io.modelcontextprotocol/ui extension. The same nve mcp command advertises the text/html;profile=mcp-app MIME type, registers ui://elements/* resources, and attaches _meta.ui.resourceUri metadata to tools that have an app view. You do not need separate setup.
Hosts with MCP Apps support can render these views inline in the conversation. Hosts without Apps support still receive the normal text and structured tool output.
ui://elements/example-previewexamples_get, examples_renderui://elements/icons-listapi_icons_listui://elements/tokens-listapi_tokens_listEach app resource is a self-contained HTML document that includes Elements components, theme CSS, typography CSS, layout CSS, and a small MCP Apps client. The client initializes the app, reports size changes, receives tool input and result notifications, and calls server tools through the MCP Apps message channel when it needs more data. Message handling validates the parent origin before reading inbound JSON-RPC payloads.
Client support for MCP Apps is host-specific. Check the MCP extension support matrix before relying on inline Apps behavior in a specific assistant.
Troubleshooting
403 Forbidden
A 403 Forbidden error means your token has expired. Re-authenticate to resolve it.
npm config set registry https://registry.npmjs.org && npm login --auth-type=legacy
Unsupported Engine
An Unsupported engine warning means your Node.js version is out of date. The CLI requires Node.js v20 or later. Update Node.js and try again.