Install
$ agentstack add mcp-gmaynez-debugssy ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Debugssy
[](https://marketplace.visualstudio.com/items?itemName=gamag.debugssy) [](https://open-vsx.org/extension/gamag/debugssy) [](./LICENSE)
Let your AI assistant drive the debugger.
Debugssy connects AI assistants (Cursor, Copilot, Claude Desktop) to VS Code's debugging engine via the Model Context Protocol. Instead of clicking through the debugger UI, describe what you're hunting for.
Install · Issues · [Security](./SECURITY.md)
What It Does
You: "Figure out why users get null when logging in"
AI: Sets breakpoint in auth handler → waits for hit → inspects `user` object →
traces call stack → spots missing WHERE clause in the query. Done.
The AI gets tools to set breakpoints (with conditions, hit counts, logpoints), read variables, walk the call stack, and evaluate expressions—all through MCP. You stay in control of when debugging runs, or hand over the reins entirely.
Works with any language that VS Code can debug: JavaScript, TypeScript, Python, Go, Java, C++, Rust, you name it.
Recommended models: Claude 4.5 Haiku or Grok 4.1 Fast (speed + cost).
Quick Start
1. Install the Extension
Search "Debugssy" in VS Code's extension panel (Ctrl+Shift+X), or grab it from:
- VS Code Marketplace
- Open VSX (VSCodium, Gitpod,
etc.)
2. Connect Your AI
VS Code (Copilot) and Cursor — zero config. The extension registers its MCP server automatically. Just install Debugssy and start chatting. No JSON edits needed.
> If you have an older manual "debugssy" entry in your settings, remove it to > avoid duplicates.
Other MCP clients (Claude Desktop, Claude Code, OpenCode, etc.) — add this to your client's config file:
{
"mcpServers": {
"debugssy": { "url": "http://localhost:3000/mcp" }
}
}
Config file locations:
- Claude Desktop:
~/Library/Application Support/Claude/claude_desktop_config.json (Mac) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
- Claude Code / OpenCode / others: see your client's docs — the URL is
always http://localhost:3000/mcp
3. Debug Something
- Start a debug session in VS Code (
F5) - Ask your AI: _"Set a breakpoint where user authentication fails and show me
what's in the request object"_
- Watch it work
Type / in chat to see guided workflows like /debug-crash or /trace-variable.
Two Modes
Assisted (default): You control execution (F5, step, continue). The AI sets breakpoints and inspects state. Good for learning and staying hands-on.
Full automation: The AI controls everything—starting sessions, continuing past breakpoints, the works. Good for "just find the bug" scenarios.
{ "debugssy.automationLevel": "full" }
Copilot users: restart VS Code after switching modes (it doesn't refresh tools dynamically).
Available Tools
Your AI sees these via MCP:
Inspection (always available): get_debug_state, get_variables, get_call_stack, evaluate_expression, get_console_output, get_threads
Breakpoints (always available): set_breakpoint, remove_breakpoint, list_breakpoints, toggle_breakpoint, remove_all_breakpoints
set_breakpoint supports conditions (user.role === 'admin'), hit counts (> 10), and log messages (logpoints).
Execution control (full mode only): start_debugging, stop_debugging, continue, pause, restart, wait_for_breakpoint
Step operations (step_over, step_into, step_out) are available in full mode if you enable debugssy.allowStepOperations. Usually unnecessary—strategic breakpoints + continue is faster for AI debugging.
Settings
Open VS Code settings and search "debugssy":
| Setting | Default | What it does | | ------------------------------------ | ---------- | ------------------------------------------------------------------------------------------------------- | | debugssy.mcp.port | 3000 | Server port. Change if 3000 is taken. | | debugssy.automationLevel | assisted | assisted or full | | debugssy.expressionValidationLevel | moderate | How paranoid to be about evaluate_expression. Options: strict, moderate, permissive, disabled | | debugssy.maxExpressionLength | 100 | Max chars for evaluated expressions | | debugssy.waitForBreakpointTimeout | 5000 | How long wait_for_breakpoint waits (ms) | | debugssy.allowStepOperations | false | Enable step_over/into/out in full mode |
For tighter security, configure an allowlist in your MCP client—see [ALLOWLISTGUIDE.md](./docs/ALLOWLISTGUIDE.md).
Security
Debugssy runs on localhost only. Your code never leaves your machine.
The expression validator blocks obvious injection attempts (eval, require('fs'), process.exit, etc.) and asks for confirmation on anything suspicious. Four levels of paranoia: strict (whitelist only), moderate (default, blocks known dangerous patterns), permissive (blocks only the scary stuff), disabled (you're on your own).
Best practices for AI-assisted debugging:
- Start fresh. Use a new AI conversation for debug sessions to avoid prompt
injection from earlier context.
- Skip web searches. Don't search the web in the same conversation—external
content is the main vector for prompt injection.
- Review elicitation prompts. When the validator asks about an expression,
actually read it before approving.
Full details: [SECURITY.md](./SECURITY.md), [MCPCOMPLIANCE.md](./docs/MCPCOMPLIANCE.md)
Troubleshooting
"No active debug session" — Start debugging (F5) before asking the AI to inspect things. The debugger needs to be running.
Port 3000 in use — Change debugssy.mcp.port to something else (3001, 8080, whatever). Or kill whatever's hogging 3000:
# Windows
netstat -ano | findstr :3000
taskkill /PID /F
# Mac/Linux
lsof -ti:3000 | xargs kill -9
AI can't connect — Check the VS Code Output panel (View → Output → Debugssy). Verify the server's up with curl http://localhost:3000/health. Make sure your AI config points to http://localhost:3000/mcp.
Variables empty — Execution must be paused at a breakpoint. If it's running, there's nothing to inspect. Also try scope: "Local" to filter out noise.
Copilot doesn't see new tools — Restart VS Code. Copilot caches the tool list.
Architecture
┌─────────────────────────────────────────────────┐
│ VS Code Extension │
│ │
│ MCP Server (localhost:3000) │
│ ↓ │
│ ToolRouter → Security Layer → Tool Registry │
│ ↓ │
│ DAP Client ← → VS Code Debug API │
└─────────────────────────────────────────────────┘
↑
│ HTTP + MCP Protocol
↓
┌─────────────────────┐
│ AI Assistant │
│ (Cursor/Copilot/ │
│ Claude Desktop) │
└─────────────────────┘
The MCP server speaks Streamable HTTP (spec version 2025-06-18). Session IDs are crypto.randomUUID(). All tool inputs go through Zod validation.
Key files if you're diving in:
src/MCPServer.ts— Server setup and MCP protocol handlingsrc/routing/ToolRouter.ts— Tool dispatchsrc/security/ExpressionValidator.ts— The paranoia enginesrc/dap/Client.ts— Debug Adapter Protocol integration
Building from Source
git clone https://github.com/gmaynez/debugssy.git
cd debugssy
npm install
npm run compile # Build
npm run package # Creates .vsix
npm test # Run tests
Press F5 in VS Code to launch the Extension Development Host for live testing.
Known Limitations
- Single MCP client at a time. If multiple AI assistants connect to the same
Debugssy instance, the most recent connection takes over.
- Copilot caches tools. Restart VS Code after changing
automationLevel. - No watch expressions. Use
evaluate_expressioninstead. - Single-threaded assumption. Defaults to thread ID 1.
- Assisted mode is blind to manual steps. If you click Continue in the UI,
the AI doesn't know.
- Nested objects get truncated. Blame the debugger, not us.
Contributing
Found a bug? Open an issue.
Want to contribute? Fork it, make a branch, open a PR. Follow the existing code style (TypeScript, ESLint). Add tests for new features.
Check good first issues for starter tasks.
More Documentation
- [SECURITY.md](./SECURITY.md) — Threat model, security policy
- [ALLOWLISTGUIDE.md](./docs/ALLOWLISTGUIDE.md) — Lock down which tools your
AI can use
- [DEBUGSSYPROMPT.md](./DEBUGSSYPROMPT.md) — Detailed guide for AI assistants
- MCP Specification — The protocol itself
- Debug Adapter Protocol
— What VS Code speaks under the hood
License
Apache 2.0. See [LICENSE](./LICENSE).
Copyright © 2025-2026 Guillermo Garcia Maynez
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: gmaynez
- Source: gmaynez/debugssy
- License: Apache-2.0
- Homepage: https://marketplace.visualstudio.com/items?itemName=gamag.debugssy
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.