vite-plugin-vue-mcp

by webfansplz

569 stars
730 downloads
Not rated
GitHub

About

Vite plugin that enables a MCP server helping models to understand your Vue app better.

Details

Author
webfansplz
GitHub stars
569
Downloads
730
Categories
Developer Tools

- Retrieve the Vue component tree
- Read component state by name
- Edit component state at a specific path
- Highlight a component in the browser
- Get Vue Router route information
- Retrieve the Pinia store tree
- Read individual Pinia store state

Install the package with pnpm install vite-plugin-vue-mcp -D. Then add VueMcp() to the plugins array in vite.config.ts. After starting the Vite dev server, the MCP server listens at http://localhost:[port]/__mcp/sse. For Cursor, the plugin can automatically update the .cursor/mcp.json configuration.

vite-plugin-vue-mcp

[![npm version][npm-version-src]][npm-version-href]
[![npm downloads][npm-downloads-src]][npm-downloads-href]
[![bundle][bundle-src]][bundle-href]
[![License][license-src]][license-href]

Vite plugin that enables a MCP server for your Vue app to provide information about the component tree, state, routes, and pinia tree and state.

Installation 📦

pnpm install vite-plugin-vue-mcp -D

Usage 🔨

// vite.config.ts
import { VueMcp } from 'vite-plugin-vue-mcp'

export default defineConfig({
plugins: [VueMcp()],
})

Then the MCP server will be available at http://localhost:[port]/__mcp/sse.

If you are using Cursor, create a .cursor/mcp.json file in your project root, this plugin will automatically update it for you. For more details about the MCP, check the official Cursor documentation.

Options

export interface VueMcpOptions {
  /
    The host to listen on, default is localhost
   /
  host?: string

/
Print the MCP server URL in the console

@default true
/
printUrl?: boolean

/
The MCP server info. Ingored when mcpServer is provided
/
mcpServerInfo?: McpServerInfo

/
Custom MCP server, when this is provided, the built-in MCP tools will be ignored
/
mcpServer?: (viteServer: ViteDevServer) => Awaitable<McpServer>

/
Setup the MCP server, this is called when the MCP server is created
You may also return a new MCP server to replace the default one
/
mcpServerSetup?: (server: McpServer, viteServer: ViteDevServer) => Awaitable<void | McpServer>

/
The path to the MCP server, default is /__mcp
/
mcpPath?: string

/
Update the address of the MCP server in the cursor config file .cursor/mcp.json,
if .cursor folder exists.

@default true
/
updateCursorMcpJson?: boolean | {
enabled: boolean
/

The name of the MCP server, default is vue-mcp
/
serverName?: string
}

/
append an import to the module id ending with appendTo instead of adding a script into body
useful for projects that do not use html file as an entry

WARNING: only set this if you know exactly what it does.
@default ''
/
appendTo?: string | RegExp
}

Features/Tools ✨

Get Component Tree

get-component-tree: Get the Vue component tree.

component-tree

Get Component State

get-component-state: Get the state of a component (input: componentName).

component-state

Edit Component State

edit-component-state: Edit the state of a component (input: componentName, path, value, valueType).

edit-component-state

Highlight Component

highlight-component: Highlight a component (input: componentName).

highlight-component

Get Routes

get-router-info: Get the Vue router info of the application.

route-tree

Get Pinia Tree

get-pinia-tree: Get the Pinia tree of the application.

pinia-tree

Get Pinia State

get-pinia-state: Get the Pinia state of the application (input: storeName).

pinia-state

Architecture ⚡️

architecture

Notice 💡

Please ensure the application is running in your browser before using the features.**

Credits 💖

This project is inspired by vite-plugin-mcp. Thanks to @antfu for the great work.

License 📖

MIT License © Arlo

<!-- Badges -->

[npm-version-src]: https://img.shields.io/npm/v/vite-plugin-vue-mcp?style=flat&colorA=080f12&colorB=1fa669
[npm-version-href]: https://npmjs.com/package/vite-plugin-vue-mcp
[npm-downloads-src]: https://img.shields.io/npm/dm/vite-plugin-vue-mcp?style=flat&colorA=080f12&colorB=1fa669
[npm-downloads-href]: https://npmjs.com/package/vite-plugin-vue-mcp
[bundle-src]: https://img.shields.io/bundlephobia/minzip/vite-plugin-vue-mcp?style=flat&colorA=080f12&colorB=1fa669&label=minzip
[bundle-href]: https://bundlephobia.com/result?p=vite-plugin-vue-mcp
[license-src]: https://img.shields.io/github/license/webfansplz/vite-plugin-vue-mcp.svg?style=flat&colorA=080f12&colorB=1fa669
[license-href]: https://github.com/webfansplz/vite-plugin-vue-mcp/blob/main/LICENSE

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.