MPM-Coding MCP Server
io.github.halflifezyf2680/mpm-vibe-coding
AST-powered code search and impact analysis for reliable AI-driven coding workflows.
What is the MPM-Coding MCP server?
MPM-Coding is an MCP server that provides AST-based code navigation and impact analysis tools for AI-assisted development. It enables precise symbol location, dependency tracking, and multi-step task execution with checkpoints, turning AI coding from "can demo" to "can deliver" on real projects.
MPM-Coding solves the gap between AI's coding ability and production-ready delivery by providing structural code understanding without token bloat. It uses Tree-sitter AST indexing to enable precise symbol search, impact analysis, and call-chain tracing—letting AI understand large codebases efficiently and execute multi-step refactoring tasks with built-in checkpoints, memos, and decision gates.
How to install MPM-Coding
Copy-paste configuration for popular MCP clients.
Tools & capabilities
Tools this server exposes to the agent.
code_search— Precise AST-level symbol location—find function/class definitions without grep guessing.code_impact— Analyze caller/callee relationships—see the blast radius before modifying code.flow_trace— Trace function call chains to understand business logic flow before making changes.project_map— View directory structure and symbol inventory at a glance.memo— Record the reasoning behind code changes—persistent across sessions.system_recall— Search historical memos and experience facts to avoid repeating past mistakes.system_hook— Set conditional breakpoints—pause execution until conditions are met.initialize_project— Initialize AST indexing and generate project rules—one-time setup.index_status— Check background indexing progress for large codebases.ensure_languages— Download missing Tree-sitter grammars for language support.persona— Switch AI behavior profiles for different coding scenarios.task_chain— Execute multi-step coding tasks with stage-based validation and checkpoints.
Use cases
- Fix bugs by locating functions, analyzing impact, and recording why changes were made
- Refactor large codebases by understanding call chains and dependency relationships before modifying code
- Execute multi-step coding tasks with checkpoints so long-running workflows can resume if interrupted
- Search project symbols and structure efficiently without overwhelming the AI's context window
- Track code change rationale and reuse solutions from historical memos across sessions
MPM-Coding MCP server FAQ
MPM-Coding is an MCP server that provides AST-based code analysis tools (search, impact analysis, call tracing) to help AI reliably execute multi-step coding tasks on real projects without guessing or leaving blind spots.
Yes, MPM-Coding is open-source under the MIT license.
Download the binary for your platform from Releases (Windows/Linux/macOS), extract it, and point your MCP client to the `mpm-go` executable. Then run `initialize_project` once to index your codebase.
30+ languages via Tree-sitter (JavaScript, Python, Go, Java, C++, Rust, etc.). Grammars are downloaded on-demand via `ensure_languages`.
No. MPM-Coding is a local-only server that indexes your project files using SQLite. No external services or API keys required.
It uses AST indexing instead of full-file reading, so it injects only precise structural information into the AI's context—avoiding token bloat while maintaining accuracy.
README (reference)
Source of truth, from the repository.
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 协议会自动注入项目根 AGENTS.md 顶部,客户端自动加载
3) 直接提需求——AI 会自动按协议执行
就这样。工具编排交给 AI,决策权在你手上。
使用示例
把这段直接贴进 MCP 客户端:
任务:修复 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 | "谁调用了它?" 或 "它调用了谁?"——动手前先看爆炸半径。 |
执行
| 工具 | 干什么 |
|---|---|
system_hook | 被阻塞?挂个钩子,条件满足后再继续。 |
记忆
| 工具 | 干什么 |
|---|---|
memo | 记录"为什么改"。跨会话持久保留。 |
system_recall | "之前是不是修过类似的?"——搜索历史与经验事实表(fact 优先展示,写入下一轮即生效)。 |
系统
| 工具 | 干什么 |
|---|---|
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 |
| 大仓库索引进度怎么看? | index_status |
| 怎么强制全量索引? | initialize_project(force_full_index=true) |
完整手册:docs/MANUAL.md
许可证
MIT
本项目使用 tree-sitter(MIT License)进行 AST 解析。
Related MCP servers

Skill Shelf (Rust singleton daemon)
Progressive group routing for 524 professional skills via Rust daemon stdio shim.

MPM-Coding
AST-powered code navigation, impact analysis, and task chains for reliable AI-assisted development.

134 paid APIs as MCP tools, billed per call in USDC on Base. No account, no login.

io.github.halversondm/jolt-transform-web
An MCP server that provides bazaarvoic JOLT transformation capabilities.
Universal agent commerce gateway with 18 MCP tools, A2A, x402, UCP, revenue and provider health.
View repository →Wraps Claude Code CLI as MCP tools: query, search, structured, ping, listSessions.

