|
17 | 17 |
|
18 | 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 seven languages — driving real language debuggers through the Debug Adapter Protocol (DAP). |
19 | 19 |
|
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. |
| 20 | +> 🆕 **v0.22.0** — **Ruby debugging support** lands (launch + attach via `rdbg`, including remote attach to containers and Kubernetes pods), alongside JavaScript attach-mode fixes and session/proxy lifecycle hardening. See the [CHANGELOG](./CHANGELOG.md) for the full release history. |
21 | 21 |
|
22 | 22 | ## ✨ Key Features |
23 | 23 |
|
@@ -87,7 +87,7 @@ claude mcp list |
87 | 87 | docker run -v $(pwd):/workspace debugmcp/mcp-debugger:latest |
88 | 88 | ``` |
89 | 89 |
|
90 | | -> ⚠️ The Docker image ships Python, JavaScript, Go, Java, and .NET adapters. Rust debugging requires the local, SSE, or packed deployments where the adapter runs next to your toolchain. Note: adapters are loaded dynamically at runtime — only those whose toolchain is installed and detected will be reported as available by `list_supported_languages`. |
| 90 | +> ⚠️ The Docker image bundles the toolchains for **Python, JavaScript, and Java** debugging (Rust, Go, and .NET are disabled inside the container image, and the image does not include a Ruby runtime). For those languages, run the server via npm/npx next to your local toolchain — or, for Ruby, use remote attach to a `rdbg --open` process inside the container (see the [Ruby guide](./docs/ruby/README.md)). Adapters load dynamically at runtime — `list_supported_languages` reports only those whose toolchain is detected. |
91 | 91 |
|
92 | 92 | ### Using npm |
93 | 93 |
|
@@ -159,15 +159,13 @@ Version 0.10.0 introduces a clean adapter pattern that separates language-agnost |
159 | 159 | ┌──────────────┐ ┌─────────────────┐ |
160 | 160 | │ ProxyManager │◀─────│ Language Adapter│ |
161 | 161 | └──────────────┘ └─────────────────┘ |
162 | | - │ |
163 | | - ┌──────────────┴──────────────────────────────────────────┐ |
164 | | - │ │ |
165 | | - ┌───────────┼───────────┬───────────┬───────────┬───────────┐ │ |
166 | | - │ │ │ │ │ │ │ |
167 | | - ┌─────▼────┐┌─────▼────┐┌─────▼────┐┌─────▼────┐┌─────▼────┐┌─────▼────┐ |
168 | | - │Python ││JavaScript││Rust ││Go ││Java ││Dotnet ││Mock │ |
169 | | - │Adapter ││Adapter ││Adapter ││Adapter ││Adapter ││Adapter ││Adapter │ |
170 | | - └──────────┘└──────────┘└──────────┘└──────────┘└──────────┘└──────────┘└──────���───┘ |
| 162 | + │ |
| 163 | + ┌───────────┬───────────┬───────────┼───────────┬───────────┬───────────┬───────────┐ |
| 164 | + │ │ │ │ │ │ │ │ |
| 165 | + ┌─────▼────┐┌─────▼────┐┌─────▼────┐┌─────▼────┐┌─────▼────┐┌─────▼────┐┌─────▼────┐┌─────▼────┐ |
| 166 | + │Python ││Ruby ││JavaScript││Rust ││Go ││Java ││.NET ││Mock │ |
| 167 | + │Adapter ││Adapter ││Adapter ││Adapter ││Adapter ││Adapter ││Adapter ││Adapter │ |
| 168 | + └──────────┘└──────────┘└──────────┘└──────────┘└──────────┘└──────────┘└──────────┘└──────────┘ |
171 | 169 | ``` |
172 | 170 |
|
173 | 171 | ### Adding Language Support |
@@ -312,6 +310,7 @@ Then get the local variables: |
312 | 310 | - 🟨 [JavaScript Debugging Guide](./docs/javascript/README.md) – JavaScript/TypeScript features |
313 | 311 | - 🐹 [Go Debugging Guide](./docs/go/README.md) – Go debugging with Delve |
314 | 312 | - ☕ [Java Debugging Guide](./docs/java/README.md) – Java debugging with JDI bridge |
| 313 | +- 🔷 [.NET Debugging Guide](./docs/dotnet/README.md) – .NET/C# debugging with netcoredbg |
315 | 314 | - [Rust Debugging on Windows](docs/rust-debugging-windows.md) - Toolchain requirements and troubleshooting |
316 | 315 | - 🔧 [Troubleshooting](./docs/troubleshooting.md) – Common issues & solutions |
317 | 316 |
|
@@ -379,7 +378,7 @@ See [tests/README.md](./tests/README.md) for detailed testing instructions. |
379 | 378 |
|
380 | 379 | ## 📊 Project Status |
381 | 380 |
|
382 | | -- ✅ **Production Ready**: v0.21.0 with seven language adapters and polished multi-language distribution |
| 381 | +- ✅ **Production Ready**: v0.22.0 with seven language adapters and polished multi-language distribution |
383 | 382 | - ✅ **Clean architecture** with a dynamic adapter pattern |
384 | 383 | - ✅ **Python · Ruby · JavaScript/TypeScript · Go · Java · .NET/C#**: Full step-through debugging |
385 | 384 | - 🦀 **Rust**: Full support on Linux/macOS/Windows (Windows requires the GNU toolchain; MSVC is not supported by CodeLLDB) |
|
0 commit comments