Local Dev Bridge MCP
Click on "Install 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., "@Local Dev Bridge MCPread the package.json file in my current project"
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.
Local Dev Bridge MCP v2.0
A shared MCP server that bridges any combination of Claude Code, Claude Desktop (Cowork), and Claude in Chrome. It gives every Claude session access to a shared local filesystem and a UAT test queue so development sessions can author browser tests and browser sessions can execute them.
Project-agnostic by design — configure PROJECTS_DIR and UAT_DIR per-developer and it works with any codebase.
What It Does
Filesystem tools — read, write, edit, search, list, and run commands against a shared project directory. Any Claude session (Code, Desktop, Chrome) can operate on the same files.
UAT queue — a file-based task queue that lets a coding session write browser test specs and a browser session execute them. No database, no server, no polling. The queue is just a directory of JSON files.
Related MCP server: Desktop Commander MCP
Setup
git clone https://github.com/talentedmrweb/local-dev-bridge-mcp.git
cd local-dev-bridge-mcp
npm installConfiguration
The MCP server takes two environment variables:
Variable | Default | Description |
|
| Base directory for relative file paths |
|
| Where the UAT queue lives |
Each developer sets these to their own workspace. The MCP itself has no opinion about project structure, team names, or URLs.
Claude Desktop / Cowork
Add to claude_desktop_config.json:
{
"mcpServers": {
"local-dev-bridge": {
"command": "node",
"args": ["/path/to/local-dev-bridge-mcp/index.js"],
"env": {
"PROJECTS_DIR": "/Users/you/Projects",
"UAT_DIR": "/Users/you/Projects/uat-queue"
}
}
}
}Claude Code
Add to your project's .claude/settings.local.json:
{
"mcpServers": {
"local-dev-bridge": {
"command": "node",
"args": ["/path/to/local-dev-bridge-mcp/index.js"],
"env": {
"PROJECTS_DIR": "/Users/you/Projects",
"UAT_DIR": "/Users/you/Projects/uat-queue"
}
}
}
}Both sessions point at the same filesystem and queue directory — that's the entire trick.
Claude in Chrome
Chrome doesn't connect to the MCP directly. Instead, Cowork (Claude Desktop) acts as the bridge — it has both the MCP for file access and Chrome for browser automation. The workflow is:
Claude Code ──writes tests──► MCP ──reads tests──► Cowork ──drives──► ChromeTools
Filesystem Tools
Tool | Description |
| Read file contents (relative to PROJECTS_DIR or absolute) |
| Create or overwrite a file |
| Find-and-replace within a file |
| List directory contents |
| Execute a shell command |
| Recursive text search across files |
UAT Queue Tools
Tool | Description |
| Queue a new test with steps, URL, priority, tags, and context |
| List pending tests (filterable by tag/priority) |
| Read full test details by ID |
| Claim a test for execution (moves pending → in-progress) |
| Record results: pass/fail/blocked/skipped with per-step details |
| Retrieve results (filterable by status/date) |
| Move a test back to pending for re-execution |
| Overview of queue counts, priorities, and pass rates |
UAT Queue
The Workflow
┌──────────────┐ uat-queue/ ┌────────────────────┐
│ Claude Code │ │ Cowork + Chrome │
│ (or any │ ──queue_test──► pending/ ──►│ (or any session │
│ coding │ │ with browser │
│ session) │ ◄──get_results── results/ ◄─│ access) │
└──────────────┘ └────────────────────┘Coding session finishes a change and queues a UAT test via
uat_queue_testBrowser session calls
uat_get_pending→uat_claim_test→ executes in browser →uat_complete_testCoding session checks results with
uat_get_resultsoruat_dashboard
This can be driven manually or automated via CLAUDE.md instructions and hooks in each project.
Test Format
Tests are JSON files with a companion .md for human readability:
{
"id": "login-flow-happy-path-a1b2c3d4",
"name": "Login flow happy path",
"url": "https://your-app.example.com/login",
"priority": "high",
"tags": ["auth", "smoke"],
"context": "Just refactored the auth middleware — verify login still works",
"steps": [
{
"action": "type",
"target": "#email",
"value": "test@example.com",
"description": "Enter email address"
},
{
"action": "click",
"target": "button[type='submit']",
"description": "Click the login button"
},
{
"action": "assert_url",
"value": "/dashboard",
"description": "Verify redirect to dashboard"
}
],
"created_at": "2026-04-06T12:00:00.000Z",
"created_by": "claude-code",
"status": "pending"
}Supported Actions
Action | Description |
| Go to a URL |
| Click an element (CSS selector or description) |
| Type text into an input |
| Select a dropdown option |
| Scroll the page or to an element |
| Wait for an element or a duration |
| Verify an element is visible |
| Verify text content matches |
| Verify the current URL |
| Take a screenshot |
| Free-form instruction for the browser agent |
Queue Directory Structure
uat-queue/
├── pending/ # Tests waiting to be run
│ ├── test-id.json
│ └── test-id.md
├── in-progress/ # Tests currently being executed
├── results/ # Completed tests with outcomes
│ ├── test-id.json
│ └── test-id.md
└── archive/ # Old results (manual cleanup)Integrating With Your Project
The MCP is project-agnostic. To wire it into a specific codebase:
1. Add the MCP to .claude/settings.local.json
{
"mcpServers": {
"local-dev-bridge": {
"command": "node",
"args": ["/path/to/local-dev-bridge-mcp/index.js"],
"env": {
"PROJECTS_DIR": "/Users/you/Projects",
"UAT_DIR": "/Users/you/Projects/uat-queue"
}
}
}
}2. Add a deploy hook (optional)
Add a PostToolUse hook to .claude/settings.local.json that reminds Claude Code to queue tests after deployment:
{
"hooks": {
"PostToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "if echo \"$CLAUDE_TOOL_INPUT\" | grep -qiE '(deploy|gcloud run|gcloud builds)'; then echo '\\n🧪 DEPLOYMENT DETECTED — Queue UAT tests before closing this session.'; fi"
}
]
}
]
}
}3. Add instructions to CLAUDE.md
Append a section to your project's CLAUDE.md telling Claude Code to:
Check
uat-queue/results/for previous test outcomes before starting workQueue tests to
uat-queue/pending/after every deploymentTell the developer to trigger browser testing in Cowork
Example section:
## UAT Queue — Post-Deployment Testing
After every deployment, you MUST:
1. Check `uat-queue/results/` for previous failures
2. Write test JSON files to `uat-queue/pending/` based on what changed
3. Tell the developer: "Tests queued. Open Cowork and say 'run UAT tests'"4. Run tests from Cowork
When the developer opens Cowork and says "run UAT tests", Cowork:
Reads pending tests via the MCP
Claims them (moves to in-progress)
Executes each step in Chrome
Writes results back to the queue
No scheduled tasks, no polling — the developer triggers it as part of their deploy workflow.
Supported Combinations
Coding Session | Testing Session | How It Works |
Claude Code | Cowork + Chrome | Most common. Code writes tests, Cowork drives Chrome. |
Cowork | Cowork + Chrome | Same session can write and execute tests. |
Claude Code | Claude Code | Code reads results from a previous Chrome session. |
Any | Any | The queue is just files. Any session with the MCP can read/write. |
License
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- 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/talentedmrweb/local-dev-bridge-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server