NV NVIDIA Elements Catalog Starters Repo System Themes Getting Started Getting Started Installation CLI MCP Skills Lint Integrations Getting Started Angular Bundles CDN Custom Elements Eleventy Golang HTMX + Go Hugo Import Maps Lit Lit Library MCP Apps NextJS Nuxt Preact React SolidJS Svelte TypeScript Vue About What’s New Changelog Metrics Support Accessibility Contributions Requests Migration Foundations Overview Typography Iconography Themes Design Tokens Size & Space Objects Interactions Support Status Color Animation Fonts Layers Custom Layout Horizontal Vertical Grid Popovers i18n Visualization View Transitions DESIGN.md Elements Accordion Alert Avatar Badge Breadcrumb Button Button Group Card Chat Message Checkbox Codeblock Color Combobox Copy Button Datagrid Getting Started Integrations Column Action Column Alignment Column Fixed Column width Container Card Display Settings Footer Heatmap Keynav Multi Select Pagination Panel Detail Panel Grid Performance Placeholder Row Action Row Groups Row Sort Scroll Height Single Select Stripe Date Datetime Dialog Divider Dot Drawer Dropdown Dropdown Group Dropzone File Format Bytes Datetime Number Relative Time Truncate Forms Getting Started Validation Actions Control Gauge Icon Icon Button Input Input Group Logo Markdown Markdown CSS Media Controller Pause Button Playback Rate Select Mute Button Seek Button Time Range Volume Range Full-screen Button Menu Month Monaco Input Diff Input Monaco Editor Diff Editor Problems Notification Page Page Header Page Loader Pagination Progressive Filter Chip Progress Bar Progress Ring Password Preferences Input Pulse Radio Range Resize Handle Search Select Skeleton Sort Button Sparkline Star Rating Steps Switch Tabs Tag Textarea Time Toast Toggletip Toolbar Tooltip Tree Week Patterns Authentication Browse Chat Dashboard Editor Empty States Heatmap Keyboard Shortcut Logging Media Navigation Onboarding Panel Responsive Search Subheader Trend Labs Responsive Layout Viewport Container Patterns Forms API Design Properties & Attributes Slots Registration CustomEvents Stateless Composition Styles Packaging Glossary Logs Internal Guidelines Agent Harness Agent Tooling Agent Ownership Documentation Examples TypeScript Testing Unit Testing Accessibility Testing Lighthouse Testing SSR Testing Visual Testing Troubleshooting Component Creation Internal Examples All Examples

Elements MCP

The NVIDIA 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, skills, 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 creates a canonical executable path and adds the nve command to your path when possible.

macOS / Linux Windows PowerShell NodeJS

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.

Manual Setup

Claude Code Cursor Codex

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.


Usage

Prompts

Prompt Description Example Prompt /artifact Create a standalone Elements UI artifact /artifact Create an example login form /doctor Verify Elements setup and MCP configuration /doctor /create-project Context for creating a new Elements project. /create-project Create an Angular todo app /migrate Context for migrating from deprecated Elements APIs /migrate Migrate this project from deprecated Elements APIs

Skills

Elements provides one elements skill for persistent authoring context. Install its complete directory, including task-specific reference files, from the project root:

Use nve skills.install --global to install the skill for the current user. The MCP server does not expose skill listing or retrieval tools. Its four prompts load the matching artifact, doctor, integration, and migration references from the same skill source.

Tools

Call api_validate with { "paths": ["src/app.html"] } or supplied content such as { "template": "<nve-button></nve-button>", "format": "json" }; supplied content defaults to HTML. Set lang to json and provide filename for JSON content. JSON results contain ok, a complete summary, and diagnostics with locations, severity, rule, suggestion, and whether a fix is available.

Tool Description api_list Get list of all available Elements (nve-*) APIs and components. api_get Get documentation known components or attributes by name (nve-*). api_validate Check HTML and JSON files or supplied content with Elements lint rules. api_imports_get Get esm imports for a given HTML template using Elements APIs (nve-*). api_tokens_list Get available semantic CSS custom properties / design tokens for theming. api_icons_list Get list of all available icon names for nve-icon and nve-icon-button. packages_list Get latest published versions of all Elements packages. packages_get Get details for a specific Elements package. packages_changelogs_get Retrieve changelog details by package name. examples_list Get list of available Elements (nve-*) patterns and examples. examples_get Get the full template of a known example or pattern by id. examples_render Render a custom Elements HTML template inline in the MCP Apps preview view. playground_validate Validates HTML templates specifically for playground examples. playground_create Create a shareable playground URL from an HTML template. project_create Create a new starter project. project_validate Check project for configuration issues and dependencies. project_setup Setup or update a project to use Elements.

MCP 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.

App View Resource Tools Description Example Preview ui://elements/example-preview examples_get, examples_render Render stored examples or validated custom Elements HTML templates with the Elements bundle and themes already loaded. Icon List ui://elements/icons-list api_icons_list Search available nve-icon names and copy the matching source markup. Token Explorer ui://elements/tokens-list api_tokens_list Search design tokens, preview token values, switch themes, and copy CSS custom property references.

Each 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.

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.