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.
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
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Appeared in Searches
Latest Blog Posts
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