Browse documentation

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.

Try it locally in the Glider playground

Parameters

NameTypeRequiredDescription
querystringYesName fragment or fully qualified name.
kindsstringNoOptional kinds filter (comma-separated). Type, Class, Interface, Struct, Enum, Delegate, Method, Property, Field, Event, Namespace. Type means any named type; the rest match the kind a result reports.
projectNamestringNoOptional project name to limit scope.
maxCandidatesnumberNoMax candidates to return. Default is 25. Default: 25
pathStylestringNoPath style: 'absolute' (default) or 'relative' (to solution root). Default: "absolute"
responseDetailstringNocompact returns results and actionable state. full adds diagnostic metadata under responseDiagnostics. Default: "compact"

Examples

Replace sample paths and symbol keys with values from your workspace.

Resolve an ambiguous type name

Arguments
{
  "query": "SolutionManager",
  "kinds": "Type"
}
Full MCP request
Full MCP request
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "resolve_symbol",
    "arguments": {
      "query": "SolutionManager",
      "kinds": "Type"
    }
  }
}
Illustrative response
{
  "success": true,
  "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"
    ]
  }
}

Resolve a method name

Arguments
{
  "query": "Login",
  "kinds": "Method"
}
Full MCP request
Full MCP request
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "resolve_symbol",
    "arguments": {
      "query": "Login",
      "kinds": "Method"
    }
  }
}

Response Notes

Returns candidate symbols with stable symbol keys. Candidates come from one name-match tier - exact name, else name prefix, else substring - reported as matchTier, with suppressedMatches counting what a weaker tier held, so a precise query is not diluted by symbols that merely contain it. Add * or ? to the query to match loosely on purpose. A query that already contains a wildcard reports matchTier Glob, which is its own tier: every hit is equally what you asked for, so nothing is suppressed and no tier note is returned. Namespaces are returned only when kinds asks for them. Results use top-level fields with success. Compact is the default; full adds responseDiagnostics. Both modes retain errors, coverage, partial state, and recovery advice.