claude-augur-mcp
Enables users to extract and review Claude's plan reasoning in Claude Code by reading plan files and providing a structured template for decisions, tradeoffs, and assumptions.
README
<img align="right" src="claude-augur.svg" alt="claude-augur-mcp" width="220">
claude-augur-mcp
A Model Context Protocol (MCP) server for plan reasoning summaries in Claude Code. Surfaces decisions, tradeoffs, and assumptions as scannable abstracts so you can correct Claude's reasoning at a glance.
<br clear="right">

Claude's reasoning about plans is invisible. When Claude writes a plan, its decisions, assumptions, and tradeoffs are buried in the document. You have to read the entire thing to find them. If Claude assumed the wrong approach or made a bad tradeoff, you won't know until implementation is underway and something breaks.
Augur reads the plan structure and returns a template that Claude fills with its actual reasoning, inline in the response rather than hidden in a collapsed tool result. You see decisions, assumptions, and tradeoffs at a glance and can correct them before a single line of code is written.
install
Requirements:
From shell:
claude mcp add claude-augur-mcp -- npx claude-augur-mcp
From inside Claude (restart required):
Add this to our global mcp config: npx claude-augur-mcp
Install this mcp: https://github.com/Vvkmnn/claude-augur-mcp
From any manually configurable mcp.json: (Cursor, Windsurf, etc.)
{
"mcpServers": {
"claude-augur-mcp": {
"command": "npx",
"args": ["claude-augur-mcp"],
"env": {}
}
}
}
There is no npm install required: no external databases, no indexing, only Node.js built-ins for filesystem access.
However, if npx resolves the wrong package, you can force resolution with:
npm install -g claude-augur-mcp
features
1 tool. Plan structure extraction. Template seeding. Inline rendering.
augur_explain
Read a plan file and return a structured template for Claude to fill with its reasoning. Claude renders the abstract inline in its response, not hidden in a collapsed tool result.
Call after writing or editing a plan file:
augur_explain plan_path="/Users/you/.claude/plans/your-plan.md"
MCP returns two content blocks:
Block 1: one-line summary, visible even when the tool result is collapsed.
your-plan.md ยท 10/18 done
Block 2: template with pre-rendered header, progress, and [FILL] markers.
โ ๐ my-project ยท your-plan.md โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Build a REST API with authentication, rate limiting,
โ and WebSocket support for real-time notifications.
โ
โ Progress โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Done (10/18): Auth scaffold, Rate limiter + 1 more
โ Next: WebSocket layer + 1 more
โ
โ Decisions โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ [FILL: 2-4 decisions, format: "โ choice โ reason"]
โ [child decisions use: " โ choice โ reason"]
โ
โ Assumptions โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ [FILL: 1-2 assumptions, format: "? statement"]
โ
โ Tradeoffs โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ [FILL: 1-2 lines, "+" for pro, "โ" for con]
โ
โ Reasoning โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ [FILL: 2-3 lines explaining WHY]
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Claude fills the template inline:
โ ๐ my-project ยท your-plan.md โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Build a REST API with authentication, rate limiting,
โ and WebSocket support for real-time notifications.
โ
โ Progress โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Done (10/18): Auth scaffold, Rate limiter + 1 more
โ Next: WebSocket layer + 1 more
โ
โ Decisions โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ Express over Fastify โ team familiarity, middleware ecosystem
โ โ Passport.js for auth โ proven, supports OAuth + JWT
โ โ Redis for rate limiting โ atomic counters, TTL built-in
โ โ ws over Socket.io โ lighter, no fallback polling needed
โ
โ Assumptions โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ? Single Redis instance sufficient for current scale
โ ? WebSocket clients handle reconnection gracefully
โ
โ Tradeoffs โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ + Redis rate limiting: sub-ms response, horizontal scaling
โ โ Extra infrastructure dependency to operate
โ
โ Reasoning โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Auth must be production-grade from day one โ Passport.js
โ handles OAuth/JWT without custom crypto. Redis rate limiting
โ chosen over in-memory because the API will be multi-process.
โ ws chosen over Socket.io to avoid 200KB bundle overhead.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
What gets extracted from the plan file:
| Field | Source | Example |
|---|---|---|
| Project name | H1 title before : |
my-project |
| Purpose | First **Primary goal**: line, or first prose paragraph |
Full text, word-wrapped |
| Sections | H2 headings (excluding Detail: sections) |
Context, Architecture, ... |
| Progress | ### Step N: headings with - [x] / - [ ] counts |
Done (10/18): Auth, Rate limiter |
| Done steps | Steps where all items are [x] |
Capped at 2 names + N more |
| Next steps | Steps with pending items | First name + N more |
methodology
How claude-augur-mcp reads plans:
๐ claude-augur-mcp
โโโโโโโโโโโโโโโโโโโ
Claude writes a plan
augur_explain
โ
โผ
โโโโโโโโโโโโโโโโโโโ
โ read plan file โ from disk (read-only)
โ (session.ts) โ
โโโโโโโโโโฌโโโโโโโโโ
โ
โโโ title โ project name (before ":")
โโโ purpose โ **Primary goal**: or first prose
โโโ sections โ H2 headings
โโโ progress โ ### Step N: with [x]/[ ] counts
โ
โโโโโโโโโโผโโโโโโโโโ
โ render template โ left-gutter format
โ (render.ts) โ [FILL] markers for Claude
โโโโโโโโโโฌโโโโโโโโโ
โ
โโโโโโโโโโโโโโดโโโโโโโโโโโโโ
โผ โผ
block 1 block 2
summary template
(visible collapsed) (Claude renders inline)
โ โ
โผ โผ
plan.md ยท 10/18 done โ ๐ project ยท plan.md โโ
โ purpose...
โ Progress โโโโโโโโโโโโ
โ Done (10/18): Auth + 1
โ Decisions โโโโโโโโโโโ
โ [FILL]
โ Assumptions โโโโโโโโโ
โ [FILL]
โโโโโโโโโโโโโโโโโโโโโโโ
TEMPLATE SEEDING:
Regex extraction of Claude's thinking blocks produces garbage:
free-form prose has no structured patterns to match.
Augur takes a different approach: extract plan structure (the
deterministic part), seed a template, let Claude fill reasoning
(the part only Claude knows). Structure from MCP, content from
Claude. Consistent format, accurate reasoning.
MCP pre-renders Claude fills
โโโโโโโโโโโโโโ โโโโโโโโโโโโ
header + purpose decisions
progress counts assumptions
section labels tradeoffs
formatting rules reasoning
Two-block return: MCP tool results get collapsed in Claude Code UI. Block 1 is a one-line summary visible even when collapsed. Block 2 is the full template that Claude renders inline in its response, visible to the user without expanding.
Read-only: augur_explain only reads the plan file. No disk writes, no state, no side effects. Works in plan mode.
Architecture:
claude-augur-mcp/
โโโ package.json
โโโ tsconfig.json
โโโ src/
โ โโโ index.ts # MCP server, 1 tool
โ โโโ types.ts # PlanStructure interface
โ โโโ session.ts # Plan file parser + step progress extractor
โ โโโ render.ts # Template generator with left-gutter format
โโโ demo/
โโโ demo.cast # asciinema recording
โโโ demo.gif # animated demo
Design principles:
- Template seeding over regex extraction: regex on thinking blocks produced garbage; template seeding lets Claude fill its own reasoning accurately
- Inline over collapsed: tool results get collapsed in Claude Code UI; inline rendering keeps the abstract visible
- Read-only: no disk writes, no state, works in plan mode
- Single tool:
augur_explaindoes one thing well; no CRUD, no storage, no insight management - Left-gutter format:
โโโโvertical bar with no right border; can't misalign, renders cleanly in any terminal width - Never truncate: purpose and header always render in full; word-wrapped, never cut
Design influences:
- Architecture Decision Records: structured format for capturing decisions with context and consequences
- Y-Statement ADR variant: concise decision format: "In context X, facing Y, we decided Z, accepting C"
- Roman Augurs: priests who interpreted signs and patterns to reveal meaning hidden from ordinary observation
development
git clone https://github.com/Vvkmnn/claude-augur-mcp && cd claude-augur-mcp
npm install && npm run build
Scripts:
| Command | Description |
|---|---|
npm run build |
TypeScript compilation (tsc && chmod +x dist/index.js) |
npm run dev |
Watch mode (tsc --watch) |
npm start |
Run MCP server (node dist/index.js) |
npm run clean |
Remove build artifacts (rm -rf dist) |
npm run typecheck |
TypeScript validation without emit |
npm test |
Type-check |
Contributing:
- Fork the repository and create feature branches
- Follow TypeScript strict mode and MCP protocol standards
Learn from examples:
- Official MCP servers for reference implementations
- TypeScript SDK for best practices
- Creating Node.js modules for npm package development
license
<hr>
<a href="https://en.wikipedia.org/wiki/Tomb_of_the_Augurs"><img src="logo/tomb-of-the-augurs.jpg" alt="Tomb of the Augurs" width="100%"></a>
<p align="center">
Tomb of the Augurs, fresco (Tarquinia, ~530 BCE). Claudius, emperor, scholar, and member of the Augural College, wrote Tyrrenika, a lost 20-volume history of Etruscan civilization and their methods of divination. The augurs' role was not to predict the future, but to interpret the signs and reveal whether a proposed course of action had merit.
</p>
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.