Skip to content

Commit 8bc17fb

Browse files
authored
Merge pull request #87 from debugmcp/docs/readme-refresh
docs: refresh README — sharper positioning, drop stale content
2 parents 72a59b0 + 6694487 commit 8bc17fb

1 file changed

Lines changed: 14 additions & 83 deletions

File tree

‎README.md‎

Lines changed: 14 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<img src="assets/logo.png" alt="MCP Debugger Logo - A stylized circuit board with debug breakpoints" width="400" height="400">
55
</div>
66

7-
**MCP server for multi-language debugging – give your AI agents debugging superpowers** 🚀
7+
**A headless, agentic debugger over MCP — let your AI agents debug running programs in six languages.**
88

99
[![CI](https://github.com/debugmcp/mcp-debugger/actions/workflows/ci.yml/badge.svg)](https://github.com/debugmcp/mcp-debugger/actions/workflows/ci.yml)
1010
[![codecov](https://codecov.io/gh/debugmcp/mcp-debugger/branch/main/graph/badge.svg)](https://codecov.io/gh/debugmcp/mcp-debugger)
@@ -15,62 +15,34 @@
1515

1616
## 🎯 Overview
1717

18-
mcp-debugger is a Model Context Protocol (MCP) server that provides debugging tools as structured API calls. It enables AI agents to perform step-through debugging of multiple programming languages using the Debug Adapter Protocol (DAP).
18+
mcp-debugger is a Model Context Protocol (MCP) server that exposes step-through debugging as structured tool calls. It lets AI agents set breakpoints, inspect variables, evaluate expressions, and step through running programs across six languages — driving real language debuggers through the Debug Adapter Protocol (DAP).
1919

20-
> 🆕 Version 0.19.0: Java debugging via JDI bridge with launch and attach modes! Plus Go debugging with Delve.
21-
22-
> 🆕 Version 0.17.0: Rust debugging support! Debug Rust programs with CodeLLDB on Linux/macOS, including Cargo projects, async code, and full variable inspection—plus step commands now return the active source context so agents keep their place automatically.
23-
24-
> 🔥 Version 0.16.0: JavaScript/Node.js debugging support! Full debugging capabilities with bundled js-debug, TypeScript support, and zero-runtime dependencies via improved npx distribution.
25-
26-
> 🎬 **Demo Video**: See the debugger in action!
27-
>
28-
> *Recording in progress - This will show an AI agent discovering and fixing the variable swap bug in real-time*
29-
>
30-
> <!-- To capture this demo, see examples/visualizer/demo_script.md -->
31-
> <!-- Uncomment when demo.gif is available:
32-
> <div align="center">
33-
> <img src="assets/demo.gif" alt="MCP Debugger Demo - AI agent debugging Python code">
34-
> <br>
35-
> <em>AI agent discovering and fixing a variable swap bug in real-time</em>
36-
> </div>
37-
> -->
20+
> 🆕 **v0.21.0** — the minimum runtime is now **Node.js 22+** (Node 20 reached end-of-life). See the [CHANGELOG](./CHANGELOG.md) for the full release history.
3821
3922
## ✨ Key Features
4023

4124
- 🌐 **Multi-language support** – Clean adapter pattern for any language
4225
- 🐍 **Python debugging via debugpy** – Full DAP protocol support
4326
- 🟨 **JavaScript (Node.js) debugging via js-debug** – VSCode's proven debugger
44-
- 🦀 **Rust debugging via CodeLLDB** – Debug Rust & Cargo projects (Linux/macOS/Windows with GNU toolchain)
27+
- 🦀 **Rust debugging via CodeLLDB** – Debug Rust & Cargo projects (Linux/macOS; Windows needs the GNU toolchain — see [Rust on Windows](docs/rust-debugging-windows.md))
4528
- 🐹 **Go debugging via Delve** – Full DAP support for Go programs
4629
- ☕ **Java debugging via JDI bridge** – Launch and attach modes with JDK 21+
4730
- 🔷 **.NET/C# debugging via netcoredbg** – Debug .NET applications with full DAP support
48-
> WARNING: On Windows, use the GNU toolchain for full variable inspection. Run `mcp-debugger check-rust-binary <path-to-exe>` to verify your build and see [Rust Debugging on Windows](docs/rust-debugging-windows.md) for detailed guidance.
49-
> NOTE: The published npm bundle ships the Linux x64 CodeLLDB runtime to stay under registry size limits. On macOS or Windows, point the `CODELLDB_PATH` environment variable at an existing CodeLLDB installation (for example from the VSCode extension) or clone the repo and run `pnpm --filter @debugmcp/adapter-rust run build:adapter` to vendor your platform binaries locally.
50-
51-
### Windows Rust Setup Script
52-
53-
If you're on Windows and want the quickest path to a working GNU toolchain + dlltool configuration, run:
54-
55-
```powershell
56-
pwsh scripts/setup/windows-rust-debug.ps1
57-
```
58-
59-
The script installs the `stable-gnu` toolchain (via rustup), sets up `dlltool.exe` (preferring MSYS2/MinGW when available, falling back to rustup's self-contained copy), builds the bundled Rust examples, and runs the Rust smoke tests by default. Add `-SkipTests` to opt out of running tests. Add `-UpdateUserPath` if you want the dlltool path persisted to your user PATH/DLLTOOL variables.
60-
61-
The script will also attempt to provision an MSYS2-based MinGW-w64 toolchain (via winget + pacman) so `cargo +stable-gnu` has a fully functional `dlltool/ld/as` stack. If MSYS2 is already installed, it simply reuses it; otherwise it guides you through installing it (or warns so you can install manually).
6231
- 🧪 **Mock adapter for testing** – Test without external dependencies
32+
- 🛰️ **Out-of-IDE & remote attach** – Attach over host/port to a process on another machine or inside a container (Python via debugpy, Java via JDWP), with source-path mapping
6333
- 🔌 **STDIO and Streamable HTTP transports** – Works with any MCP client (legacy SSE transport is deprecated)
6434
- 📦 **Zero-runtime dependencies** – Self-contained bundles via esbuild + tsup
6535
- ⚡ **npx ready** – Run directly with `npx @debugmcp/mcp-debugger` - no installation needed
66-
- 📊 **1266+ tests passing** – battle-tested end-to-end
6736
- 🐳 **Docker and npm packages** – Deploy anywhere
6837
- 🤖 **Built for AI agents** – Structured JSON responses for easy parsing
6938
- 🛡️ **Path validation** – Prevents crashes from non-existent files
7039
- 📝 **AI-aware line context** – Intelligent breakpoint placement with code context
40+
- ✅ **Comprehensive test suite** – unit, integration, and end-to-end coverage across every adapter ([CI status](https://github.com/debugmcp/mcp-debugger/actions/workflows/ci.yml))
7141

7242
## 🚀 Quick Start
7343

44+
> **Requirements:** Node.js 22+ for the server. Each language you debug also needs its own toolchain installed (Python + debugpy, Node.js, Go + Delve, JDK 21+, .NET SDK, or the Rust toolchain).
45+
7446
### For MCP Clients (Claude Desktop, etc.)
7547

7648
Add to your MCP settings configuration:
@@ -128,16 +100,6 @@ Or use without installation via npx:
128100
npx @debugmcp/mcp-debugger --help
129101
```
130102

131-
> 📸 **Screenshot**: *MCP Integration in Action*
132-
>
133-
> This screenshot will show real-time MCP protocol communication with tool calls and JSON responses flowing between the AI agent and debugger.
134-
>
135-
> <!-- To capture this screenshot, see examples/visualizer/capture_guide.md -->
136-
> <!-- Uncomment when mcp-integration.png is available:
137-
> ![MCP Integration](assets/screenshots/mcp-integration.png)
138-
> *Real-time MCP protocol communication showing tool calls and responses*
139-
> -->
140-
141103
## 📚 How It Works
142104

143105
mcp-debugger exposes debugging operations as MCP tools that can be called with structured JSON parameters:
@@ -157,16 +119,6 @@ mcp-debugger exposes debugging operations as MCP tools that can be called with s
157119
}
158120
```
159121

160-
> 📸 **Screenshot**: *Active Debugging Session*
161-
>
162-
> This screenshot will show the debugger paused at a breakpoint with the stack trace visible in the left panel, local variables in the right panel, and source code with line highlighting in the center.
163-
>
164-
> <!-- To capture this screenshot, see examples/visualizer/capture_guide.md -->
165-
> <!-- Uncomment when debugging-session.png is available:
166-
> ![Debugging Session](assets/screenshots/debugging-session.png)
167-
> *Active debugging session paused at a breakpoint with stack trace visible*
168-
> -->
169-
170122
## 🛠️ Available Tools
171123

172124
| Tool | Description | Status |
@@ -193,16 +145,6 @@ mcp-debugger exposes debugging operations as MCP tools that can be called with s
193145
| `close_debug_session` | Close a session | ✅ Implemented |
194146
| `redefine_classes` | Hot-swap changed Java classes into a running JVM (Java only) | ✅ Implemented |
195147

196-
> 📸 **Screenshot**: *Multi-Session Debugging*
197-
>
198-
> This screenshot will show the debugger managing multiple concurrent debug sessions, demonstrating how AI agents can debug different scripts simultaneously with isolated session management.
199-
>
200-
> <!-- To capture this screenshot, see examples/visualizer/capture_guide.md -->
201-
> <!-- Uncomment when multi-session.png is available:
202-
> ![Multi-session Debugging](assets/screenshots/multi-session.png)
203-
> *Managing multiple debug sessions simultaneously*
204-
> -->
205-
206148
## 🏗️ Architecture: Dynamic Adapter Loading
207149

208150
Version 0.10.0 introduces a clean adapter pattern that separates language-agnostic core functionality from language-specific implementations:
@@ -355,16 +297,6 @@ Then get the local variables:
355297
}
356298
```
357299

358-
> 📸 **Screenshot**: *Variable Inspection Reveals the Bug*
359-
>
360-
> This screenshot will show the TUI visualizer after stepping over line 4, where both variables incorrectly show value 20, clearly demonstrating the variable swap bug. The left panel shows the execution state, the center shows the highlighted code, and the right panel displays the incorrect variable values.
361-
>
362-
> <!-- To capture this screenshot, see examples/visualizer/capture_guide.md -->
363-
> <!-- Uncomment when variable-inspection.png is available:
364-
> ![Variable Inspection](assets/screenshots/variable-inspection.png)
365-
> *After stepping over line 4, both variables incorrectly show value 20*
366-
> -->
367-
368300
## 📖 Documentation
369301

370302
- 📘 [Tool Reference](./docs/tool-reference.md) – Complete API documentation
@@ -445,12 +377,11 @@ See [tests/README.md](./tests/README.md) for detailed testing instructions.
445377

446378
## 📊 Project Status
447379

448-
- ✅ **Production Ready**: v0.19.0 with six language adapters and polished multi-language distribution
449-
- ✅ **Clean architecture** with adapter pattern
450-
- ✅ **JavaScript/Node.js**: Full debugging loop via js-debug
451-
- ✅ **Go**: Full debugging support via Delve DAP
452-
- ✅ **Java**: Launch and attach modes via JDI bridge
453-
- 🦀 **Rust**: Full support on Linux/macOS/Windows (Windows requires GNU toolchain; MSVC is not supported by CodeLLDB)
380+
- ✅ **Production Ready**: v0.21.0 with six language adapters and polished multi-language distribution
381+
- ✅ **Clean architecture** with a dynamic adapter pattern
382+
- ✅ **Python · JavaScript/TypeScript · Go · Java · .NET/C#**: Full step-through debugging
383+
- 🦀 **Rust**: Full support on Linux/macOS/Windows (Windows requires the GNU toolchain; MSVC is not supported by CodeLLDB)
384+
- 🟢 **Runtime**: Node.js 22+
454385
- 📈 **Active Development**: Regular updates and improvements
455386

456387
## 📄 License
@@ -471,4 +402,4 @@ Built with:
471402

472403
---
473404

474-
**Give your AI the power to debug like a developer – in any language!** 🎯
405+
**Give your AI agents a real debugger — in any language.**

0 commit comments

Comments
 (0)