[symbols]
Gets detailed information about a symbol by its stable key (signature, docs, locations).
C# names are overloaded, scoped, generic, nested, and sometimes duplicated across projects.
Symbol discovery converts fuzzy names or cursor positions into stable identities the model can reuse for later references, callers, and refactors.
| Name | Type | Required | Description |
|---|---|---|---|
| symbolKey | string | Yes | Opaque symbolKey from search_symbols, resolve_symbol, get_symbol_at_position, or any tool that returns symbolKey. Not a name. |
| includeLocations | boolean | No | Include all definition locations. Default is true. |
| includeDocumentation | boolean | No | Include XML documentation. Default is true. |
| maxDocumentationChars | number | No | Maximum documentation characters. Use 0 for unlimited. Default is 2000. |
| pathStyle | string | No | Path style: 'absolute' (default) or 'relative' (to solution root). |
Get symbol info from a symbol key
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_symbol_info",
"arguments": {
"symbolKey": "..."
}
}
}{
"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
}Returns rich symbol information including signature and locations