msw-mcp
Provides tools for dynamically adding, updating, and removing Mock Service Worker (MSW) network request handlers in a running browser application without reloading, using a WebSocket bridge between the CLI/MCP server and the browser client.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@msw-mcpadd a mock for GET /api/users returning two users"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MSW AI Agent Bridge Monorepo
This monorepo provides a suite of tools that bridge AI agents with Mock Service Worker (MSW). It enables dynamic addition, updating, and removal of MSW network mocks directly from a command-line interface or AI tool execution, completely independently of the application source code restarts.
Demo
Walkthrough of the MCP-driven MSW workflow (browser bridge, live handler updates):
https://github.com/user-attachments/assets/06959759-b198-4cd1-ae2b-11ede32acd8e
Related MCP server: console-stream-mcp
Key features
🤖 Generate MSW handlers with AI
⚡ Update mocks without reloading the page
🌉 WebSocket bridge between Cli/MCP and the browser
🛠️ Scaffold MSW setup with
msw-cli setupor MCP's/msw-setupprompt💻 Terminal and script control via
msw-cli⚙️ Configurable port, persistence, and client targeting
✨ Agent skills for AI agents to use
Structure
This project is set up as a monorepo using pnpm and turbo.
apps/docs(@msw-mcp/docs): Starlight documentation site for MSW Agent Tools (CLI, MCP, guides). Source lives underapps/docs/src/content/docs/.packages/msw-cli: The command-line interface (msw-cli) used by AI agents or developers to send dynamic handler updates. Runmsw-cli setupto scaffold a project, thenmsw-cli openplus handler commands.packages/msw-mcp: The published Model Context Protocol server (msw-mcp) so assistants can manage mocks via MCP tools.packages/client(@msw-mcp/client): The browser/environment client that listens for updates and registers them with the local MSW setup.packages/core(@msw-mcp/core): The core daemon process and session management logic that brokers communication between the CLI or MCP server and the client.
Documentation site
From the repo root:
pnpm --filter @msw-mcp/docs devOpens the local docs dev server (default Astro port, often http://localhost:4321). Production search (Pagefind) is easiest to verify after pnpm --filter @msw-mcp/docs build and pnpm --filter @msw-mcp/docs preview.
More detail: apps/docs/README.md.
Quick setup: msw-cli
Install the CLI globally:
npm install -g msw-cli(or use your package manager’s equivalent).In a new project, run
msw-cli setupand follow the printed steps for MSW +@msw-mcp/client.Start a session, then drive handlers from the shell:
msw-cli open msw-cli add "http.get('/api/user', () => HttpResponse.json({ id: 1 }))" msw-cli status msw-cli close
Full command reference, flags, and workflows: packages/msw-cli/README.md.
Quick setup: msw-mcp (MCP)
Register the server in your MCP client (example for JSON config):
{ "mcpServers": { "msw-mcp": { "command": "npx", "args": ["msw-mcp@latest"] } } }In the client, use the
/msw-setupprompt (or follow manual steps) so the browser app loadsmsw,@msw-mcp/client, and the worker bridge.
Installation options (VS Code, Claude Code, Cursor, etc.), architecture, MCP tools, and manual setup: packages/msw-mcp/README.md.
Development Scripts
Run these scripts from the root directory using pnpm:
pnpm build: Compiles all packages using Turborepo.pnpm dev: Starts the development pipelines for all packages.pnpm format: Formats the code using Prettier.pnpm lint: Runs linting checks across the repository.
Getting Started
Install dependencies:
pnpm installBuild the project:
pnpm buildUse the CLI:
You can navigate to the CLI directory or use it directly via node after building:node packages/msw-cli/build/index.js help
License
This project is licensed under the MIT License — see LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Live browser debugging for AI assistants — DOM, console, network via MCP.
AI-native mock API server with MCP. Create REST/SOAP mocks from Claude, Cursor, or Windsurf.
Remote streamable-HTTP MCP server running on a single Cloudflare Worker. Your assistant gets live Airbnb, Amazon, Booking.com, Google Flights, Maps and Reddit data, social search on X, Instagram and TikTok, the Meta Ad Library, and image/video generation without any keys. Connect your own accounts to let it send WhatsApp or Telegram messages, work an IMAP inbox, manage Meta Ads campaigns and publish to X and LinkedIn. OAuth 2.1 with PKCE; stored credentials are AES-256-GCM encrypted.
The OpenRouter MCP server plugs OpenRouter into the AI tools you already use. Once connected, your assistant can pull live OpenRouter data (models, prices, your credits, rankings, and docs) and send quick test messages, all without leaving your editor.
Related MCP Servers
- FlicenseBqualityDmaintenanceEnables AI assistants to configure and manage session-based REST and WebSocket mock servers for application development and testing. It allows for dynamic endpoint setup, request history inspection, and real-time WebSocket communication through natural language commands.8-
- AlicenseNot gradedqualityBmaintenanceEnables AI coding agents to access live console logs, errors, and network requests from web applications via a local WebSocket connection, without copying data to chat.13 npm19MIT

DOMRay MCP Serverofficial
AlicenseNot gradedqualityBmaintenanceEnables AI coding agents to inspect active authenticated browser sessions and runtime state, capture user breadcrumbs and network/error telemetry, and generate Playwright/Cypress tests or MSW mock handlers through standard MCP tools.1MIT- AlicenseNot gradedqualityCmaintenanceEnables AI agents to read sanitized test context, captured requests, rules, and logs from the InterceptPilot Chrome extension, and to propose or run actions such as enabling mocks, importing collections, or capturing tabs, all locally over a secure WebSocket.12 npmMIT