resolve_symbol

[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.

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
querystringYesName fragment or fully qualified name.
kindsstringNoOptional kinds filter (comma-separated): 'Type,Method,Property,Field,Event'.
projectNamestringNoOptional project name to limit scope.
maxCandidatesnumberNoMax candidates to return. Default is 25.
pathStylestringNoPath style: 'absolute' (default) or 'relative' (to solution root).

Examples

Resolve an ambiguous type name

Request
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "resolve_symbol",
    "arguments": {
      "query": "SolutionManager",
      "kinds": "Type"
    }
  }
}
Response
{
  "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

Request
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "resolve_symbol",
    "arguments": {
      "query": "Login",
      "kinds": "Method"
    }
  }
}
Response
{
  "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
}

Response Notes

Returns candidate symbols with stable symbol keys

↑/↓ NavigateEnter OpenSpace Expand