MPM-Coding
效率与工作流by halflifezyf2680
Tool-first MCP: project-anchored AST index, symbol search, impact analysis, resumable task chains.
什么是 MPM-Coding?
Tool-first MCP: project-anchored AST index, symbol search, impact analysis, resumable task chains.
README
MPM-Coding
让 AI 编程从"能演示"变成"能交付"
中文 | English
问题
AI 写代码的快乐,很容易被真实项目剥夺:
"那个函数在哪来着?" → 猜文件路径
"我觉得这样改应该没问题" → 不做影响分析
12 步的任务跑到第 7 步挂了 → 没有检查点,无法续传
"上周为什么改这个?" → 谁都说不清
MPM 不负责让模型变聪明。MPM 负责把活干完。
📄 想看工程深度? 阅读 技术白皮书 —— AST 引擎、5 层搜索降级、BFS + Dice Random Walk 影响分析、贝叶斯置信度演化……13 章拆解每一个核心设计。
安装
从 Release 安装
从 Releases 下载:
| 平台 | 文件 |
|---|---|
| Windows x64 | mpm-windows-amd64.zip |
| Linux x64 | mpm-linux-amd64.tar.gz |
| macOS Universal | mpm-darwin-universal.tar.gz |
解压。让 MCP 客户端指向 mpm-go。完事。
从 MCP Registry 安装
已在 MCP Registry 发布:io.github.halflifezyf2680/mpm-coding
从源码编译
git clone https://github.com/halflifezyf2680/MPM-Coding.git
cd MPM-Coding
powershell -ExecutionPolicy Bypass -File scripts\build-windows.ps1 # 或 ./scripts/build-unix.sh
快速开始
让 MCP 客户端指向 mcp-server-go/bin/mpm-go(.exe),然后:
1) initialize_project
2) 把生成的 _MPM_PROJECT_RULES.md 放进客户端系统规则
3) 直接提需求——AI 会自动按协议执行
就这样。工具编排交给 AI,决策权在你手上。
使用示例
把这段直接贴进 MCP 客户端:
读取 _MPM_PROJECT_RULES.md 并严格遵守。
任务:修复 UserService.getProfile 的空指针崩溃。
要求:
1. 用 code_search 定位函数
2. 用 code_impact 检查谁在调用它
3. 修复 Bug
4. 用 memo 记录为什么这样改
AI 会自动执行:initialize_project → code_search → code_impact → 改代码 → memo。
原理
定位 分析 执行 记录
┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
│ │ │ │ │ │ │ │
│ code_ │──▶│ code_ │──▶│ task_ │──▶│ memo │
│ search │ │ impact │ │ chain │ │ │
│ │ │ │ │ │ │ │
└──────────┘ └──────────┘ └──────────┘ └──────────┘
AST 精确 调用链 分阶段 SSOT
符号定位 风险评估 门控验收 变更日志
每次修改必须走:找定位 → 查影响 → 改代码 → 记原因。 不猜。不盲改。不留死角。
为什么用 AST 索引而不是 LSP
AI 编程的核心瓶颈不是模型能力,是上下文窗口里的垃圾太多。
一个 5000 文件的项目,AI 如果靠读文件来理解代码,它要么全读(token 爆炸),要么猜着读(遗漏关键依赖)。两种都是灾难。LSP 解决的是 IDE 的人机交互问题——补全、跳转、重命名。这些东西 AI 客户端自己就能做。
MPM 解决的是另一个问题:如何用最少的 token 让 AI 精确理解代码结构。
code_search 返回的是符号定义的精确位置,不是一堆 grep 结果。code_impact 返回的是调用链全景,不是让 AI 一个文件一个文件地猜谁调了它。flow_trace 返回的是业务逻辑主链路,不是目录列表。这些工具的 output 本身就构成了对上下文的清洗——只注入确定性的结构信息,把噪声过滤掉。
这就是注意力收敛:AI 不再需要在大片代码中盲目搜索,工具的输出已经把它的注意力聚焦到必须关注的那几个符号和关系上。真正有价值的不是底层用了什么解析器,而是这些结果被注入上下文后产生的作用。
工具箱
导航
| 工具 | 干什么 |
|---|---|
code_search | 精确定位符号。不是 grep,是 AST 级精确查找。 |
project_map | 一眼看到目录结构和符号清单。 |
flow_trace | 追踪函数调用链——改代码之前先看懂主链路。 |
安全
| 工具 | 干什么 |
|---|---|
code_impact | "谁调用了它?" 或 "它调用了谁?"——动手前先看爆炸半径。 |
执行
| 工具 | 干什么 |
|---|---|
task_chain | 长任务?拆成阶段,每阶段有门控验收。会话断了也能续。 |
system_hook | 被阻塞?挂个钩子,条件满足后再继续。 |
记忆
| 工具 | 干什么 |
|---|---|
memo | 记录"为什么改"。跨会话持久保留。 |
system_recall | "之前是不是修过类似的?"——搜索历史记录。 |
known_facts | KnownFact 策略引擎:行动前召回经验,行动后回写结果并进化。 |
系统
| 工具 | 干什么 |
|---|---|
initialize_project | 初始化 AST 索引 + 生成项目规则。一次性操作。 |
index_status | 查看后台索引进度。 |
ensure_languages | 下载缺失的 tree-sitter grammar。通常自动执行。 |
persona | 切换 AI 人格,适配不同场景。 |
文档
| 文档 | 说明 |
|---|---|
| docs/WHITEPAPER.md | 技术白皮书——AST 引擎、搜索策略、置信度演化、影响分析算法,看 MPM 的工程深度 |
| docs/MANUAL.md | 完整手册——全部工具、参数、案例 |
| QUICKSTART.md | 5 分钟上手指南 |
| docs/WHITEPAPER_EN.md | English whitepaper |
| docs/MANUAL_EN.md | English manual |
| README_EN.md | English overview |
架构
mcp-server-go/
├── cmd/server/main.go # 入口 (StdIO MCP Server)
├── internal/
│ ├── tools/ (14 files) # MCP 工具实现
│ ├── core/ (6 files) # 数据层 — SQLite + MemoryLayer (SSOT)
│ └── services/ # AST 索引器 (Tree-sitter, 多语言)
└── configs/ # 默认配置
- Go 1.21+ — 零 CGO,纯
modernc.org/sqlite - Tree-sitter — Rust AST 索引器,30+ 语言按需下载
- SQLite — 嵌入式存储,数据在
.mpm-data/(不提交到 git)
常见问题
| 问题 | 用什么 |
|---|---|
| 怎么找函数/类? | code_search |
| 改代码前怎么查影响范围? | code_impact |
| 怎么看懂一个模块的调用链? | flow_trace |
| 长任务怎么可靠执行? | task_chain |
| 大仓库索引进度怎么看? | index_status |
| 怎么强制全量索引? | initialize_project(force_full_index=true) |
完整手册:docs/MANUAL.md
许可证
MIT
本项目使用 tree-sitter(MIT License)进行 AST 解析。
常见问题
MPM-Coding 是什么?
Tool-first MCP: project-anchored AST index, symbol search, impact analysis, resumable task chains.
相关 Skills
技能工坊
by anthropics
覆盖 Skill 从创建到迭代优化全流程:起草能力、补测试提示、跑评测与基准方差分析,并持续改写内容和描述,提升效果与触发准确率。
✎ 技能工坊把技能从创建、迭代到评测串成闭环,方差分析加描述优化,特别适合把触发准确率打磨得更稳。
PPT处理
by anthropics
处理 .pptx 全流程:创建演示文稿、提取和解析幻灯片内容、批量修改现有文件,支持模板套用、合并拆分、备注评论与版式调整。
✎ 涉及PPTX的创建、解析、修改到合并拆分都能一站搞定,连备注、模板和评论也能处理,做演示文稿特别省心。
PDF处理
by anthropics
遇到 PDF 读写、文本表格提取、合并拆分、旋转加水印、表单填写或加解密时直接用它,也能提取图片、生成新 PDF,并把扫描件通过 OCR 变成可搜索文档。
✎ PDF杂活别再来回切工具了,文本表格提取、合并拆分到OCR识别一次搞定,连扫描件也能变可搜索。
相关 MCP Server
文件系统
编辑精选by Anthropic
Filesystem 是 MCP 官方参考服务器,让 LLM 安全读写本地文件系统。
✎ 这个服务器解决了让 Claude 直接操作本地文件的痛点,比如自动整理文档或生成代码文件。适合需要自动化文件处理的开发者,但注意它只是参考实现,生产环境需自行加固安全。
by wonderwhy-er
Desktop Commander 是让 AI 直接执行终端命令、管理文件和进程的 MCP 服务器。
✎ 这工具解决了 AI 无法直接操作本地环境的痛点,适合需要自动化脚本调试或文件批量处理的开发者。它能让你用自然语言指挥终端,但权限控制需谨慎,毕竟让 AI 执行 rm -rf 可不是闹着玩的。
by stickerdaniel
LinkedIn Profile and Job Scraper 是让 Claude 直接抓取 LinkedIn 个人资料、公司信息和职位详情的工具。
✎ 这个服务器解决了招聘和商业调研中手动复制粘贴 LinkedIn 数据的痛点,适合猎头或市场分析师快速获取候选人背景和公司动态。不过,LinkedIn 反爬机制频繁更新,数据稳定性需要持续维护,使用时建议搭配人工验证。