claude-engineering-coach
An MCP server plugin for Claude Code that analyzes local AI session logs to provide coaching on coding patterns, tool usage, and productivity insights via tools and slash commands.
README
claude-engineering-coach
A native Claude Code plugin that coaches you on your AI-assisted coding —
without leaving the Claude Code terminal. Get usage summaries, anti-pattern
coaching, tool comparisons, and flow analysis via MCP tools and /coach:*
slash commands. (It can still read Codex / OpenCode / Copilot sessions too, but it
runs inside Claude Code.)
Local-only · read-only · zero telemetry.
Reuses the analytics core of Microsoft's AI Engineering Coach — but that is a VS Code / GitHub Copilot extension. This one is built for Claude Code: it ships as a Claude Code plugin, so the coaching lives where you already work. MIT-licensed. Not affiliated with, sponsored by, or endorsed by Microsoft. See
NOTICE.
What it does
It reads your on-disk AI session logs (e.g. ~/.claude/projects/**/*.jsonl) and
turns them into actionable coaching:
/coach:summary— sessions, output, and your top anti-patterns/coach:improve— prioritized, evidence-backed recommendations/coach:compare— your AI tools side-by-side (sessions, LOC, models, cancel rates)/coach:flow— deep-work scores, best hours, session continuity
Claude can also call the underlying tools on its own — just ask "how was my coding this week, and what should I improve?"
Nothing leaves your machine: the server parses your logs in-process, redacts secrets before any output reaches the model, and never writes to your session files.
Install
Requires Node ≥ 18 (the bundled MCP server runs with node). No npm install
needed — the server bundle and rule assets are committed.
Easiest — install straight from GitHub (no local path)
In an interactive Claude Code session:
/plugin marketplace add nnhhoang/claude-engineering-coach
/plugin install coach@devempower-coach
/reload-plugins
Here marketplace add points at the GitHub repo (owner/repo), so there is
no folder path to fill in. The marketplace name devempower-coach is read from
.claude-plugin/marketplace.json; you use it in the install coach@devempower-coach
step. Choose a scope when prompted (Local is fine for yourself).
Local dev — clone and load directly
git clone https://github.com/nnhhoang/claude-engineering-coach.git
cd claude-engineering-coach
claude --plugin-dir .
The . means "this folder" — nothing to fill in. Loads the plugin (commands +
MCP server) for that session only.
Note: an earlier draft showed
/plugin marketplace add /path/to/claude-engineering-coach. That/path/to/...was just a placeholder for "wherever you cloned it" — the two methods above avoid it entirely (one usesowner/repo, the other uses.).
Verify
/mcp
You should see the coach server connected with 13 tools. Then run:
/coach:summary
MCP tools (13)
coach_summary, coach_activity, coach_credits, coach_codeProduction,
coach_flow, coach_patterns, coach_insights, coach_wellbeing,
coach_workflows, coach_harnessComparison, coach_sessions,
coach_contextHealth, and coach_reload (re-read logs after new sessions).
When no date range is given, tools default to the last 90 days. Pass
fromDate / toDate (ISO YYYY-MM-DD) to widen or narrow.
How it works
core/ vendored analytics (parsers, analyzers, 45 rule + 10 metric .md)
└─ formatters.ts pure formatter functions
mcp/
├─ tool-defs.ts 12 tools (+ 90-day default + secret redaction)
├─ analyzer-cache.ts lazy, cached Analyzer over parseAllLogs(findLogsDirs())
├─ server.ts MCP stdio server (list / call / reload)
└─ dist/server.mjs committed esbuild bundle (+ rules/ + metrics/ assets)
commands/ /coach:summary · improve · compare · flow
.claude-plugin/ plugin.json + marketplace.json
.mcp.json registers the bundled "coach" server
The analytics engine is reused verbatim from upstream (it was already VS Code-free).
Only the integration layer (mcp/) and packaging are new.
Rebuild after changing mcp/** or re-vendoring core/
npm install # first time only
npm run build # → mcp/dist/server.mjs (+ copies rule/metric assets)
npm test # core-smoke, tool-defs, analyzer-cache, server.e2e
The build commits its output (mcp/dist/) so the plugin runs on a fresh clone
with only node.
Attribution & license
This project vendors the analytics core of
microsoft/ai-engineering-coach
(MIT). Vendored files under core/ keep their original Microsoft copyright
headers; see NOTICE and VENDOR.md for the exact upstream commit.
Licensed under the MIT License. Not affiliated with Microsoft.
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.