NV Elements Catalog Starters Repo System Themes About Getting Started Changelog Metrics Support Accessibility Contributions Requests Migration Integrations Installation MCP CLI Lint Angular Bundles Custom Elements Extensions Golang Hugo Import Maps Lit NextJS Nuxt Preact React SolidJS Svelte TypeScript Vue Foundations 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 Elements Accordion Alert Avatar Badge Breadcrumb Button Button Group Card Chat Message Checkbox Color Combobox Copy Button Datagrid 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 Datetime Format Number Format Relative Time Forms Validation Actions Control Icon Icon Button Input Input Group Logo Menu Month Notification Page Page Header Page Loader Pagination Panel 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 Code Codeblock Monaco Input Diff Input Editor Diff Editor Problems Markdown Markdown CSS Utility 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 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.

MacOS / Linux Windows CMD 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 /about A brief introduction to Elements /about /doctor Verify Elements setup and MCP configuration /doctor /playground Context for creating playground prototypes /playground Create an example login form /search Context for searching Elements APIs /search What notifies a user of a long running process? /new-project Context for creating a new Elements project. /new-project Create an Angular todo app /migrate Context for migrating from deprecated Elements APIs /migrate Migrate this project from deprecated Elements APIs

Skills

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.

Skill Description elements Build UI with NVIDIA Elements (NVE). Provides authoring guidelines, workflow steps, and API best practices for creating, editing, or reviewing HTML templates that use nve-* components. authoring Authoring workflow guidance for creating, editing, or reviewing HTML templates that use nve-* components. migration Migration guidance for moving projects from deprecated Elements APIs to current packages and tools.

Tools

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_template_validate Validates HTML templates using Elements APIs and components (nve-*). 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. skills_list Get a list of available Elements agent skills and context fragments. skills_get Get a bundled Elements agent skill or context fragment by name. 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.