Skip to main content
Glama

MPM-Coding

让 AI 编程从"能演示"变成"能交付"

中文 | English

License Go MCP Platform Languages


问题

AI 写代码的快乐,很容易被真实项目剥夺:

"那个函数在哪来着?"               → 猜文件路径
"我觉得这样改应该没问题"            → 不做影响分析
12 步的任务跑到第 7 步挂了         → 没有检查点,无法续传
"上周为什么改这个?"               → 谁都说不清

MPM 不负责让模型变聪明。MPM 负责把活干完

📄 想看工程深度? 阅读 技术白皮书 —— AST 引擎、5 层搜索降级、BFS + Dice Random Walk 影响分析、贝叶斯置信度演化……13 章拆解每一个核心设计。


Related MCP server: Heimdall MCP Server

安装

从 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_projectcode_searchcode_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 Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides AI coding assistants with persistent, context-rich memory of a codebase, including documentation and git history, enabling recall across sessions.
    104
    Apache 2.0
  • A
    license
    A
    quality
    B
    maintenance
    Provides persistent memory and a codebase knowledge graph for AI coding assistants, enabling shared context across multiple tools like Claude, Cursor, and ChatGPT, with significant token reduction.
    5
    18 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides AI coding assistants with deep, semantic understanding of local codebases via AST-aware chunking, cross-repo symbol graphs, and architectural memory, enabling context-aware code search and dependency tracing.
    10
    MIT