freshcrate
Skin:/
Home > MCP Servers > claude-ide-bridge

claude-ide-bridge

MCP bridge giving Claude Code full IDE integration โ€” 25+ tools for LSP, debugging, terminals, Git, GitHub, diagnostics, and more. Works with VS Code, Windsurf, Cursor, and Antigravity.

Why this rank:Strong adoptionRelease freshnessHealthy release cadence

Description

MCP bridge giving Claude Code full IDE integration โ€” 25+ tools for LSP, debugging, terminals, Git, GitHub, diagnostics, and more. Works with VS Code, Windsurf, Cursor, and Antigravity.

README

Claude IDE Bridge

npm version CI Docker License: MIT

MCP bridge giving Claude Code IDE superpowers: 141 tools for LSP, debugging, git, GitHub, terminals, and more.

A WebSocket bridge between Claude Code CLI and your VS Code extension. Claude sees what your IDE sees โ€” live diagnostics, go-to-definition, call hierarchies, hover types, breakpoints, debugger state โ€” and can act on it: edit files, run tests, commit, open PRs, all without you copy-pasting anything.

Works locally, over SSH, in Docker, and on a VPS. Extension is optional โ€” headless mode covers git, terminals, GitHub, and LSP via typescript-language-server.

Claude Code โ”€โ”€โ”€โ”€ bridge โ”€โ”€โ”€โ”€ VS Code extension โ”€โ”€โ”€โ”€ your editor state

See it work in 5 minutes: save a broken file, Claude notices, diagnoses, proposes a fix โ€” no prompt typed. Self-healing quickstart โ†’

Screen.Recording.2026-04-16.at.15.29.12.1.mov

Quick Start

Prerequisites: Claude Code CLI, Node.js โ‰ฅ 20

# 1. Install the bridge
npm install -g claude-ide-bridge

# 2. One-command setup (installs extension, writes CLAUDE.md, registers MCP server)
cd /your/project
claude-ide-bridge init

# 3. Start the bridge (full tool set is the default โ€” add --slim for IDE-only)
claude-ide-bridge --watch

# 4. Open Claude Code โ€” bridge connects automatically
claude --ide

Updating? Use npm install -g claude-ide-bridge@latest โ€” npm update -g may lag the registry cache after a new release.

After init, type /mcp in Claude Code to confirm the bridge is connected. Type /ide to see open files, diagnostics, and editor state.

One bridge per workspace. Each project runs its own bridge instance on its own port. Start a separate claude-ide-bridge --watch in each directory.

Non-VS Code / headless users

npx claude-ide-bridge@latest init --headless
claude-ide-bridge --watch --full

Skips extension install, recommends full mode. LSP falls back to typescript-language-server if installed globally. See docs/headless-quickstart.md.

Installing the VS Code extension separately

claude-ide-bridge install-extension

Or search Claude IDE Bridge in the VS Code / Cursor / Windsurf marketplace.


Tool Categories

Discovering tools at runtime: ask Claude "call getToolCapabilities" in any connected session, type /mcp in Claude Code for live server state, or run claude-ide-bridge list-tools from the shell for a quick category summary. Full reference: documents/platform-docs.md. Auto-generated tool table: docs/tool-reference.md.

Category Count Example tools Mode
LSP & Code Intelligence 29 goToDefinition, findReferences, getCallHierarchy, getHover, explainSymbol S
Debugging 6 setDebugBreakpoints, startDebugging, evaluateInDebugger, getDebugState S
Refactoring 5 refactorAnalyze, refactorPreview, renameSymbol, refactorExtractFunction S
Editor State 8 getDiagnostics, getDocumentSymbols, getOpenEditors, contextBundle, watchDiagnostics S
Git 12 gitAdd, gitCommit, gitPush, getGitStatus, getGitDiff, gitCheckout, gitBlame F
GitHub 5 githubCreatePR, getPRTemplate, getGitHotspots F
Files & Search 10 findFiles, getFileTree, searchWorkspace, searchAndReplace, createFile, editText F
Terminal & Shell 6 runInTerminal, getTerminalOutput, runCommand, runVSCodeTask, listVSCodeTasks F
Claude Orchestration 5 runClaudeTask, listClaudeTasks, getClaudeTaskStatus, cancelClaudeTask F
Quality & Analysis 11 getCodeCoverage, auditDependencies, detectUnusedCode, generateTests, getSecurityAdvisories F

S = slim (opt-in via --slim) ยท F = full mode (default)


Slim vs Full Mode

The bridge starts in full mode by default (changed in v2.43.0) โ€” all ~140 tools, covering LSP/debugger/refactoring plus git, GitHub, terminal, file tree, and orchestration.

Pass --slim to restrict to the ~60 IDE-exclusive tools (LSP, debugger, editor state only) โ€” useful when you want Claude to use its native Read/Write/Bash tools for everything else:

claude-ide-bridge --slim --watch

Or set permanently in claude-ide-bridge.config.json:

{ "fullMode": false }

Use --slim when:

  • You prefer Claude's native Read/Write/Bash over bridge file/git/HTTP tools
  • Running in a locked-down environment and want to minimize exposed surface
  • You only need LSP navigation, debugger, and editor state signal

The --full flag is retained as a no-op opt-in for backward compatibility.


Usage Examples

Find every caller of a function

"Show me everything that calls processPayment()"

Claude runs getCallHierarchy โ€” returns the full incoming call tree with file paths and line numbers, no grep required.

Fix all type errors in the workspace

"Fix the TypeScript errors in src/api/"

Claude calls getDiagnostics to get live compiler errors, then editText to patch each one. No build step needed โ€” diagnostics are live from the language server.

Create a PR from the current branch

"Push my branch and open a PR against main"

Claude calls gitPush, then githubCreatePR โ€” picks up your repo's PR template automatically and pre-fills it from recent commits.

Set a breakpoint and inspect a variable

"Break on line 42 of auth.ts and tell me what token contains"

Claude calls setDebugBreakpoints, startDebugging, then evaluateInDebugger โ€” real debugger evaluation, not console.log guessing.

Refactor a symbol safely

"Rename UserService to AuthService everywhere"

Claude calls refactorAnalyze (checks blast radius and risk), refactorPreview (shows every edit before touching a file), then renameSymbol โ€” language-server rename, not find-and-replace.


Deployment Options

Local (VS Code / Cursor / Windsurf)

Standard setup. Extension connects automatically. Full LSP, debugger, and editor state available.

Remote SSH

VS Code Remote-SSH and Cursor SSH load the extension on the VPS side (extensionKind: ["workspace"]). Start the bridge on the remote machine. All ~140 tools work over SSH.

# On the remote machine
claude-ide-bridge --watch --bind 0.0.0.0

VPS + systemd

Persistent bridge with automatic restarts, fixed auth token, and optional OAuth 2.0 for remote MCP clients (claude.ai, Codex CLI).

# Full provisioning
bash deploy/bootstrap-new-vps.sh

# Or just the service
bash deploy/install-vps-service.sh

See deploy/README.md and docs/remote-access.md.

Docker

docker run -p 3284:3284 ghcr.io/oolab-labs/claude-ide-bridge:latest --bind 0.0.0.0

Or with Compose:

docker compose up

Headless image includes typescript-language-server and universal-ctags for LSP and symbol search without VS Code. See documents/headless-quickstart.md.

Launch tasks from a terminal (headless parity)

The sidebar's quick-task buttons also work from the CLI โ€” same context-gathering, same prompt-building, same dispatch path:

# 7 presets: fixErrors ยท refactorFile ยท addTests ยท explainCode ยท optimizePerf ยท runTests ยท resumeLastCancelled
claude-ide-bridge quick-task fix-errors
claude-ide-bridge quick-task add-tests --json

# free-form description (Claude gathers its own context)
claude-ide-bridge start-task "Refactor the auth module for clarity, keep behaviour identical"

# resume prior session from handoff note
claude-ide-bridge continue-handoff

Requires --claude-driver subprocess on the running bridge. All three subcommands accept --json, --port, --source. Enforces a 5s bridge-global cooldown per preset (shared with the sidebar).


Automation Hooks

Event-driven hooks that trigger Claude tasks automatically โ€” no polling, no manual invocation.

{
  "hooks": [
    {
      "event": "onDiagnosticsError",
      "prompt": "Fix the type error in {{file}}: {{diagnostics}}",
      "cooldownMs": 30000
    },
    {
      "event": "onFileSave",
      "patterns": ["src/**/*.ts"],
      "prompt": "Run tests for {{file}} and fix any failures"
    },
    {
      "event": "onGitCommit",
      "prompt": "Review commit {{hash}}: {{message}}"
    }
  ]
}

Start with:

claude-ide-bridge --watch --automation --automation-policy ./policy.json --claude-driver subprocess

18 hook events: onFileSave, onFileChanged, onDiagnosticsError, onDiagnosticsCleared, onGitCommit, onGitPush, onGitPull, onBranchCheckout, onPullRequest, onTestRun, onTestPassAfterFailure, onPostCompact, onInstructionsLoaded, onTaskCreated, onTaskSuccess, onPermissionDenied, onCwdChanged, onDebugSessionEnd

All hooks support cooldownMs (min 5s), promptName/promptArgs for named prompts, and when conditions (minDiagnosticCount, testRunnerLastStatus). See docs/automation.md.


Plugin System

Extend the bridge with custom MCP tools without forking. Plugins load in-process alongside built-in tools and support hot reload.

# Scaffold a new plugin
claude-ide-bridge gen-plugin-stub ./my-plugin --name "org/my-plugin" --prefix "myPrefix"

# Load it
claude-ide-bridge --watch --plugin ./my-plugin --plugin-watch

Publish to npm with keyword claude-ide-bridge-plugin โ€” users install by package name:

claude-ide-bridge --plugin claude-ide-bridge-my-plugin

See documents/plugin-authoring.md for the full manifest schema and entrypoint API.


Companion Marketplace

Install curated companion MCP servers directly into your Claude Desktop config:

claude-ide-bridge marketplace list
claude-ide-bridge marketplace search memory
claude-ide-bridge install claude-mem

install merges the companion into mcpServers in your Claude Desktop config atomically and idempotently โ€” no manual JSON editing.


CLI Reference

Command What it does
claude-ide-bridge init One-command setup: install extension + write CLAUDE.md + register MCP server
claude-ide-bridge --watch Start bridge with auto-restart on crash (2s โ†’ 30s backoff)
claude-ide-bridge --slim Restrict to ~60 IDE-exclusive tools (default: ~140 full tools)
claude-ide-bridge install-extension Install companion VS Code extension
claude-ide-bridge gen-claude-md --write Add bridge section to existing CLAUDE.md
claude-ide-bridge print-token Print auth token from active lock file
claude-ide-bridge gen-plugin-stub <dir> Scaffold a new plugin
claude-ide-bridge marketplace list List available companion servers
claude-ide-bridge install <companion> Install companion into Claude Desktop config
claude-ide-bridge notify <Event> Post a hook event to a running bridge (for CC hook wiring)
claude-ide-bridge quick-task <preset> Launch a context-aware Claude task from a preset (headless parity with the sidebar)
claude-ide-bridge start-task "<description>" Enqueue a free-form Claude task with workspace context
claude-ide-bridge continue-handoff Resume prior session using the stored handoff note
claude-ide-bridge start-all Launch tmux session with bridge + extension watcher

Key flags:

Flag Default Description
--slim off Restrict to IDE-exclusive tools (default: full, ~140 tools)
--full on No-op (retained for backward compat โ€” full is the default since v2.43.0)
--watch off Auto-restart on crash
--bind <host> 127.0.0.1 Bind address (0.0.0.0 for remote access)
--port <n> auto Port (auto-detected from lock files)
--fixed-token <uuid> โ€” Stable auth token across restarts
--automation off Enable automation hooks
--automation-policy <path> โ€” Path to policy JSON
--claude-driver subprocess none Enable Claude subprocess orchestration
--plugin <path> โ€” Load a plugin (repeatable)
--plugin-watch off Hot-reload plugins on change
--issuer-url <url> โ€” Activate OAuth 2.0 mode
--cors-origin <origin> โ€” Add CORS origin (repeatable)
--vps off Expand command allowlist for VPS use
--grace-period <ms> 120000 Session preservation window across disconnects

Documentation

File Description
ARCHITECTURE.md System topology, request lifecycle, component map, design decisions
documents/platform-docs.md Full tool reference โ€” all 141 tools with parameters and examples
documents/prompts-reference.md All MCP prompts (31 prompts, 12 plugin skills, 4 subagents)
docs/automation.md Automation hooks reference โ€” all 18 events, policy schema, condition filters
docs/troubleshooting.md Diagnostics, common errors, and fixes
docs/remote-access.md VPS setup, OAuth 2.0, nginx/Caddy reverse proxy
documents/headless-quickstart.md CI, Docker, server use without VS Code
docs/cowork.md Computer-use (Cowork) workflow and git worktree setup โ€” MCP bridge tools unavailable inside Cowork
docs/multi-ide.md Multiple sessions and parallel editor instances
docs/migration.md Upgrade guide between major versions
documents/plugin-authoring.md Plugin manifest schema, entrypoint API, distribution
documents/styleguide.md Code conventions, tool factory pattern, output formats
docs/adr/ Architecture Decision Records
CONTRIBUTING.md Contributor guide, build setup, test requirements
deploy/README.md VPS provisioning and systemd service scripts

Requirements

  • Node.js โ‰ฅ 20 (bridge)
  • VS Code, Cursor, or Windsurf โ€” optional. Headless mode covers git, terminals, GitHub, and LSP via typescript-language-server. Extension required for debugger, editor decorations, and live editor state.
  • Claude Code CLI โ€” for local use. Remote MCP clients (claude.ai, Codex CLI) work via Streamable HTTP transport with OAuth 2.0.

License

MIT โ€” see LICENSE.


Contributing

Bug reports and PRs welcome. See CONTRIBUTING.md.

When reporting a bug, include the output of:

claude-ide-bridge print-token   # confirms bridge is running
# then in Claude: call getBridgeStatus

Per the project's bug fix protocol: a reproducing test must exist before a fix lands.


Powered-by badge

Using Claude IDE Bridge in a plugin, companion tool, or blog post? Drop in the badge:

[![Powered by Claude IDE Bridge](https://img.shields.io/badge/Powered%20by-Claude%20IDE%20Bridge-5A6FE0?logo=visualstudiocode&logoColor=white)](https://github.com/Oolab-labs/claude-ide-bridge)
<a href="https://github.com/Oolab-labs/claude-ide-bridge"><img src="https://img.shields.io/badge/Powered%20by-Claude%20IDE%20Bridge-5A6FE0?logo=visualstudiocode&logoColor=white" alt="Powered by Claude IDE Bridge"></a>

Powered by Claude IDE Bridge

Release History

VersionChangesUrgencyDate
v2.46.0## What's Changed * Roadmap pass: dashboard, probes, error catalog, tool reference, plugin compat by @Oolab-labs in https://github.com/Oolab-labs/claude-ide-bridge/pull/10 **Full Changelog**: https://github.com/Oolab-labs/claude-ide-bridge/compare/v2.45.1...v2.46.0High4/17/2026
v2.42.3## What's new ### Self-healing demo (`examples/self-healing-demo/`) A minimal reproducible example of the `onDiagnosticsError` โ†’ `runClaudeTask` loop. Save a broken TypeScript file, Claude notices, diagnoses, and proposes a fix โ€” no prompt typed. See [docs/self-healing-quickstart.md](docs/self-healing-quickstart.md) for setup. ### Fixes - `maxTasksPerHour` bumped 10โ†’30 in demo policy for stress testing - `lint-staged` now excludes `examples/` to prevent VS Code TS quickfixes from landing on stHigh4/16/2026
v2.30.1**Full Changelog**: https://github.com/Oolab-labs/claude-ide-bridge/compare/v2.30.0...v2.30.1High4/14/2026
v2.6.4**Full Changelog**: https://github.com/Oolab-labs/claude-ide-bridge/compare/v2.6.2...v2.6.4Medium3/31/2026
v2.6.2**Full Changelog**: https://github.com/Oolab-labs/claude-ide-bridge/compare/v2.5.11...v2.6.2Medium3/27/2026
v2.5.11**Full Changelog**: https://github.com/Oolab-labs/claude-ide-bridge/compare/v2.5.10...v2.5.11Medium3/25/2026
v2.1.16## What's new **VS Code Remote-SSH + Cursor SSH support** Added `extensionKind: ["workspace"]` to the VS Code extension. This makes the extension load in the remote extension host when connecting via SSH โ€” so the bridge spawns and runs on the VPS automatically, alongside the extension. All tools (LSP, debugger, terminals, git) work exactly as they do locally. Extension bumped to **1.0.2** โ€” update via VS Code or `claude-ide-bridge install-extension`. **`print-token` CLI subcommand** Prints thLow3/16/2026
v2.1.15## What's fixed **NOTIFICATION off-by-one** (T6 โ€” Low) `notifCount > NOTIFICATION_RATE_LIMIT` allowed 501 notifications before dropping; changed to `>=` so exactly 500 are allowed, matching the documented limit. Regression test verifies the 500th notification is dropped and an in-flight tool call is not incorrectly cancelled by it. **gitCheckout detached HEAD** (Bug 10 โ€” Low) When checking out a branch from detached HEAD state, `previousBranch` was set to the literal string `"HEAD"` โ€” not a vaLow3/15/2026
v2.1.12## Changes ### `templates/CLAUDE.bridge.md` โ€” shipped with `gen-claude-md --write` Added a **Bug fix methodology** section: ``` When a bug is reported, do NOT start by trying to fix it. Instead: 1. Write a test that reproduces the bug (the test should fail) 2. Fix the bug and confirm the test now passes 3. Only then consider the bug fixed ``` This matches the protocol in the bridge's own `CLAUDE.md`, generalised for user projects. Every project using `gen-claude-md --write` now gets this guidLow3/15/2026
v2.1.11## What's fixed ### Critical: Step 3 missing env var broke all new users README Step 3 previously said `claude`. Claude Code requires `CLAUDE_CODE_IDE_SKIP_VALID_CHECK=true` and `--ide` to discover the bridge lock file โ€” without them, `/ide` shows nothing. Step 3 now shows the correct command with a tip for making the env var permanent via shell profile. ### Critical: `install-extension` crashed after `npm install -g` The subcommand resolved the VSIX from `vscode-extension/` which is not in thLow3/15/2026
v2.1.10## What's fixed ### B2 โ€” getDiagnostics: dedup onto aborted-signal promise `runningPromises` previously stored bare `Promise` values. If the original caller was aborted, its promise resolved to `[]` without caching, but a new caller would still dedup onto it and get the empty result. Additionally, the `.finally()` cleanup could evict a *newer* run that had replaced an aborting one. Fixed by storing `{ promise, originSignal }` pairs: - If the in-flight run's origin signal is aborted, treat it Low3/15/2026
v2.1.8## What's New ### Persistent task queue across bridge restarts (v2.1.8) Tasks that were pending or running when the bridge shut down now survive restarts: - **Pending tasks** are re-enqueued automatically on startup - **Running tasks** are marked as `"interrupted"` (new terminal status โ€” distinct from `"cancelled"/"error"`) - Tasks file upgraded to versioned format `{ version: 1, savedAt, tasks }` with backward compat for v0 - Startup log line when tasks are restored from a previous run ### ToLow3/15/2026

Dependencies & License Audit

Loading dependencies...

Similar Packages

claude-code-proxyMonitor and visualize your Claude Code API interactions with Claude Code Proxy. Easily set up a transparent proxy and live dashboard. ๐Ÿ› ๏ธ๐Ÿš€main@2026-06-06
deep-code-reasoning-mcpA Model Context Protocol (MCP) server that provides advanced code analysis and reasoning capabilities powered by Google's Gemini AImain@2026-06-04
claude-doctor-skillAudit projects for security, broken hooks, tests, and CI issues across 20+ languages with adaptive scoring and actionable fixes.main@2026-06-04
lobehubThe ultimate space for work and life โ€” to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level โ€” enabling multi-agent collaboration, effov2.2.2
toolhive-studioToolHive is an application that allows you to install, manage and run MCP servers and connect them to AI agentsv0.36.0

More in MCP Servers

claude-plugins-officialOfficial, Anthropic-managed directory of high quality Claude Code Plugins.
langchain4jLangChain4j is an open-source Java library that simplifies the integration of LLMs into Java applications through a unified API, providing access to popular LLMs and vector databases. It makes impleme
hyperframesWrite HTML. Render video. Built for agents.
ms-365-mcp-serverA Model Context Protocol (MCP) server for interacting with Microsoft 365 and Office services through the Graph API