๐ค A Model Context Protocol (MCP) library for use with Agentic chat bots
https://github.com/vuetifyjs/mcp.git
Model Context Protocol (MCP) server providing Vuetify component information and documentation to any MCP-compatible client or IDE.
The Vuetify Model Context Protocol (MCP) server bridges the gap between Vuetify's powerful component library and AI-assisted development environments. This integration enables seamless access to Vuetify's extensive component ecosystem directly within your development workflow.
This MCP server enables IDEs and other Model Context clients to assist with:
Use the hosted MCP server directly:
# Claude Desktop
claude mcp add --transport http vuetify-mcp https://mcp.vuetifyjs.com/mcp
Run Vuetify MCP locally:
# Start the Vuetify MCP server
npx -y @vuetify/mcp
This command downloads and runs the latest version of the Vuetify MCP server, making it immediately available to your MCP-compatible clients.
You can configure the Vuetify MCP server in your IDE or client by running the interactive CLI or by manually updating your settings file.
The interactive CLI provides the simplest way to configure your environment:
# Configure for hosted remote server
npx -y @vuetify/mcp config --remote
# Or configure for local installation
npx -y @vuetify/mcp config
The CLI will:
--remote) or local installationBelow are the locations and JSON snippets for each supported environment. Copy the JSON into your client or IDE settings file at the specified path.
| IDE | Settings File Path | JSON Key Path |
|---|---|---|
| VSCode | <user home>/.config/Code/User/settings.json | mcp.servers.vuetify-mcp |
| Claude | <user home>/Library/Application Support/Claude/claude_desktop_config.json (macOS)%APPDATA%\Claude\claude_desktop_config.json (Windows) | mcpServers.vuetify-mcp |
| Cursor | <user home>/.config/Cursor/User/mcp.json | mcpServers.vuetify-mcp |
| Trae | <user home>/.config/Trae/User/mcp.json | mcpServers.vuetify-mcp |
| Windsurf | <user home>/.config/Windsurf/User/mcp.json | mcpServers.vuetify-mcp |
{
"mcpServers": {
"vuetify-mcp": {
"command": "npx",
"args": ["-y", "@vuetify/mcp"]
}
}
}
Hosted remote server (most IDEs):
{
"mcpServers": {
"vuetify-mcp": {
"url": "https://mcp.vuetifyjs.com/mcp"
}
}
}
Some tools (like creating bins) require a Vuetify API key. How you pass the key depends on your transport type.
Local stdio servers use environment variables:
{
"mcpServers": {
"vuetify-mcp": {
"command": "npx",
"args": ["-y", "@vuetify/mcp"],
"env": {
"VUETIFY_API_KEY": "<YOUR_API_KEY>"
}
}
}
}
HTTP/remote servers require headers (env vars don't work for HTTP transport):
{
"mcpServers": {
"vuetify-mcp": {
"type": "http",
"url": "https://mcp.vuetifyjs.com/mcp",
"headers": {
"Authorization": "Bearer <YOUR_API_KEY>"
}
}
}
}
The server accepts either Authorization: Bearer <token> or X-Vuetify-Api-Key: <token> headers.
VSCode local:
{
"servers": {
"vuetify-mcp": {
"command": "npx",
"args": ["-y", "@vuetify/mcp"],
"env": {
"VUETIFY_API_KEY": "<YOUR_API_KEY>",
"GITHUB_TOKEN": "<YOUR_GITHUB_TOKEN>"
}
}
}
}
VSCode remote:
{
"servers": {
"vuetify-mcp": {
"url": "https://mcp.vuetifyjs.com/mcp"
}
}
}
WSL (Windows Subsystem for Linux)
If you prefer to run the MCP server from Windows using WSL:
{
"mcpServers": {
"vuetify-mcp": {
"command": "wsl.exe",
"args": [
"bash",
"-c",
"/home/<user>/.nvm/versions/node/<version>/bin/node /home/<user>/sites/mcp/dist/index.js"
]
}
}
}
Replace <user> and <version> with your actual WSL username and Node.js version.
Run your own HTTP server for remote access:
# Start with HTTP transport
npx -y @vuetify/mcp --transport=http --port=3000 --host=0.0.0.0 --stateless
Configuration:
{
"mcpServers": {
"vuetify-mcp": {
"url": "http://your-server:3000/mcp"
}
}
}
CLI Arguments:
--transport=http - Enable HTTP transport--port=3000 - Port number (default: 3000)--host=0.0.0.0 - Host address (default: localhost)--path=/mcp - Endpoint path (default: /mcp)--stateless - Stateless mode (recommended for public servers)The Vuetify MCP server provides a comprehensive set of tools to enhance your development experience. These tools are automatically available to any MCP-compatible client once the server is configured.
get_vuetify_api_by_version: Download and cache Vuetify API types by version. Supports all major Vuetify versions (2.x and 3.x).get_component_api_by_version: Return the API list for a specific Vuetify component, including props, events, slots, and exposed methods.get_directive_api_by_version: Return the API information for a specific Vuetify directive (e.g., v-ripple, v-scroll). Includes directive description, arguments, default values, and source reference.get_installation_guide: Get detailed installation guides for various environments, including Vue CLI, Nuxt, Vite, and manual installation methods.get_available_features: Get a list of available Vuetify features, including components, directives, and composables.get_exposed_exports: Get a list of exports from the Vuetify npm package, useful for understanding what can be imported directly.get_frequently_asked_questions: Get the FAQ section from the Vuetify docs, providing answers to common questions and issues.get_release_notes_by_version: Get release notes for one or more Vuetify versions, helping you understand changes between versions.get_vuetify_one_installation_guide: Get the README contents for @vuetify/one package from GitHub.Support for @vuetify/v0, a headless meta-framework providing unstyled components and composables for building design systems:
get_vuetify0_installation_guide: Get installation and usage instructions for @vuetify/v0 from GitHub.get_vuetify0_package_guide: Get package-specific documentation for @vuetify/v0.get_vuetify0_composable_list: List all 28+ composables organized by category (foundation, registration, selection, forms, system, plugins, transformers).get_vuetify0_component_list: List all 8 headless components (Atom, Avatar, ExpansionPanel, Group, Popover, Selection, Single, Step).get_vuetify0_composable_guide: Get detailed documentation and source code for specific composables.get_vuetify0_component_guide: Get detailed documentation and source code for specific components.The Vuetify MCP server follows a modular architecture that separates concerns and makes the codebase easier to navigate and extend:
vuetify-mcp/
โโโ bin/
โ โโโ cli.js # CLI entry point with argument handling
โโโ src/
โ โโโ index.ts # Main server entry point
โ โโโ services/ # Core business logic
โ โ โโโ api.ts # API-related services
โ โ โโโ documentation.ts # Documentation services
โ โ โโโ vuetify0.ts # @vuetify/v0 services
โ โโโ tools/ # MCP tool definitions
โ โ โโโ api.ts # API tools
โ โ โโโ documentation.ts # Documentation tools (includes @vuetify/v0)
โ โโโ transports/ # Transport implementations
โ โ โโโ http.ts # HTTP transport with stateless/stateful modes
โ โโโ cli/ # Interactive CLI configuration
โโโ package.json
โโโ tsconfig.json
โโโ README.md
This structure makes it easy to locate specific functionality and extend the server with new features.
If you want to contribute to the Vuetify MCP server or customize it for your own needs, follow these steps to set up your development environment:
# Install dependencies
pnpm install
# Run development server
pnpm dev
The development server will start with hot-reloading enabled, allowing you to see your changes immediately.
To add new features or extend existing ones:
src/services/component.ts)src/tools/component.ts)This project uses the @modelcontextprotocol/sdk package to create a Model Context Protocol server that Claude and other AI assistants can interact with. The MCP architecture enables AI assistants to:
McpServer classHere's a simplified example of how a tool is implemented in the Vuetify MCP server:
// In src/tools/component.ts
import { z } from 'zod';
import { componentService } from '../services/component';
export const getComponentApiByVersion = {
name: 'get_component_api_by_version',
description: 'Return the API list for a Vuetify component',
parameters: z.object({
component: z.string().describe('The component name (e.g., "VBtn")'),
version: z.string().optional().describe('Vuetify version (defaults to latest)')
}),
handler: async ({ component, version }) => {
return componentService.getComponentApi(component, version);
}
};
If you encounter issues not covered here, please:
The Vuetify MCP server is compatible with:
Vuetify MCP is available under the MIT software license.
Copyright (c) 2025-present Vuetify, LLC