FindSymbolsLABSCO SUMMARY
Semantic answers where an assistant would otherwise grep.
The difference shows up on the questions text search cannot answer at all: what implements this interface, which direction a call goes, and whether a rename is safe when a longer method name shares the prefix. Because it runs inside the IDE session, the answers reflect the solution as loaded, not as it appears on disk.
What it is
A Visual Studio extension that exposes the C# compiler's semantic model as tools. Symbol lookups, references, inheritance and renames are answered by Roslyn against your open solution, the same engine behind Go to Definition.
What you get
- A symbol's definition, its usages, and the symbol at any file position
- Symbol search across the solution, and the outline of a document
- Inheritance: what implements or derives from a type
- Call relationships in both directions — who calls a method and what it calls
- Renames carried out by the compiler across every call site
- Compiler diagnostics, document formatting, command execution and asynchronous test runs
- Debugger tools alongside the Roslyn ones, shipped as a preview
Requirements
Visual Studio with the extension installed from the Marketplace, and the solution open — the answers come from the same session you are editing in.
Setup effort
Follow the published steps
USE CASES
Finding the one real definition
Resolve the symbol instead of reading through matches. What comes back names the kind, the containing type and the line — one answer rather than a list to filter.
Renaming something without breaking a similar name
Let the compiler perform the rename across every call site, so a method whose name is a prefix of another is left alone.
Tracing how a change propagates
Read who calls a method and what that method calls, so the effect of a change is a graph rather than a guess.
Answering what implements an interface
Pull the inheritance tree — implementations, base types and derived types — which text search cannot produce at all.
Getting oriented in an unfamiliar file
Read the document outline, then jump to the symbol under the cursor, instead of scrolling a two-thousand-line file to build a mental map.
Checking your change actually compiles and passes
Read the compiler diagnostics, format the document, and run the tests from the same session — without leaving the conversation to do it.
41 tools
Listed in project docs. Your client may show a different list.
FindSymbolDefinitionFindSymbolUsagesGetSymbolAtLocationGetDocumentOutlineGetInheritanceGetMethodCallersGetMethodCallsGetDiagnosticsRenameSymbolFormatDocumentExecuteCommandExecuteAsyncTestGetSolutionTreeGetProjectReferencesLoadSolutionTranslatePathGetActiveFileGetSelectionCheckSelectionGetLoggingStatusSetLogLeveldebug_startdebug_stopdebug_get_modedebug_breakdebug_continuedebug_stepimmediate_executedebug_list_transportsdebug_list_processesdebug_attachdebug_get_callstackdebug_get_localsdebug_evaluateoutput_readerror_list_getbreakpoint_setbreakpoint_removebreakpoint_listexception_settings_setBEFORE YOU INSTALL
What to know first
Tools you get
41 tools named in the project's documentation. The 19 debugging tools are in preview, and tool groups can be switched off in Settings.
Where it runs
All 5 documented clients run the server on your machine.
INSTALLATION
Connect your client
Server setup
Install from the Visual Studio Marketplace (https://marketplace.visualstudio.com/items?itemName=LadislavSopko.mcpserverforvs), or search for "MCP AI Server" in the Visual Studio Extensions Manager
Open your .NET solution in Visual Studio
Configure the port in Tools > MCP Server Settings
Add the mcpServers block to your MCP client, pointing at http://localhost:<YOUR_PORT>/sdk/
MCP Clients
Codex
[mcp_servers.vs-mcp]
type = "stdio"
command = "npx"
args = ["mcp-remote", "http://localhost:3010/sdk/"]Cursor, Windsurf, Cline, Other MCP clients
{
"mcpServers": {
"vs-mcp": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"http://localhost:3010/sdk/"
]
}
}
}