本地开发桥MCP v2.0
一个共享的MCP服务器,可以桥接Chrome中的Claude Code、Claude Desktop(Cowork)和Claude的任何组合。它允许每个Claude会话访问共享的本地文件系统 和 UAT测试队列,以便开发会话可以编写浏览器测试,浏览器会话可以执行它们。
设计上与项目无关——配置 PROJECTS_DIR 和 UAT_DIR 每个开发人员,它适用于任何代码库。
它的作用
文件系统工具 --对共享项目目录进行读取、写入、编辑、搜索、列出和运行命令。任何Claude会话(代码、桌面、Chrome)都可以对相同的文件进行操作。
UAT队列 --一个基于文件的任务队列,允许编码会话编写浏览器测试规范,浏览器会话执行这些规范。没有数据库,没有服务器,没有轮询。队列只是JSON文件的目录。
设置
git clone https://github.com/talentedmrweb/local-dev-bridge-mcp.git
cd local-dev-bridge-mcp
npm install配置
MCP服务器有两个环境变量:
| 变量 | 默认值 | 描述 |
|---|---|---|
PROJECTS_DIR | ~/Desktop/Projects | 相对文件路径的基本目录 |
UAT_DIR | $PROJECTS_DIR/uat-queue | UAT队列所在的位置 |
每个开发人员都将这些设置到自己的工作区。MCP本身对项目结构、团队名称或URL没有意见。
克劳德桌面/协作
添加 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/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"
}
}
}
}两个会话都指向同一个文件系统和队列目录——这就是全部诀窍。
Chrome中的克劳德
Chrome不会直接连接到MCP。相反,Cowork(Claude Desktop)充当了桥梁——它既有用于文件访问的MCP,也有用于浏览器自动化的Chrome。工作流程为:
Claude Code ──writes tests──► MCP ──reads tests──► Cowork ──drives──► Chrome工具
文件系统工具
| 工具 | 说明 |
|---|---|
read_file | 读取文件内容(相对于PROJECTS_DIR或绝对) |
write_file | 创建或覆盖文件 |
edit_file | 在文件中查找和替换 |
list_directory | 列出目录内容 |
run_command | 执行shell命令 |
search_files | 跨文件递归文本搜索 |
UAT队列工具
| 工具 | 说明 |
|---|---|
uat_queue_test | 使用步骤、URL、优先级、标签和上下文对新测试进行排队 |
uat_get_pending | 列出待处理的测试(可按标签/优先级筛选) |
uat_get_test | 按ID阅读完整的测试详细信息 |
uat_claim_test | 请求执行测试(移动待定→ 进行中) |
uat_complete_test | 记录结果:通过/失败/被阻止/跳过,包括每一步的详细信息 |
uat_get_results | 检索结果(可按状态/日期筛选) |
uat_reset_test | 将测试移回待定状态以重新执行 |
uat_dashboard | 队列计数、优先级和通过率概述 |
UAT队列
工作流程
┌──────────────┐ uat-queue/ ┌────────────────────┐
│ Claude Code │ │ Cowork + Chrome │
│ (or any │ ──queue_test──► pending/ ──►│ (or any session │
│ coding │ │ with browser │
│ session) │ ◄──get_results── results/ ◄─│ access) │
└──────────────┘ └────────────────────┘- 编码会话 通过以下方式完成更改并排队UAT测试
uat_queue_test - 浏览器会话 电话
uat_get_pending→uat_claim_test→ 在浏览器中执行→uat_complete_test - 编码会话 检查结果
uat_get_results或uat_dashboard
这可以通过CLAUDE.md指令和每个项目中的钩子手动或自动驱动。
测试格式
测试是JSON文件,带有配套文件 .md 为了人类可读性:
{
"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"
}支持的操作
| 动作 | 描述 |
|---|---|
navigate | 转到URL |
click | 单击元素(CSS选择器或描述) |
type | 在输入中键入文本 |
select | 选择下拉选项 |
scroll | 滚动页面或至某个元素 |
wait | 等待一个元素或持续时间 |
assert_visible | 验证元素是否可见 |
assert_text | 验证文本内容是否匹配 |
assert_url | 验证当前URL |
screenshot | 截图 |
custom | 浏览器代理的自由形式指令 |
队列目录结构
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)与您的项目集成
MCP与项目无关。要将其连接到特定的代码库中,请执行以下操作:
1.将MCP添加到 .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.添加部署挂钩(可选)
添加PostTool使用钩子 .claude/settings.local.json 这提醒Claude Code在部署后对测试进行排队:
{
"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.向CLAUDE.md添加说明
将一个部分附加到项目的 CLAUDE.md 告诉克劳德代码:
- 检查
uat-queue/results/开始工作前的先前测试结果 - 队列测试
uat-queue/pending/每次部署后 - 告诉开发人员在Cowork中触发浏览器测试
示例部分:
## 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.从Cowork运行测试
当开发人员打开Cowork并说“运行UAT测试”时,Cowork:
- 通过MCP读取待定测试
- 索赔(转移到进行中)
- 在Chrome中执行每个步骤
- 将结果写回队列
没有计划任务,没有轮询——开发人员将其作为部署工作流的一部分触发。
支持的组合
| 编码会话 | 测试会话 | 工作原理 |
|---|---|---|
| 克劳德代码 | 协作+Chrome | 最常见。代码编写测试,Cowork驱动Chrome。 |
| Cowork | Cowork+Chrome | 同一会话可以编写和执行测试。 |
| 克劳德代码 | 克劳德代码 | 代码读取前一个Chrome会话的结果。 |
| Any | Any | 队列只是文件。与MCP的任何会话都可以读/写。 |
许可证
麻省理工学院
