find_usagesLABSCO SUMMARY
The editor already knows the answer - this hands it over.
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.
What it is
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.
What you get
- 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
Requirements
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.
Setup effort
Follow the published steps
USE CASES
Finding out what actually calls a function
Ask for the usages resolved by the language server, so overloads and same-named symbols in other modules do not pollute the answer.
Orienting in an unfamiliar codebase
Search the workspace symbols for the concept you are chasing, then read the outline of the file it lands in.
Judging the blast radius of a rename
Ask for the rename locations first and read them, rather than performing the rename and reviewing the diff afterwards.
Running two projects at once
Give each project a bifrost.config.json with its own port and path, and point the client at the project-specific endpoint.
3 tools
Listed in project docs. Your client may show a different list.
renameget_workspace_symbolsBEFORE YOU INSTALL
What to know first
Tools you get
3 tools named in the project's documentation.
Requires
A client that can reach a remote MCP server over HTTP
Where it runs
All 4 documented setups run the server on your machine.
INSTALLATION
Connect your client
Server setup
Install the extension from the VS Code marketplace
Install any language-specific extensions you need for your development
Open your project in VS Code
The extension will automatically start an MCP server when activated.
MCP Clients
Cline — Windows
{
"mcpServers": {
"Bifrost": {
"command": "cmd",
"args": [
"/c",
"npx",
"-y",
"supergateway",
"--sse",
"http://localhost:8008/sse"
],
"disabled": false,
"autoApprove": [],
"timeout": 600
}
}
}Cline — macOS / Linux
{
"mcpServers": {
"Bifrost": {
"command": "npx",
"args": [
"-y",
"supergateway",
"--sse",
"http://localhost:8008/sse"
],
"disabled": false,
"autoApprove": [],
"timeout": 600
}
}
}Roo Code
{
"mcpServers": {
"Bifrost": {
"type": "sse",
"url": "http://localhost:8008/sse"
}
}
}Cursor
{
"mcpServers": {
"Bifrost": {
"url": "http://localhost:8008/sse"
}
}
}