Skip to main content
Glama
Icymars
by Icymars

vscode-ide-mcp

A bridge between VS Code's native tools and any AI agent with MCP support (Kilo, Cursor, Cline, etc.): it exposes LSP navigation (definitions, references, outline) and native debugging (breakpoints, stepping, stack frames, variables, evaluate) as a standard MCP server (MCP protocol over stdio). It works with any MCP client, not just Kilo.

Architecture:

  • A VS Code extension (TypeScript) starts a TCP listener (host 127.0.0.1, port 47810) in the extension host process on startup, where the vscode module is available.

  • An MCP server (out/mcp-server.js) runs as a child process launched by your agent (stdio) and connects to the bridge to perform vscode.* calls. Being a standard MCP server, the same file works with any MCP client, not just Kilo.

Why this project

  • Universal compatibility — the server uses the stdio transport: it works with any MCP-capable agent (Kilo, Cursor, Cline, opencode, Claude Desktop, etc.), with no HTTP/SSE configuration and no tokens.

  • Simplicity — only two components (extension + stdio server) and zero configuration: no auth, no TLS, no CORS/Origin issues.

  • Minimal footprint — ~126 KB package; no HTTP server to maintain.

  • Secure by default — communication is loopback-only (127.0.0.1); no exposed network surface.

  • Focused — 17 tools for LSP navigation (definitions, references, outline, hover, diagnostics), VS Code commands, workspace files and native debugging: the essential core for letting an agent work inside the IDE.

When to consider an alternative

If you need a broader toolkit (terminal, full-text search, advanced LSP such as rename, call hierarchy, completions) or an HTTP/SSE endpoint with auth/TLS, consider nabheet/vscode-mcp-server (49 tools, HTTP transport with port retry and automatic publishing). For the "navigation + commands + files + debugging" core with minimal complexity, this project is the right choice.

Related MCP server: DebugPilot

Installation and build

npm install
npm run build        # generates out/extension.js and out/mcp-server.js

To develop the extension locally:

npm run watch         # esbuild in watch mode

To load and test it, open this folder in VS Code and press F5 (a new Extension Development Host window is launched).

To produce a distributable .vsix package:

npm run build
npx --yes @vscode/vsce package --no-dependencies

This writes vscode-ide-mcp-bridge-<version>.vsix in the project root; all runtime dependencies are already bundled by esbuild into out/, so --no-dependencies keeps the package lean. Install locally with:

code --install-extension vscode-ide-mcp-bridge-<version>.vsix

The same artifact is also attached to each GitHub Release created by the release pipeline (triggered when a vX.Y.Z tag is pushed).

Registering the MCP server in your agent

The server is standard: the same out/mcp-server.js is registered in your agent's MCP configuration (Kilo, Cursor, Cline, etc.). Below is the Kilo example; other agents use their own configuration format (e.g. Cursor: mcp.json, Cline: MCP panel). Two options for Kilo:

Project level — in kilo.json at the root of the current project:

{
  "mcp": {
    "vscode-ide": {
      "type": "local",
      "command": ["node", "<extension_dir>/out/mcp-server.js"]
    }
  }
}

Global level — in ~/.config/kilo/kilo.json (Windows: %USERPROFILE%\.config\kilo\kilo.json), so it works in all projects:

{
  "mcp": {
    "vscode-ide": {
      "type": "local",
      "command": ["node", "<extension_dir>/out/mcp-server.js"]
    }
  }
}

After installing the extension, extension_dir is ~/.vscode/extensions/RiccardoStatuto.vscode-ide-mcp-bridge-<version>/out/mcp-server.js (see also code --list-extensions + installed path).

The tools become available as vscode-ide_<tool> (e.g. vscode-ide_go_to_definition).

Available tools

Tool

Description

get_active_editor

Active file: path, language, cursor, selection

show_document

Opens a document and moves the cursor to a given line/column

go_to_definition

Definition of the symbol (LSP)

find_references

References of the symbol (LSP)

get_outline

Symbol outline of a file

start_debug

Starts a debug session (by name or config)

stop_debug

Stops the active debug session

add_breakpoints

Sets breakpoints on given lines

debug_step

Stepping: over/into/out/continue

get_stack_frames

Stack frames (requires the proposed API DebugAdapterTracker)

get_variables

Variables of a debug scope

debug_evaluate

Evaluates an expression in the debug console

execute_command

Runs a VS Code command by ID, with optional arguments

get_hover

Hover info (type, docs) for the symbol under the cursor (LSP)

get_diagnostics

Errors/warnings of the active file (up to 200 lines)

read_file

Reads the content of a workspace file

write_file

Creates or overwrites a workspace file

Global solution

To cover all projects (including non-Dart ones), the approach is language-agnostic: navigation uses VS Code's LSP and debugging uses the project's launch.json configurations (node, python, go, dart, etc.). This project is independent from any language.

Troubleshooting

  • "IDE bridge not reachable" → the extension is not loaded or the bridge is not started. Load the extension (F5) and verify the IDE MCP: Start bridge command works.

  • Port 47810 in use → the bridge automatically tries ports 47811–47814; the MCP server tries the same list in the same order. To change the base port, edit PORT in src/ide/bridge.ts and PORTS in src/mcp/server.ts, then run npm run build.

  • Stack/variables return "DebugAdapterTracker not available" → your VS Code version does not expose the proposed API; update VS Code to the latest version.

References (web research)

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI assistants to leverage VS Code's language intelligence for code navigation, refactoring, and analysis via the MCP protocol.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to inspect debug state, control execution, and set breakpoints in VS Code by exposing the Debug Adapter Protocol as an MCP server.
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to interact with VS Code's language server protocol features (definitions, references, diagnostics) and debugger (breakpoints, stepping, variable inspection) via an MCP server.
    6 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to access live VS Code editor state, symbol navigation, diagnostics, and language-aware editing through MCP, bridging the gap between what the agent can infer from disk and what the editor actually knows.
    MIT