An assistant grepping for a symbol finds the string; a language server finds the symbol. That difference is the whole product, and it inherits every language your VS Code setup already handles. The trade is that the editor has to be open with the project loaded, and each project needs its own port if you run more than one window.
A VS Code extension that starts an MCP server inside the editor and forwards requests to whichever language servers your extensions provide. The answers are the same ones the editor uses, so they are semantic rather than textual - and they work for any language you have an extension for.
- Every reference to a symbol, resolved by the language server rather than matched by name
- Workspace-wide symbol search, and per-file symbol outlines
- Jumps to definitions, declarations, type definitions and implementations
- Hover documentation, signature help and context-aware completions
- Call hierarchies and type hierarchies, in both directions
- Code actions, rename with the full list of edit locations, semantic tokens, code lens and smart selection ranges
Visual Studio Code 1.93.0 or higher, plus the language extensions for the languages you work in - the extension has no language knowledge of its own. It starts on activation and serves on port 8008; a bifrost.config.json in the project root gives each project its own name, path and port so several VS Code windows can run at once. Clients connect to the SSE endpoint, or through supergateway for clients that need a stdio bridge.
