rsbuild-plugin-vue-mcp
Rsbuild plugin VueDevTools MCP
Plugin MCP de Rsbuild/Rspack basado en Vue DevTools.
Compatible con
Rsbuild 1.x/2.xyRspack 1.x/2.x.
A través del Model Context Protocol (MCP), las herramientas de IA (como asistentes de IDE y agentes) pueden leer y manipular el estado de tu aplicación Vue en tiempo real, haciendo realidad “una IA que entiende tu aplicación”.
Este plugin conecta tu servidor de desarrollo y las Vue DevTools que se ejecutan dentro de la página de tu aplicación mediante birpc sobre WebSocket, exponiendo un conjunto de herramientas MCP que permiten a la IA inspeccionar componentes, el router y stores de Pinia, e incluso editar directamente el estado de los componentes.
Características
🔌 Servidor MCP sin configuración — se monta automáticamente en tu servidor de desarrollo existente (sin proceso separado).
🌳 Inspecciona el árbol de componentes de la aplicación en ejecución.
🧩 Lee y edita el estado de los componentes Vue (datos reactivos, props, computed, refs…).
🔦 Resalta un componente en la página para localizarlo visualmente.
🧭 Lee la información de Vue Router (ruta actual, registros coincidentes, params, query…).
🗄️ Inspecciona Pinia — recorre el árbol de stores y lee el estado de cada store.
⚡️ Funciona con los servidores de desarrollo de Rsbuild y Rspack.
Related MCP server: vue-mcp-next
Uso
Instalación
# For npm
npm add rsbuild-plugin-vue-mcp -D
# For yarn
yarn add rsbuild-plugin-vue-mcp -D
# For pnpm
pnpm add rsbuild-plugin-vue-mcp -DRsbuild
// rsbuild.config.js
import { defineConfig } from '@rsbuild/core';
import { pluginVue } from '@rsbuild/plugin-vue';
import { pluginVueMcp } from "rsbuild-plugin-vue-mcp";
export default defineConfig({
plugins: [
pluginVue(),
pluginVueMcp(),
],
});
Rspack
// rspack.config.js
import { defineConfig } from '@rspack/cli';
import { rspack } from "@rspack/core";
import { VueLoaderPlugin } from 'rspack-vue-loader';
import { VueMcpPlugin } from 'rsbuild-plugin-vue-mcp/rspack';
export default defineConfig({
plugins: [
new rspack.HtmlRspackPlugin(),
new VueLoaderPlugin(),
new VueMcpPlugin(),
],
module: {
rules: [
{
test: /\.vue$/,
loader: 'rspack-vue-loader',
options: {
experimentalInlineMatchResource: true,
},
},
],
},
});
El servidor MCP (transporte Streamable HTTP) estará disponible en http://localhost:[port]/__mcp/mcp.
Requisitos: se requiere
@rsbuild/core >= 1.2.9(para Rsbuild) o@xxxecip/core >= 1.3.0(para Rspack) para que el plugin pueda adjuntarse al servidor HTTP subyacente.
Conectar un cliente MCP
Inicia el servidor de desarrollo (normalmente npm run dev). Este muestra la URL del servicio MCP en la consola, por ejemplo:
➜ MCP: Server is running at http://localhost:5173/__mcp/mcpAñade esa URL a la configuración MCP de tu cliente (Cursor, Claude Desktop, VS Code, etc.):
{
"mcpServers": {
"vue-mcp": {
"type": "streamable-http",
"url": "http://localhost:<YourPort>/__mcp/mcp",
"disabled": false
}
}
}[!IMPORTANTE> Para realmente invocar las herramientas MCP y depurar la app, se necesitan dos condiciones:
Que el servidor de desarrollo esté en marcha (para que el servidor MCP esté activo).
Que hayas abierto la página de tu aplicación en un navegador (por ejemplo,
http://localhost:5173). Eloverlay.jsinyectado se conecta entonces al servidor de desarrollo mediante WebSocket y expone el entorno de Vue DevTools.Las herramientas acceden a la aplicación viva a través de esa conexión WebSocket; si no hay ninguna página abierta, las llamadas fallarán o agotarán el tiempo de espera.
Una vez que la página está abierta, el asistente de IA puede llamar a las herramientas que se indican abajo sobre tu app en ejecución.
Herramientas MCP
El plugin registra las siguientes herramientas en el servidor MCP. Cada herramienta se comunica con la página de la aplicación mediante birpc, por lo que los datos siempre reflejan la aplicación en vivo. Todas las herramientas devuelven sus resultados como texto en formato JSON (no Markdown).
Tool | Descripción | Entradas |
| Obtiene el árbol de componentes Vue. El resultado se devuelve como un payload de texto JSON. | — |
| Obtiene el estado de un componente como JSON (data, props, computed, refs…). |
|
| Edita un valor dentro del estado de un componente (en vivo, reactivo). |
|
| Resalta un componente en la página (se desactiva automáticamente después de 5 s). |
|
| Obtiene la información actual de Vue Router como JSON (ruta, registros coincidentes, params, query…). | — |
| Obtiene el árbol de stores de Pinia como JSON. | — |
| Obtiene el estado de un store de Pinia como JSON. |
|
Ejemplo de flujo de trabajo de IA
"Muéstrame el árbol de componentes de la página actual."
"¿Qué estado tiene el componente
UserCard?""Establece
countenCountera10." → provoca la llamada aedit-component-statey la interfaz se actualiza al instante."Resalta el componente
Navbar." → el elemento parpadea en el navegador."¿En qué ruta estamos y cuáles son sus params?" → llama a
get-router-info."Muéstrame el estado de la store
cartde Pinia."
Cómo funciona
El plugin utiliza birpc como capa RPC y WebSocket como transporte entre el servidor de desarrollo y la página de la aplicación.
graph TD
subgraph A["MCP Host (AI Client)"]
A1[MCP Client]
A2[MCP Client]
end
subgraph B["MCP Server (Rsbuild/Rspack Dev Server)"]
B1[MCP Tools<br/>get-component-tree / get-component-state / ...]
B2[birpc group<br/>createRPCServer]
B3[WebSocket Server<br/>/__vue-devtools-mcp-ws]
end
subgraph C["Vue App (Browser)"]
C1[overlay.js injected]
C2[birpc client]
C3[Vue DevTools Kit<br/>devtools.api / ctx]
end
A <-- " streamable-http / SSE " --> B1
B1 --> B2
B2 <== " birpc over WebSocket " ==> B3
B3 --> C1 --> C2 --> C3Inyección — Cuando el servidor de desarrollo se inicia,
overlay.jsse inyecta en el HTML de la aplicación (o, cuandoappendToestá configurado, uma un import a los módulos fuentes coincidentes).overlay.jsinicializa@vue/devtools-kity abre unWebSockethacia el servidor de desarrollo/__vue-devtools-mcp-ws.Puente RPC — El servidor de desarrollo crea un grupo birpc (
createServerRPCServer) sobre las conexiones WebSocket.overlay.jscrea un cliente birpc (createBirpc). Las solicitudes del servidor se reenvían a la aplicación; las respuestas vuelven mediante callbacks de hooks (onInspectorTreeUpdated,onInspectorStateUpdated, …).Capa MCP — Los manejadores de herramientas MCP (
src/mcp/server.ts) llaman al cliente buscan llegar a la aplicación, esperan la respuesta a través de hookshookabley la devuelven como resultado de la herramienta.
Este diseño de dos hop (MCP ↔ birpc ↔ DevTools) hace que cada llamada a una herramienta inspeccione o modifique la aplicación real en ejecución, no una instantánea estática.
Configuración
Tanto pluginVueMcp(opciones) (Rsbuild) como new VueMcpPlugin(options) (Rspack) aceptan las mismas opciones:
interface PluginVueMcpOptions {
/** Host to listen on. Default: `localhost`. */
host?: string
/** Print the MCP server URL in the console. Default: `true`. */
printUrl?: boolean
/** Custom MCP server info (name/version). Ignored when `mcpServer` is provided. */
mcpServerInfo?: { name?: string, version?: string, ... }
/**
* Customize or replace the MCP server instance. Called whenever a server is created.
* You may register extra tools, or return a new McpServer to replace the default one.
*/
mcpServerSetup?: (server: McpServer, api: RsbuildPluginAPI | Compiler) => void | Promise<void | McpServer>
/** Path prefix for the MCP endpoint. Default: `/__mcp` (so the endpoint is `/__mcp/mcp`). */
mcpPath?: string
/**
* Instead of injecting a <script> into HTML, append an import to modules whose id
* matches this regex. Useful for projects without an HTML entry.
* WARNING: only set this if you know exactly what it does.
*/
appendTo?: string | RegExp
}Ejemplos
Registrar herramientas MCP adicionales junto a las por defecto:
pluginVueMcp({
mcpServerSetup(server, api) {
server.registerTool('ping', { description: 'Ping the dev server' }, async () => ({
content: [{ type: 'text', text: 'pong' }],
}))
},
})Usar una ruta de endpoint MCP personalizado:
pluginVueMcp({ mcpPath: '/my-mcp' })
// → http://localhost:<port>/my-mcp/mcpRequisitos
Node.js
>= 18@rsbuild/core >= 1.2.9 || >= 2.0.0(peer opcional, para el plugin de Rsbuild)@rspack/core >= 1.3.0 || >= 2.0.0(peer opcional, para el plugin de Rspack)Una aplicación Vue 3 instrumentada con
@vue/devtools-kit(gestionable automáticamente por el overlay inyectado).
Depuración
Puedes inspeccionar el servidor MCP con el oficial MCP Inspector:
npx @modelcontextprotocol/inspectorDespués apúntalo a http://localhost:<YourPort>/__mcp/mcp con el transporte Streamable HTTP.
Referencias / Créditos
Inspirado en vite-plugin-vue-mcp — la idea original de conectar Vue DevTools y MCP.
birpc— la capa RPC utilizada entre servidor de desarrollo y página de la app@vue/devtools-kit— API principal de Vue DevTools
Licencia
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceProvides application insights for Vue apps by exposing component trees, state, routes, and Pinia data through a Model Context Protocol server.2,375573MIT
- AlicenseNot gradedqualityCmaintenanceEnables real-time debugging and state manipulation of Vue.js applications through MCP protocol, integrating with Vue DevTools to access component trees, states, router info, and Pinia stores.3444MIT
- AlicenseNot gradedqualityBmaintenanceThis MCP server enables real-time debugging and inspection of running React Native apps, providing access to console logs, errors, network requests, navigation state, storage, and performance profiling.1MIT
- AlicenseNot gradedqualityCmaintenanceA Vite plugin that provides MCP server capabilities, enabling MCP clients to interact with browser environments through adapters for console, cookies, storage, performance, and component tree inspection.324MIT
Related MCP Connectors
MCP server for interacting with the Supabase platform
MCP server for managing Prisma Postgres.
MCP server exposing the Backtest360 engine API as tools for AI agents.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/BrightX/rsbuild-plugin-vue-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server