AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
MCP verified MIT Self-run

Medula

mcp-posva-medula Β· by posva

🧬 control your app from inside it

β€” No reviews yet
0 installs
12 views
0.0% view→install

Install

$ agentstack add mcp-posva-medula

βœ“ scanned Β· βœ“ verified, works with Claude Code, Cursor, and more.

Security review

βœ“ Passed

No issues found. Passed automated security review. Β· v0.1.0 How review works β†’

  • βœ“ Prompt-injection patterns
  • βœ“ Secret / credential exfiltration
  • βœ“ Dangerous shell & filesystem operations
  • βœ“ Untrusted network calls
  • βœ“ Known-malicious package signatures

What it can access

  • βœ“ Network access No
  • βœ“ Filesystem access No
  • βœ“ Shell / process execution No
  • ● Environment & secrets Used
  • βœ“ Dynamic code execution No

From automated source analysis of v0.1.0. β€œUsed” means the capability is present in the source β€” more access means more to trust, not that it’s unsafe.

View the full security report β†’

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/mcp-posva-medula)

Reliability & compatibility

βœ“ Security review passed
0 installs to date
β€” no reviews yet
● 11d ago

Declared compatibility

Claude CodeClaude DesktopCursorWindsurf

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work β†’
Are you the author of Medula? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

medula

[](https://npmx.dev/package/medula) [](https://github.com/posva/medula/actions/workflows/ci.yml)

> Change your web app's state from within it

medula lets your coding agent inspect and change the internal state of a running web app through MCP. Ask it to check a component, change a value, or navigate to another route, and see the result in your browser.

It supports Vue 3, React, Svelte 5, and Solid, with integrations for Vite, Nuxt, and Next.js. Vue apps also get support for Pinia and Vue Router. Add medula to your dev server, it infiltrates your app so you don't need to adapt anything in it.

| Framework | What your agent can do | | --------- | --------------------------------------------------------------------------------------------------------- | | Vue 3 | Inspect the component tree, read and edit component state and Pinia stores, and navigate with Vue Router. | | React | Inspect components, read and edit hook state, and override props. | | Svelte 5 | Inspect components, read props and derived values, and edit $state. | | Solid 1.9 | Inspect components, read props and memos, and edit signals and stores. |

medula runs during development and uses devframe to connect your app to your agent.

Setup

Vue, React, Svelte, and Solid with Vite 8

Install medula and Vite DevTools in your app:

pnpm add -D medula @vitejs/devtools

Enable Vite DevTools and add medula() next to your existing framework plugin. For example, with Vue:

// vite.config.ts
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { medula } from 'medula/vite'

export default defineConfig({
  devtools: true,
  plugins: [vue(), medula()],
})

For React, Svelte, or Solid, use the same config with your framework's import and plugins entry:

// React
import react from '@vitejs/plugin-react'
// plugins: [react(), medula()]

// Svelte 5
import { svelte } from '@sveltejs/vite-plugin-svelte'
// plugins: [svelte(), medula()]

// Solid
import solid from 'vite-plugin-solid'
// plugins: [solid(), medula()]

Nuxt

Install medula:

pnpm add -D medula

Add the module to your Nuxt config. This requires Nuxt DevTools 4.

// nuxt.config.ts
export default defineNuxtConfig({
  devtools: { enabled: true },
  modules: ['medula/nuxt'],
})

Next.js (App Router)

Install medula and the devframe packages:

pnpm add -D medula @devframes/next @devframes/hub-ui

Wrap your Next.js config with withDevframe:

// next.config.ts
import { withDevframe } from '@devframes/next/single'

export default withDevframe({})

Create the route below to serve the devtools. Use the folder name %5F_devframes exactly as shown: Next.js treats folders that start with _ as private.

// app/%5F_devframes/[[...path]]/route.ts
import { nextDevframeHub } from '@devframes/next/hub'

export const runtime = 'nodejs'
export const dynamic = 'force-dynamic'

const hub = nextDevframeHub({
  devframes: [
    () =>
      import(/* webpackIgnore: true */ /* turbopackIgnore: true */ 'medula').then((m) =>
        m.medulaHubEntry(),
      ),
  ],
  auth: false, // for local development on a single-user machine
  register: true,
})

const handler = (request: Request) => hub.handler(request)

export { handler as DELETE, handler as GET, handler as POST }

Keep the import comments: they let medula load its assets correctly with Webpack and Turbopack. register: true lets your agent discover the dev server.

Add `` to the head of your root layout and the devtools script to the body:

// app/layout.tsx
import type { ReactNode } from 'react'
import { Medula } from 'medula/next'

export default function RootLayout({ children }: { children: ReactNode }) {
  return (
    
      
        
      
      
        {children}
        {process.env.NODE_ENV === 'development' && (
          
        )}
      
    
  )
}

Connect your agent

Add this server to your agent's MCP configuration:

{
  "mcpServers": {
    "devframe": {
      "command": "npx",
      "args": ["devframe", "connect"]
    }
  }
}

devframe connect finds your running dev servers, so you do not need to configure a URL or port for each app.

Start your dev server and open the app in your browser. If DevTools asks for a connection code, complete that step. Keep the app tab visible while your agent works: its tools are available while the page is connected. With several app tabs open, medula uses the tab you focused last.

Try asking your agent:

  • β€œShow me the components on this page and their current state.”
  • β€œSet the cart quantity to 3 so I can check the total.”
  • β€œOpen the settings route.” (Vue Router)

Your agent can call medula_help for guidance and discover the tools for your app. Changes affect the running page; they do not edit your source files.

Contributing

See [CONTRIBUTING.md](./CONTRIBUTING.md) for local setup, playgrounds, and checks.

License

[MIT](./LICENSE)

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source β€” we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.