Browse documentation

search_symbols

[symbols]

Find declaration names with literal, case-sensitive substring matches.

Unreleased read-only preview. Technical reference for agents and client integrators.

Before this call

File and module filters are exact. Name matches do not establish references, callers, or semantic identity.

Parameters

NameTypeRequiredDescription
querystringYesLiteral, case-sensitive declaration-name substring. An empty string matches all names. Maximum 4096 characters.
kindstringNoExact declaration kind.
filestringNoExact contained file path.
modulestringNoExact imported module identifier.
limitnumberNoInteger from 1 to 500. Keep the value unchanged during pagination. Default: 100
cursorstringNoOpaque nextCursor from the same query and generation. Keep all query arguments unchanged.

Examples

Technical examples for agents and client integrators. Replace paths and opaque keys with returned workspace values.

Illustrative arguments

Arguments
{
  "query": "Order",
  "kind": "class"
}
Full MCP request
Full MCP request
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "search_symbols",
    "arguments": {
      "query": "Order",
      "kind": "class"
    }
  }
}

Response notes

Results contain declarations, route, and pagination with nextCursor, truncated, outputLimited, and returned. Follow nextCursor with the same arguments. Keys and cursors belong to one generation. Inspect meta.inventory.complete, inventory.reasons, parserComplete, and pagination before an absence claim. Syntax errors and limits can reduce coverage. The inventory permits 20000 Java files, 1 MiB per file, 128 MiB of source, 64 directory levels, 100000 entries, and 100000 declarations. Local and anonymous declarations are excluded.