AutoDev MCP (Dual-Track Testing)
AutoDev MCP is a TypeScript MCP server that keeps your original CLI testing and adds an extra Chrome Dev (browser) testing track with persistent logs.
What it does
- Keeps original test flow via CLI (
run_tests) - not replaced - Adds browser test flow (
browser_*tools) via Playwright + CDP events - Persists everything to SQLite:
- sessions
- logs (cli/browser/console/error/network/assertion)
- screenshots
- Supports combined execution via
run_pipeline - After pipeline completion, automatically provides 10 requirement/optimization directions (中文输出)
Install
npm install
npm run build
Run MCP server (stdio)
npm run start
For local development:
npm run dev
Optional config: autodev.config.json
{
"projectRoot": ".",
"storage": {
"databasePath": ".autodev/logs/autodev.db",
"screenshotsDir": ".autodev/logs/screenshots"
},
"commands": {
"test": "npm test"
},
"browser": {
"headless": true,
"timeoutMs": 15000
},
"pipeline": {
"maxIterations": 3
},
"compact": {
"enabled": true,
"warningThreshold": 0.8,
"compactThreshold": 1.0,
"estimatedMaxChars": 120000
},
"git": {
"enabled": true,
"autoCommitOnFeatureComplete": true,
"defaultCommitPrefix": "feat",
"protectSensitiveFiles": true,
"sensitiveFilePatterns": [
"(^|/)\\.env(\\..*)?$",
"(^|/)credentials\\.json$",
"(^|/)secret(s)?(\\.|$)",
"(^|/).+\\.pem$",
"(^|/).+\\.key$"
]
}
}
Tool overview
CLI track (original)
run_testsgenerate_tests(stub)fix_failures(stub)
Browser track (new, additional)
browser_openbrowser_navigatebrowser_interactbrowser_assertbrowser_screenshotbrowser_get_consolebrowser_get_errorsbrowser_get_networkbrowser_close
Orchestration/query
run_pipeline(CLI first, browser optional)propose_requirements(always outputs 10 directions)check_compact(检查上下文占用并给出 none/warn/compact 建议)git_commit_feature(小功能完成后按策略提交 git)git_status_summary(查看当前仓库改动状态)test_get_session_logstest_compare_sessions
Example workflow
- Run original tests:
- call
run_tests
- call
- Start browser session:
- call
browser_openwith URL
- call
- Interact and assert:
browser_interactbrowser_assert
- Capture screenshot if needed:
browser_screenshot
- Close and finalize summary:
browser_close
- Query persisted logs:
test_get_session_logs
- Generate next-cycle demand directions:
propose_requirements
run_pipeline also includes suggestedRequirements in the final output so you can directly pick your next approved requirement.
run_pipeline now also returns compactSuggestion:
none: 上下文充足,继续执行warn: 上下文超过预警阈值(默认 80%),建议当前小任务结束后 compactcompact: 上下文达到 compact 阈值(默认 100%),建议立即 compact
run_pipeline 现在也会在测试通过后尝试执行 gitCommit:
- 若目录是 git 仓库且存在可提交改动,会自动提交
- 若不是 git 仓库,自动跳过并给出原因
- 默认会拦截疑似敏感文件(如
.env、*.pem、*.key)
测试日志与截图位置
- SQLite 数据库:
.autodev/logs/autodev.db - 截图目录:
.autodev/logs/screenshots
你可以通过 MCP 工具查看:
test_get_session_logs:按 sessionId 拉取日志、摘要、截图路径test_compare_sessions:对比两次测试结果
评分标准(需求方向)
每条方向的评分由以下字段组成:
impact:影响面(1-10)confidence:把握度(1-10)effort:工作量映射分值(S=2, M=5, L=8)
公式:
priorityScore = (impact × confidence) / effort
分数越高,优先级越高。
Notes
- Browser track is explicitly additive and independent from original CLI tests.
generate_testsandfix_failuresare stubs in this version and intentionally logged for future extension.- Requirement generation is evidence-based (sessions/logs/assertions/errors) and returns exactly 10 scored directions each cycle (中文输出).