MPM-Coding MCP Server
io.github.halflifezyf2680/mpm-coding
AST-powered code navigation, impact analysis, and task chains for reliable AI-assisted development.
What is the MPM-Coding MCP server?
MPM-Coding is an MCP server that provides AST-based code search, impact analysis, and task-chain execution to help AI reliably navigate, understand, and modify large codebases. It uses precise symbol indexing and dependency tracking to reduce context noise and prevent blind code changes.
MPM-Coding transforms AI coding from "can demo" to "can deliver" by providing structured tools for code navigation, impact analysis, and change tracking. Instead of relying on grep or file-by-file reading, it uses Abstract Syntax Trees (AST) to precisely locate symbols, trace call chains, analyze modification impact, and maintain a persistent record of why changes were made. This is designed for multi-step coding tasks in real projects where understanding dependencies and tracking decisions matter.
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—finds function/class definitions without grep guessing.project_map— Displays directory structure and symbol inventory at a glance.flow_trace— Traces function call chains to understand the main logic flow before modifying code.code_impact— Analyzes who calls a symbol or what it calls—shows blast radius before making changes.task_chain— Executes multi-step coding tasks with checkpoints and gate-controlled validation.memo— Records the reasoning behind code changes, persisted across sessions.system_recall— Searches historical changes and experience facts to find similar past modifications.system_hook— Blocks execution until a condition is met, enabling conditional task continuation.initialize_project— One-time setup: builds AST index and generates project rules.index_status— Shows background indexing progress.ensure_languages— Downloads missing tree-sitter grammars for language support.persona— Switches AI behavior mode to adapt to different coding scenarios.
Use cases
- Locate and fix bugs in large codebases by precisely finding function definitions and tracing their callers
- Analyze the impact of code changes before modifying shared functions or APIs
- Execute multi-step refactoring tasks with checkpoints to resume if interrupted
- Maintain a persistent log of why specific code changes were made for future reference
- Understand call chains and data flow in unfamiliar modules before making modifications
MPM-Coding MCP server FAQ
MPM-Coding provides AST-based tools for code search, impact analysis, and task execution. It helps AI agents navigate large codebases precisely, understand dependencies, and track changes—reducing guesswork and context noise.
Yes, MPM-Coding is open-source under the MIT License.
Download the binary for your platform from Releases (Windows, Linux, or macOS), extract it, and point your MCP client to the `mpm-go` executable. Then run `initialize_project` once to index your codebase.
MPM-Coding uses tree-sitter and supports 30+ languages. Missing grammars are downloaded automatically via `ensure_languages`.
No, MPM-Coding runs locally with no external dependencies or authentication required.
LSP handles IDE features like autocomplete and refactoring. MPM-Coding solves a different problem: using minimal tokens to give AI precise code structure understanding through AST indexing, impact analysis, and dependency tracking.
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

MPM-Coding
AST-powered code search and impact analysis for reliable AI-driven coding workflows.

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

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.

