Skip to main content
Glama
wow-monkey

前端预开发全流程

dev-workflow-mcp

一个把「需求处理流程」变成强制状态机的 MCP server:clarify → awaiting_confirm → implementing → review → done,用工具调用而不是自觉来约束 AI 什么时候能改文件。

它与 chrome-devtools-mcp 搭配使用:流程约束由它负责,页面效果的自动化验证交给浏览器。

license node mcp chrome-devtools

这是什么

AI 编码助手最容易出问题的地方,不是不会写代码,而是没搞清楚需求就动手改文件。

dev-workflow-mcp 把需求处理拆成五个阶段,并且用 canModifyFiles 标记每个阶段是否允许写文件。AI 每次调用 edit / write 之前必须先问一次 assert_can_modify(),不通过就得停下来,先回去梳理需求、等用户确认。

状态持久化在本地 JSON 文件里,跨会话、跨重启都不丢。

但它只解决「什么时候可以动手」,不解决「改完到底对不对」。后者交给 chrome-devtools-mcp:AI 自己打开浏览器,走完整个业务流程,截图给你确认,人不用手动点任何一下。

Related MCP server: mcp-garendesign

状态机

#

步骤

含义

允许改文件

0

clarify

需求梳理:只读源码,输出涉及文件 / 影响面 / 方案 / 风险

否

1

awaiting_confirm

等待用户确认梳理结果

否

2

implementing

按确认后的方案修改文件

是

3

review

关联检查:核对改动的全部引用方,并在浏览器里跑一遍完整流程截图验证

是

4

done

完成

否

提供的工具

工具

参数

作用

get_current_step

—

返回当前步骤、序号、描述、canModifyFiles、更新时间

set_step

step(枚举)

切换到任意步骤,用于回退或跳步

advance

—

顺序进入下一步;已在最后一步时返回提示而非报错

reset

—

重置回 clarify,接到新需求时使用

assert_can_modify

—

写文件前的强约束断言,不允许时返回 isError

list_workflow

—

列出全部步骤定义与当前所处位置

所有工具调用都被内部队列串行化,避免并发读写状态文件造成竞态。

配合 chrome-devtools 使用

dev-workflow-mcp 管的是流程纪律,它看不见页面。如果只挂这一个 MCP,review 阶段就只能靠读代码猜效果——这正是幻觉最喜欢钻的空子。

所以它被设计成必须与浏览器 MCP 配合使用,推荐 chrome-devtools-mcp:让 AI 在流程的每个节点都能真实地打开页面、操作界面、截图核对。

职责分工

能力

dev-workflow-mcp

chrome-devtools-mcp

推进 / 回退流程阶段

✅

—

拦截未确认就写文件

✅

—

提供「停下等人确认」的断点

✅

—

打开页面、导航、刷新

—

✅

点击按钮、填写表单、登录

—

✅

截图取证、读取控制台报错

—

✅

一次完整的需求闭环

以「给系统加一个表格字段」为例,两个 MCP 交替接管:

阶段

谁在干活

具体动作

clarify

dev-workflow

AI 只读代码,输出涉及文件、影响面、方案、风险

awaiting_confirm

chrome-devtools + dev-workflow

AI 打开页面截当前状态图,连同方案一起给你,流程停在这里等你点头

implementing

dev-workflow

用户批准后才允许 edit / write

review

chrome-devtools

AI 重新打开页面,自动走完整业务链路:登录 → 进入菜单 → 点新建 → 填字段 → 保存 → 查列表,逐步截图并读控制台报错

done

dev-workflow

截图与预期一致,收尾

浏览器全程由 AI 操作

这是这套组合最关键的一点:验证过程没有人工介入的中间环节。

  • 打开哪个页面、点哪个按钮、填什么值,由 AI 根据 clarify 阶段确认过的方案自己决定;

  • 遇到登录、弹窗、二次确认、异步加载,AI 通过浏览器工具自己处理,不会卡在「请手动点一下」;

  • 页面出问题不看截图猜,直接读控制台日志定位,必要时用脚本读取 DOM 状态;

  • 人只在 awaiting_confirm 看一眼截图、说一句「可以」,剩下的从执行到验收全部自动化。

带来的变化很直接:验收标准从「AI 说改好了」变成「截图在这里,整条业务流程跑通了」。

同时挂载两个 MCP

OpenCode(~/.config/opencode/opencode.json,Windows 为 C:\Users\<用户名>\.config\opencode\opencode.json):

{
  "mcp": {
    "dev-workflow": {
      "type": "local",
      "command": ["node", "C:/Users/<用户名>/.config/opencode/workflow-mcp/index.js"]
    },
    "chrome-devtools": {
      "type": "local",
      "command": ["npx", "-y", "chrome-devtools-mcp@latest"]
    }
  }
}

Claude Desktop(claude_desktop_config.json):

{
  "mcpServers": {
    "dev-workflow": {
      "command": "node",
      "args": ["C:/Users/<用户名>/.config/opencode/workflow-mcp/index.js"]
    },
    "chrome-devtools": {
      "command": "npx",
      "args": ["-y", "chrome-devtools-mcp@latest"]
    }
  }
}

chrome-devtools-mcp 通过 npx 拉取最新版,无需预装依赖,首次启动会自动下载。

安装

git clone https://github.com/wow-monkey/dev-workflow-mcp.git
cd dev-workflow-mcp
npm install

本项目自身只有两个运行时依赖:@modelcontextprotocol/sdk 与 zod。浏览器能力由 chrome-devtools-mcp 提供,两者互不耦合,删掉其中一个另一个仍可独立运行。

接入客户端

下面是最小配置,只挂流程约束。要与浏览器验证配合使用,参考上一节的完整版本。

OpenCode

编辑 ~/.config/opencode/opencode.json(Windows 为 C:\Users\<用户名>\.config\opencode\opencode.json):

{
  "mcp": {
    "dev-workflow": {
      "type": "local",
      "command": ["node", "C:/Users/<用户名>/.config/opencode/workflow-mcp/index.js"]
    }
  }
}

Claude Desktop

编辑 claude_desktop_config.json:

{
  "mcpServers": {
    "dev-workflow": {
      "command": "node",
      "args": ["C:/Users/<用户名>/.config/opencode/workflow-mcp/index.js"]
    }
  }
}

重启客户端后,在工具列表里应该能看到 dev-workflow 的 6 个工具。

状态文件

运行状态写在:

~/.config/opencode/workflow-state.json

内容形如:

{
  "currentStep": "clarify",
  "updatedAt": "2026-10-28T09:12:33.000Z",
  "history": [
    { "from": "clarify", "to": "awaiting_confirm", "at": "2026-10-28T09:12:33.000Z" }
  ]
}

history 最多保留最近 50 条。文件损坏时会自动回退到默认状态,不会让服务崩溃。这个文件属于使用者本地数据,已在 .gitignore 中排除。

目录结构

workflow-mcp/
├── index.js            # 服务入口,stdin/stdout stdio 传输
├── package.json
├── .gitignore
├── LICENSE
└── README.md

License

MIT © 2026 wow-monkey

Related MCP Connectors

Related MCP Servers