Skip to content

Conversation

@CalvinAllen
Copy link
Contributor

@CalvinAllen CalvinAllen commented Jan 16, 2026

Summary

  • Add four navigation tools that mirror LSP protocol capabilities:
    • symbol_document - Get all symbols (classes, methods, etc.) in a file
    • symbol_workspace - Search symbols across the entire solution
    • goto_definition - Navigate to where a symbol is defined
    • find_references - Find all usages of a symbol
  • Create SymbolModels.cs with DTOs for navigation results
  • Implement three-layer RPC pattern following existing architecture

Closes #2
Closes #13
Closes #14
Closes #15
Closes #16

Test plan

  • Build solution with dotnet build src/CodingWithCalvin.MCPServer.slnx
  • Load extension in VS with a C# solution open
  • Start MCP server and verify new tools appear in "Show Available Tools"
  • Test symbol_document on a .cs file
  • Test symbol_workspace with query like "RpcClient"
  • Test goto_definition on a class/method reference
  • Test find_references on a symbol

Add four navigation tools that mirror LSP protocol capabilities:
- symbol_document: Get all symbols in a file using FileCodeModel
- symbol_workspace: Search symbols across the entire solution
- goto_definition: Navigate to symbol definition using Edit.GoToDefinition
- find_references: Find all usages of a symbol via text search

Includes new DTOs in SymbolModels.cs and implements the three-layer
RPC pattern (NavigationTools -> RpcClient -> RpcServer -> VisualStudioService).
@CalvinAllen CalvinAllen merged commit 18adb0f into main Jan 19, 2026
1 check passed
@CalvinAllen CalvinAllen deleted the feat/tools/add-navigation-tools branch January 19, 2026 18:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants