[symbols]
Recommended first-call router for code navigation. Starts with semantic symbol discovery by default, then routes to references, implementations, callers, hierarchy, file outline, or literal text search.
Agents often know the intent of a navigation task before they know the exact lower-level tool to call.
It acts as the semantic front door: the model can ask for code by meaning, then let Glider route to symbols, references, implementations, callers, hierarchy, or text search.
Try it locally in the GliderMCP playground
| Name | Type | Required | Description |
|---|---|---|---|
| query | string | Yes | Name, identifier, symbol query, file path, or literal text depending on intent. |
| intent | string | No | Routing mode: 'auto' (default), 'symbol', 'references', 'implementations', 'callers', 'hierarchy', 'fileOutline', or 'literalText'. |
| scope | json | No | Optional scope object. Supports project or file scoping. |
| kinds | string | No | Optional symbol kind filter for symbol routing, for example 'Type,Method,Property'. |
| pathStyle | string | No | Path style: 'absolute' (default) or 'relative' (to solution root). |
| skip | number | No | Pagination offset for candidate/result pages. Default is 0. |
| take | number | No | Pagination size. Default is 50. |
Start with semantic discovery for a type name
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "find_code",
"arguments": {
"query": "OrderService",
"intent": "auto",
"kinds": "Type"
}
}
}{
"success": true,
"data": {
"query": "OrderService",
"intent": "symbol",
"routedTool": "search_symbols",
"candidateCount": 2,
"candidates": [
{
"symbolKey": "...",
"name": "OrderService",
"fullName": "Acme.Orders.Services.OrderService",
"kind": "Type",
"filePath": "/path/to/OrderService.cs",
"lineNumber": 12,
"projectName": "Orders.Api"
}
],
"hints": {
"nextSteps": [
"Use a returned symbolKey with find_references, find_implementations, find_callers, or get_type_hierarchy",
"Use intent=literalText only for comments, strings, config-like text, or non-symbol text"
]
}
},
"meta": {
"durationMs": 123,
"cancelled": false,
"timedOut": false,
"timeoutMs": 1200000
},
"error": null
}Route to references for a known symbol name
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "find_code",
"arguments": {
"query": "IOrderRepository",
"intent": "references",
"kinds": "Type"
}
}
}{
"success": true,
"data": {
"query": "OrderService",
"intent": "symbol",
"routedTool": "search_symbols",
"candidateCount": 2,
"candidates": [
{
"symbolKey": "...",
"name": "OrderService",
"fullName": "Acme.Orders.Services.OrderService",
"kind": "Type",
"filePath": "/path/to/OrderService.cs",
"lineNumber": 12,
"projectName": "Orders.Api"
}
],
"hints": {
"nextSteps": [
"Use a returned symbolKey with find_references, find_implementations, find_callers, or get_type_hierarchy",
"Use intent=literalText only for comments, strings, config-like text, or non-symbol text"
]
}
},
"meta": {
"durationMs": 123,
"cancelled": false,
"timedOut": false,
"timeoutMs": 1200000
},
"error": null
}Get a compact outline for a C# file
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "find_code",
"arguments": {
"query": "Services/OrderService.cs",
"intent": "fileOutline"
}
}
}{
"success": true,
"data": {
"query": "OrderService",
"intent": "symbol",
"routedTool": "search_symbols",
"candidateCount": 2,
"candidates": [
{
"symbolKey": "...",
"name": "OrderService",
"fullName": "Acme.Orders.Services.OrderService",
"kind": "Type",
"filePath": "/path/to/OrderService.cs",
"lineNumber": 12,
"projectName": "Orders.Api"
}
],
"hints": {
"nextSteps": [
"Use a returned symbolKey with find_references, find_implementations, find_callers, or get_type_hierarchy",
"Use intent=literalText only for comments, strings, config-like text, or non-symbol text"
]
}
},
"meta": {
"durationMs": 123,
"cancelled": false,
"timedOut": false,
"timeoutMs": 1200000
},
"error": null
}Use literal text search for non-symbol text
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "find_code",
"arguments": {
"query": "Order could not be submitted.",
"intent": "literalText"
}
}
}{
"success": true,
"data": {
"query": "OrderService",
"intent": "symbol",
"routedTool": "search_symbols",
"candidateCount": 2,
"candidates": [
{
"symbolKey": "...",
"name": "OrderService",
"fullName": "Acme.Orders.Services.OrderService",
"kind": "Type",
"filePath": "/path/to/OrderService.cs",
"lineNumber": 12,
"projectName": "Orders.Api"
}
],
"hints": {
"nextSteps": [
"Use a returned symbolKey with find_references, find_implementations, find_callers, or get_type_hierarchy",
"Use intent=literalText only for comments, strings, config-like text, or non-symbol text"
]
}
},
"meta": {
"durationMs": 123,
"cancelled": false,
"timedOut": false,
"timeoutMs": 1200000
},
"error": null
}Returns symbol candidates, disambiguation candidates, or the wrapped result from the routed downstream tool. Zero symbol matches return success=false for symbol-routed intents.