# MPM-Coding

Indexes code with Tree-sitter, locates symbols via AST, and maps call impacts. Keeps agent context clean in large codebases without grep noise.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed · ★ 17
- Author: halflifezyf2680
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/halflifezyf2680/MPM-Coding
- Updated: 2026-09-05
- HTML: https://affpapa.org/en/nevibecode/mcp/mpm-coding

## What it does

MPM-Coding runs a local Go daemon that parses code using Tree-sitter across 30+ programming languages. Instead of stuffing full files into the context window, it exposes AST-level lookups through `code_search` and layout outlines via `project_map`. The assistant inspects exact symbol definitions without grepping through raw text.

The workflow follows a defined sequence: locate definitions, inspect call graphs, apply edits, and record justifications. The `code_impact` tool calculates incoming and outgoing dependencies before any edit happens. Call chains can be tracked with `flow_trace`. Decisions persist in an embedded SQLite database located in `.mpm-data/`, where `memo` stores notes and `system_recall` retrieves past solutions.

The binary operates over StdIO with zero CGO dependencies. Running `initialize_project` builds the syntax index and writes workflow guidelines directly into `AGENTS.md`. Without running this initial indexing step, dependency tracing cannot map your call graph.

## Requirements
- Needs: a prebuilt binary from the repository releases

## Install

### Claude Code (native platform)

**Install**
- The MCP registry has no launch command for it: see the repository README

## When to use it
- Locate function and symbol declarations via AST
- Analyze blast radius using caller and callee graphs
- Preserve change rationale across sessions in local storage
- Trace execution call chains before editing logic

## Example prompts
- Run `initialize_project` for this workspace and verify indexing progress.
- Use `code_search` to locate `UserService.getProfile` and inspect callers with `code_impact`.
- Save the rationale for the null pointer fix using `memo`.

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 392262
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33989
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81163
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119231
- [Codebase Memory](https://affpapa.org/en/nevibecode/mcp/codebase-memory.md) — MCP server · ★ 47577
- [mcp-server](https://affpapa.org/en/nevibecode/mcp/mcp-server.md) — MCP server · ★ 43902

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
