[symbols]
Quick lookup: resolves a name or pattern into candidate symbols with stable symbolKeys. Use when you already know the symbol name. Lightweight alternative to search_symbols.
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 |
|---|---|---|---|
| query | string | Yes | Name fragment or fully qualified name. |
| kinds | string | No | Optional kinds filter (comma-separated): 'Type,Method,Property,Field,Event'. |
| projectName | string | No | Optional project name to limit scope. |
| maxCandidates | number | No | Max candidates to return. Default is 25. |
| pathStyle | string | No | Path style: 'absolute' (default) or 'relative' (to solution root). |
Resolve an ambiguous type name
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "resolve_symbol",
"arguments": {
"query": "SolutionManager",
"kinds": "Type"
}
}
}{
"success": true,
"data": {
"query": "SolutionManager",
"candidateCount": 2,
"candidates": [
{
"symbolKey": "...",
"fullName": "MyApp.Services.SolutionManager",
"kind": "Type",
"filePath": "/path/to/SolutionManager.cs",
"lineNumber": 12,
"projectName": "MyProject"
}
],
"hints": {
"nextSteps": [
"Use get_symbol_info with a candidate symbolKey for details",
"Use find_references with symbolKey to locate usages"
]
}
},
"meta": {
"durationMs": 123,
"cancelled": false,
"timedOut": false,
"timeoutMs": 1200000
},
"error": null
}Resolve a method name
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "resolve_symbol",
"arguments": {
"query": "Login",
"kinds": "Method"
}
}
}{
"success": true,
"data": {
"query": "SolutionManager",
"candidateCount": 2,
"candidates": [
{
"symbolKey": "...",
"fullName": "MyApp.Services.SolutionManager",
"kind": "Type",
"filePath": "/path/to/SolutionManager.cs",
"lineNumber": 12,
"projectName": "MyProject"
}
],
"hints": {
"nextSteps": [
"Use get_symbol_info with a candidate symbolKey for details",
"Use find_references with symbolKey to locate usages"
]
}
},
"meta": {
"durationMs": 123,
"cancelled": false,
"timedOut": false,
"timeoutMs": 1200000
},
"error": null
}Returns candidate symbols with stable symbol keys