get_symbol_info

[symbols]

Gets detailed information about a symbol by its stable key (signature, docs, locations).

Why this tool exists

C# names are overloaded, scoped, generic, nested, and sometimes duplicated across projects.

How it helps the agent

Symbol discovery converts fuzzy names or cursor positions into stable identities the model can reuse for later references, callers, and refactors.

Parameters

NameTypeRequiredDescription
symbolKeystringYesOpaque symbolKey from search_symbols, resolve_symbol, get_symbol_at_position, or any tool that returns symbolKey. Not a name.
includeLocationsbooleanNoInclude all definition locations. Default is true.
includeDocumentationbooleanNoInclude XML documentation. Default is true.
maxDocumentationCharsnumberNoMaximum documentation characters. Use 0 for unlimited. Default is 2000.
pathStylestringNoPath style: 'absolute' (default) or 'relative' (to solution root).

Examples

Get symbol info from a symbol key

Request
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_symbol_info",
    "arguments": {
      "symbolKey": "..."
    }
  }
}
Response
{
  "success": true,
  "data": {
    "name": "UserService",
    "fullName": "MyApp.Services.UserService",
    "kind": "Type",
    "namespace": "MyApp.Services",
    "filePath": "/path/to/UserService.cs",
    "lineNumber": 12,
    "projectName": "MyProject",
    "accessibility": "Public",
    "signature": "public class UserService",
    "documentation": "...",
    "locations": [
      {
        "filePath": "/path/to/UserService.cs",
        "lineNumber": 12,
        "column": 1,
        "lineText": "public class UserService",
        "projectName": "MyProject"
      }
    ]
  },
  "error": null
}

Response Notes

Returns rich symbol information including signature and locations

↑/↓ NavigateEnter OpenSpace Expand