mrt-fe复习洗衣机
像CodeRabbit一样 “保存/查看评论结果” 然后, 通过Task管理进行系统修改可以做到的 以韩语为中心的MCP服务器是。
🦐 mcp虾任务经理 内置Task管理风格!
核心理念:与其此服务器内置LLM“自动生成”评论,\ MCP主机(Claude Code/Cline/Claude Desktop等)的模型创建评论。\ 服务器 diff/提供规则+保存/查看结果+管理Task负责。
需求
- Node.js 18+
- git(用于diff收集)
安装/构建
npm i
npm run build📋 规则文件管理(集中式)
FE引线Gay MCP服务器的 templates/rules.ko.md 直接管理文件。
mrt-fe-review-washer/
└── templates/
└── rules.ko.md ← FE 리드가 관리하는 "원본"- 所有项目 一个规则文件共享
- 更改规则时,只需更新MCP服务器即可立即反映到所有项目中
- 无需管理项目特定的副本
.mcp.json连接(示例)
以以下形式在项目(或自定义)中注册:
很多MCP主机 绝对路径要求。
{
"mcpServers": {
"mrt-fe-review-washer": {
"command": "node",
"args": ["/ABS/PATH/TO/mrt-fe-review-washer/dist/index.js"],
"env": {
"REPO_PATH": "/ABS/PATH/TO/YOUR/REPO"
}
}
}
}环境变量
| 变量 | 说明 | 默认值 |
|---|---|---|
REPO_PATH | 评论目标项目路径(在Tool中 repoPath可覆盖) | 当前工作目录 |
DATA_DIR | 评论/Task数据存储路径 | ${REPO_PATH}/.review-data |
REVIEW_RULES_PATH | 规则文件路径(自定义) | templates/rules.ko.md (在MCP服务器中) |
💡review.collect_diff哇review.make_prompt在Tool中repoPath指定参数时,环境变量REPO_PATH可以覆盖。
代码审查标准(5种)
此MCP服务器包括: 5个标准根据进行代码审查:
1.可读性(Readability)
- 不一起运行的代码不是混合在一个函数/组件中吗?
- 是否对实施细节进行了适当的抽象?
- 复杂的条件是否有意义的名称?
- 魔力号码上有名字吗?
- 三项运算符是否使用简单?
2.可预测性(Predictability)
- 具有相同名称的函数/变量是否具有相同的行为?
- 同一类函数的返回类型是否统一?
- 没有隐藏的逻辑,动作是否显式地显示出来?
3.凝聚度(Cohesion)
- 一起修改的文件是否在同一目录中?
- 每个域是否有适当的代码隔离?
- 魔力号码被定义为常数,在一个地方管理吗?
4.结合度(Coupling)
- 一个函数/Hook只有一个责任吗?
- 不是在一个地方管理整个页面的状态吗?
- Props Drilling不会发生吗?
5.微观观点(Micro Perspective)
- 是否一致使用有条件的渲染模式? (ts-pattern, Show, SwitchCase)
- 是否符合使用全局状态的标准?
- TypeScript类型定义是否符合会议要求?
- 是否明确使用默认类型转换?
推荐工作流
1生成评论
1) diff 수집 → review.collect_diff
2) 프롬프트 생성 → review.make_prompt
3) (LLM이 리뷰 JSON 생성)
4) 리뷰 저장 → review.save2 Task管理(评论→修改)
5) 리뷰를 Task로 변환 → task.from_review
6) Task 목록 확인 → task.list
7) Task 실행 시작 → task.execute
8) (코드 수정)
9) Task 검증 → task.verify
10) Task 완료 → task.complete详细流程: docs/WORKFLOW_KO.md
提供工具
审查工具
| Tool | 说明 | 主要参数 |
|---|---|---|
review.collect_diff | 收集git diff | repoPath?, base?, head? |
review.make_prompt | 创建评论提示包(包括5个条件) | repoPath?, base?, head?, maxDiffChars? |
review.save | 保存评论(包括criteria_feedback、test_stensions) | target, summary_ko, findings, ... |
review.list | 评论列表 | limit? |
review.get | 查询评论详情 | id |
review.export_markdown | 标记转换 | id |
review.debug.env 检查环境变量- |
任务工具
| Tool | 说明 | 主要参数 |
|---|---|---|
task.from_review | 评论发现→Task转换 | review_id |
task.create | 手动创建Task | title, description, ... |
task.list | Task列表(按状态筛选) | status?, limit? |
task.get | Task详细信息查询 | id |
task.execute 开始运行Task | id | |
task.verify | Task验证 | id |
task.complete 完成Task | id, verification_note? | |
task.delete | 删除Task | id |
task.update_status | 更改Task状态 | id, status |
task.stats | Task统计信息-- |
评论数据模式
review.save存储为的评论数据结构:
{
"target": {
"base": "main",
"head": "HEAD"
},
"summary_ko": "변경 사항에 대한 간략한 요약(한국어)",
"risk": "low | medium | high",
"criteria_feedback": {
"readability": {
"good": ["잘된 점 1", "잘된 점 2"],
"improve": ["개선 필요한 점 1"]
},
"predictability": { "good": [], "improve": [] },
"cohesion": { "good": [], "improve": [] },
"coupling": { "good": [], "improve": [] },
"micro_perspective": { "good": [], "improve": [] }
},
"findings": [
{
"severity": "low | medium | high",
"category": "readability | predictability | cohesion | coupling | micro_perspective",
"file": "파일 경로",
"startLine": 1,
"endLine": 10,
"title_ko": "짧은 제목",
"detail_ko": "설명 + 근거 + 왜 중요한지",
"suggestion_patch_diff": "diff 텍스트(선택)"
}
],
"test_scenarios": [
"권장 테스트 시나리오 1",
"권장 테스트 시나리오 2"
]
}提供资源
| Resource | 说明 |
|---|---|
rules://active | 活动规则文件 |
reviews://index | 评论索引 |
reviews://latest | 最新评论 |
tasks://index | Task索引 |
tasks://pending | 正在等待的Task |
tasks://in_progress | 正在进行的Task |
提供Prompts
| Prompt | 说明 |
|---|---|
review | 代码评论模板 |
task-execute | Task执行指南 |
task-plan | 制定Task计划 |
存储位置
${DATA_DIR}/
├── reviews/
│ └── rev_*.json # 리뷰 결과
└── tasks/
└── task_*.json # Task 데이터默认: ${REPO_PATH}/.review-data/
