[hierarchy]
Gets base types, interfaces, and derived types for a type. Requires a symbolKey.
Try this tool in Playground.
| Name | Type | Required | Description |
|---|---|---|---|
| symbolKey | string | Yes | Opaque symbolKey from search_symbols, resolve_symbol, get_symbol_at_position, or any tool that returns symbolKey. Not a name. |
| includeBaseTypes | boolean | No | Include base types. Default is true. |
| includeInterfaces | boolean | No | Include interfaces. Default is true. |
| includeDerivedTypes | boolean | No | Include derived types. Default is true. |
| scope | json | No | Optional scope applied to derived type search. |
| derivedSkip | number | No | Derived type paging offset. Default is 0. |
| derivedTake | number | No | Derived type paging size. Default is 200. |
| pathStyle | string | No | Path style: 'absolute' (default) or 'relative' (to solution root). |
| timeout_ms | number | No | Timeout in milliseconds (5 minutes). Use 0 to disable. Default is 300000. |
Get type hierarchy for a type symbolKey
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_type_hierarchy",
"arguments": {
"symbolKey": "..."
}
}
}{
"success": true,
"data": {
"symbolKey": "...",
"baseTypes": [
{
"name": "ControllerBase",
"fullName": "Microsoft.AspNetCore.Mvc.ControllerBase",
"symbolKey": "..."
}
],
"interfaces": [],
"derivedPaging": {
"skip": 0,
"take": 200,
"returned": 1,
"total": 1
},
"derivedTypes": [
{
"name": "UsersController",
"fullName": "MyApp.Controllers.UsersController",
"symbolKey": "...",
"filePath": "/path/to/UsersController.cs",
"lineNumber": 5
}
]
},
"error": null
}Returns base types, interfaces, and derived types (derived types support paging)