{"id":47426616,"url":"https://github.com/microsoft/DebugMCP","last_synced_at":"2026-04-05T06:00:49.334Z","repository":{"id":322458174,"uuid":"1067194496","full_name":"microsoft/DebugMCP","owner":"microsoft","description":"Gift your VS Code agent a real debugger: breakpoints, stepping, inspection.","archived":false,"fork":false,"pushed_at":"2026-03-28T19:37:20.000Z","size":34697,"stargazers_count":275,"open_issues_count":23,"forks_count":16,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-03-31T16:06:21.312Z","etag":null,"topics":["ai-agent","ai-debugging","breakpoints","copilot","cursor","debugger","llm","mcp","model-context-protocol","vscode-extension"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/microsoft.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":"SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2025-09-30T14:04:04.000Z","updated_at":"2026-03-31T06:16:57.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/microsoft/DebugMCP","commit_stats":null,"previous_names":["microsoft/debugmcp"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/microsoft/DebugMCP","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2FDebugMCP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2FDebugMCP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2FDebugMCP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2FDebugMCP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/microsoft","download_url":"https://codeload.github.com/microsoft/DebugMCP/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2FDebugMCP/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31426193,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T02:22:46.605Z","status":"ssl_error","status_checked_at":"2026-04-05T02:22:33.263Z","response_time":75,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-agent","ai-debugging","breakpoints","copilot","cursor","debugger","llm","mcp","model-context-protocol","vscode-extension"],"created_at":"2026-03-22T01:00:43.072Z","updated_at":"2026-04-05T06:00:49.326Z","avatar_url":"https://github.com/microsoft.png","language":"TypeScript","readme":"# DebugMCP (MCP Server) - Empowering AI Agents with Multi-Language Debugging Capabilities\n\nLet AI agents debug your code inside VS Code — set breakpoints, step through execution, inspect variables, and evaluate expressions. Works with **GitHub Copilot**, **Cline**, **Cursor**, and any MCP-compatible assistant. Supports **Python**, **JavaScript/TypeScript**, **Java**, **C#**, **C++**, **Go**, **Rust**, **PHP**, and **Ruby**.\n\n\u003e **📢 Beta Version Notice**: This is a beta version of DebugMCP maintained by [ozzafar@microsoft.com](mailto:ozzafar@microsoft.com) and [orbarila@microsoft.com](mailto:orbarila@microsoft.com). We welcome feedback and contributions to help improve this extension.\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![VS Code](https://img.shields.io/badge/VS%20Code-1.104.0+-blue.svg)](https://code.visualstudio.com/)\n[![Version](https://img.shields.io/badge/version-1.0.9-green.svg)](https://github.com/microsoft/DebugMCP)\n[![VS Marketplace](https://img.shields.io/badge/VS%20Marketplace-Install-blue.svg)](https://marketplace.visualstudio.com/items?itemName=ozzafar.debugmcpextension)\n\n\u003e Watch DebugMCP in action — your AI assistant autonomously sets breakpoints, steps through code, and inspects variables directly in VS Code.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/DebugMCP.webp\" alt=\"DebugMCP Demo\" width=\"800\"\u003e\n\u003c/p\u003e\n\n## 🚀 Quick Install\n\n**[Install from VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=ozzafar.debugmcpextension)** or use the direct link: `vscode:extension/ozzafar.debugmcpextension`\n\n## Table of Contents\n- [Overview](#overview)\n- [Features](#features)\n- [Installation](#installation)\n- [Quick Start](#quick-start)\n- [Supported Languages](#supported-languages)\n- [Configuration](#configuration)\n- [Troubleshooting](#troubleshooting)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Overview\n\nDebugMCP is an MCP server that gives AI coding agents full control over the VS Code debugger. Instead of reading logs or guessing, your AI assistant can autonomously set breakpoints, launch debug sessions, step through code line by line, inspect variable values, and evaluate expressions — just like a human developer would. It runs 100% locally, requires zero configuration, and works out of the box with any MCP-compatible AI assistant.\n\n## Features\n\n### 🔧 Tools\n\n| Tool | Description | Parameters |\n|------|-------------|------------|\n| **get_debug_instructions** | Get the debugging guide with best practices and workflow instructions | None |\n| **start_debugging** | Start a debug session for a source code file | `fileFullPath` (required)\u003cbr\u003e`workingDirectory` (required)\u003cbr\u003e`testName` (optional)\u003cbr\u003e`configurationName` (optional) |\n| **stop_debugging** | Stop the current debug session | None |\n| **step_over** | Execute the next line (step over function calls) | None |\n| **step_into** | Step into function calls | None |\n| **step_out** | Step out of the current function | None |\n| **continue_execution** | Continue until next breakpoint | None |\n| **restart_debugging** | Restart the current debug session | None |\n| **add_breakpoint** | Add a breakpoint at a specific line | `fileFullPath` (required)\u003cbr\u003e`lineContent` (required) |\n| **remove_breakpoint** | Remove a breakpoint from a specific line | `fileFullPath` (required)\u003cbr\u003e`line` (required) |\n| **clear_all_breakpoints** | Remove all breakpoints at once | None |\n| **list_breakpoints** | List all active breakpoints | None |\n| **get_variables_values** | Get variables and their values at current execution point | `scope` (optional: 'local', 'global', 'all') |\n| **evaluate_expression** | Evaluate an expression in debug context | `expression` (required) |\n\n\u003e **Note:** The `get_debug_instructions` tool is particularly useful for AI clients like GitHub Copilot that don't support MCP resources. It provides the same debugging guide content that is also available as an MCP resource.\n\n### 🎯 Debugging Best Practices\n\nDebugMCP follows systematic debugging practices for effective issue resolution:\n\n- **Start with Entry Points**: Begin debugging at function entry points or main execution paths\n- **Follow the Execution Flow**: Use step-by-step execution to understand code flow\n- **Root Cause Analysis**: Don't stop at symptoms - find the underlying cause\n\n### 🛡️ Security \u0026 Reliability\n- **Secure Communication**: All MCP communications use secure protocols\n- **Local Operation**: The MCP server runs 100% locally with no external communications and requires no credentials\n- **State Validation**: Robust validation of debugging states and operations\n\n## Installation\n\n### Quick Install Options\n\n**Option 1: Direct Link** (Fastest)\n- Click this link: [vscode:extension/ozzafar.debugmcpextension](vscode:extension/ozzafar.debugmcpextension)\n- Or copy and paste in your browser: `vscode:extension/ozzafar.debugmcpextension`\n\n**Option 2: VS Code Marketplace**\n- Visit: [https://marketplace.visualstudio.com/items?itemName=ozzafar.debugmcpextension](https://marketplace.visualstudio.com/items?itemName=ozzafar.debugmcpextension)\n- Click \"Install\"\n\n**Option 3: Within VS Code**\n1. Open VSCode\n2. Go to Extensions (Ctrl+Shift+X / Cmd+Shift+X)\n3. Search for \"DebugMCP\"\n4. Click Install\n5. The extension automatically activates and registers as an MCP server\n\n### Verification\nAfter installation, you should see:\n- DebugMCP extension in your installed extensions\n- MCP server automatically running on port 3001 (configurable)\n- Debug tools available to connected AI assistants\n\n\u003e **📝 Note**: No additional debugging rule instructions are needed - the extension works out of the box.\n\n\u003e **💡 Tip**: Enable auto-approval for all debugmcp tools in your AI assistant to create seamless debugging workflows without constant approval interruptions.\n\n## Quick Start\n\n1. **Install the extension** (see [Installation](#installation))\n2. **Open your project** in VSCode\n3. **Ask your AI to debug** - it can now set breakpoints, start debugging, and analyze your code!\n\n## Supported Languages\n\nDebugMCP supports debugging for the following languages with their respective VSCode extensions:\n\n| Language | Extension Required | File Extensions | Status |\n|----------|-------------------|-----------------|---------|\n| **Python** | [Python](https://marketplace.visualstudio.com/items?itemName=ms-python.python) | `.py` | ✅ Fully Supported |\n| **JavaScript/TypeScript** | Built-in / [JS Debugger](https://marketplace.visualstudio.com/items?itemName=ms-vscode.js-debug) | `.js`, `.ts`, `.jsx`, `.tsx` | ✅ Fully Supported |\n| **Java** | [Extension Pack for Java](https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-java-pack) | `.java` | ✅ Fully Supported |\n| **C/C++** | [C/C++](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools) | `.c`, `.cpp`, `.cc` | ✅ Fully Supported |\n| **Go** | [Go](https://marketplace.visualstudio.com/items?itemName=golang.Go) | `.go` | ✅ Fully Supported |\n| **Rust** | [rust-analyzer](https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer) | `.rs` | ✅ Fully Supported |\n| **PHP** | [PHP Debug](https://marketplace.visualstudio.com/items?itemName=xdebug.php-debug) | `.php` | ✅ Fully Supported |\n| **Ruby** | [Ruby](https://marketplace.visualstudio.com/items?itemName=rebornix.ruby) | `.rb` | ✅ Fully Supported |\n| **C#/.NET** | [C#](https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csharp) | `.cs` | ✅ Fully Supported |\n\n## Configuration\n\n### MCP Server Configuration (Recommended)\n\nThe extension runs an MCP server automatically. It will pop up a message to auto-register the MCP server in your AI assistant.\n\n### Manual MCP Server Registration (Optional)\n\n\u003e **🔄 Auto-Migration**: If you previously configured DebugMCP with SSE transport, the extension will automatically migrate your configuration to the new Streamable HTTP transport on activation.\n\n#### Cline\nAdd to your Cline settings or `cline_mcp_settings.json`:\n```json\n{\n  \"mcpServers\": {\n    \"debugmcp\": {\n      \"type\": \"streamableHttp\",\n      \"url\": \"http://localhost:3001/mcp\",\n      \"description\": \"DebugMCP - AI-powered debugging assistant\"\n    }\n  }\n}\n```\n\n#### GitHub Copilot\nAdd to your VS Code settings (`settings.json`):\n```json\n{\n  \"mcp\": {\n    \"servers\": {\n      \"debugmcp\": {\n        \"type\": \"http\",\n        \"url\": \"http://localhost:3001/mcp\",\n        \"description\": \"DebugMCP - Multi-language debugging support\"\n      }\n    }\n  }\n}\n```\n\n#### Cursor\nAdd to Cursor's MCP settings:\n```json\n{\n  \"mcpServers\": {\n    \"debugmcp\": {\n      \"type\": \"streamableHttp\",\n      \"url\": \"http://localhost:3001/mcp\",\n      \"description\": \"DebugMCP - Debugging tools for AI assistants\"\n    }\n  }\n}\n```\n\n### Extension Settings\n\nConfigure DebugMCP behavior in VSCode settings:\n\n```json\n{\n  \"debugmcp.serverPort\": 3001,\n  \"debugmcp.timeoutInSeconds\": 180\n}\n```\n\n| Setting | Default | Description |\n|---------|---------|-------------|\n| `debugmcp.serverPort` | `3001` | Port number for the MCP server |\n| `debugmcp.timeoutInSeconds` | `180` | Timeout for debugging operations |\n\n\n## FAQ\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eWhich AI assistants are supported?\u003c/b\u003e\u003c/summary\u003e\n\nDebugMCP works with any MCP-compatible AI assistant, including **GitHub Copilot**, **Cline**, **Cursor**, **Roo Code**, **Windsurf**, and others. If your assistant supports the Model Context Protocol, it can use DebugMCP.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eDoes it work with VS Code Remote SSH / Codespaces / WSL?\u003c/b\u003e\u003c/summary\u003e\n\nYes. DebugMCP runs as a VS Code extension with `extensionKind: workspace`, so it activates in the remote environment where your code lives. The MCP server runs on `localhost` within that remote context.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eDo I need to configure launch.json?\u003c/b\u003e\u003c/summary\u003e\n\nNo. DebugMCP automatically generates appropriate debug configurations based on the file's language/extension. If you have a `launch.json`, it will use matching configurations from there. You can also specify a configuration by name using the `configurationName` parameter.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eIs my code sent to any external service?\u003c/b\u003e\u003c/summary\u003e\n\nNo. DebugMCP runs 100% locally. The MCP server runs on `localhost`, and no code, variables, or debug data is sent to any external service. The AI assistant communicates with the MCP server entirely within your local machine.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eWhat if port 3001 is already in use?\u003c/b\u003e\u003c/summary\u003e\n\nChange the port in VS Code settings: `\"debugmcp.serverPort\": 3002` (or any available port). Then update your AI assistant's MCP configuration to use the new port.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eCan I debug unit tests?\u003c/b\u003e\u003c/summary\u003e\n\nYes. Pass the `testName` parameter to `start_debugging` to debug a specific test method. DebugMCP will configure the debug session to run and pause at breakpoints within that test.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eWhy is my AI assistant not using the debug tools?\u003c/b\u003e\u003c/summary\u003e\n\nMake sure DebugMCP is registered in your AI assistant's MCP settings. The extension should auto-detect and offer to register itself. If not, see the [Manual MCP Server Registration](#manual-mcp-server-registration-optional) section. Also enable auto-approval for DebugMCP tools for a smoother workflow.\n\u003c/details\u003e\n\n## Troubleshooting\n\n### Common Issues\n\n#### MCP Server Not Starting\n- **Symptom**: AI assistant can't connect to DebugMCP\n- **Solution**: \n  - Check if port 3001 is available\n  - Restart VSCode\n  - Verify extension is installed and activated\n\n## How It Works\n\n### Architecture\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/architecture.png\" alt=\"DebugMCP Architecture\" width=\"800\"\u003e\n\u003c/p\u003e\n\n### Launch Configuration Integration\nThe extension handles debug configurations intelligently:\n\n- **Existing launch.json**: If a `.vscode/launch.json` file exists, it will:\n   - Search for a relevant configuration\n   - Use a specific configuration if found\n\n- **Default Configuration**: If no launch.json exists or no relevant config, it creates an appropriate default configurations for each language based on file extension detection\n\n\n## Requirements\n\n- VSCode with appropriate language extensions installed:\n  - **Python**: [Python extension](vscode:extension/ms-python.debugpy) for `.py` files\n  - **JavaScript/TypeScript**: Built-in Node.js debugger or [JavaScript Debugger extension](vscode:extension/ms-vscode.js-debug)\n  - **Java**: [Extension Pack for Java](vscode:extension/vscjava.vscode-java-pack)\n  - **C#/.NET**: [C# extension](vscode:extension/ms-dotnettools.csharp)\n  - **C/C++**: [C/C++ extension](vscode:extension/ms-vscode.cpptools)\n  - **Go**: [Go extension](vscode:extension/golang.go)\n  - **Rust**: [rust-analyzer extension](vscode:extension/rust-lang.rust-analyzer)\n  - **PHP**: [PHP Debug extension](vscode:extension/xdebug.php-debug)\n  - **Ruby**: [Ruby extension](vscode:extension/rebornix.ruby) with debug support\n- MCP-compatible AI assistant (Copilot, Cline, Roo..)\n\n## Development\n\nTo build the extension:\n\n```bash\nnpm install\nnpm run compile\n```\n\n## Contributing\n\nThis project welcomes contributions and suggestions. Most contributions require you to agree to a\nContributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us\nthe rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.\n\nWhen you submit a pull request, a CLA bot will automatically determine whether you need to provide\na CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions\nprovided by the bot. You will only need to do this once across all repos using our CLA.\n\nThis project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).\nFor more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or\ncontact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.\n\n## Security\n\nSecurity vulnerabilities should be reported following the guidance at [https://aka.ms/SECURITY.md](https://aka.ms/SECURITY.md).\nPlease do not report security vulnerabilities through public GitHub issues.\n\n## Trademarks\n\nThis project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft \ntrademarks or logos is subject to and must follow \n[Microsoft's Trademark \u0026 Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general).\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\nAny use of third-party trademarks or logos are subject to those third-party's policies.\n\n## ⭐ Star History\n\n\u003ca href=\"https://star-history.com/#microsoft/DebugMCP\u0026Date\"\u003e\n \u003cpicture\u003e\n   \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://api.star-history.com/svg?repos=microsoft/DebugMCP\u0026type=Date\u0026theme=dark\" /\u003e\n   \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://api.star-history.com/svg?repos=microsoft/DebugMCP\u0026type=Date\" /\u003e\n   \u003cimg alt=\"Star History Chart\" src=\"https://api.star-history.com/svg?repos=microsoft/DebugMCP\u0026type=Date\" /\u003e\n \u003c/picture\u003e\n\u003c/a\u003e\n\n## License\n\nMIT License - See [LICENSE](LICENSE.txt) for details\n\nThis extension was created by **Oz Zafar**, **Ori Bar-Ilan** and **Karin Brisker**.\n","funding_links":[],"categories":["MCP Servers \u0026 Integrations"],"sub_categories":["Other IDEs"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2FDebugMCP","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicrosoft%2FDebugMCP","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2FDebugMCP/lists"}