get_type_hierarchy

[hierarchy]

Gets base types, interfaces, and derived types for a type. Requires a symbolKey.

Try this tool in Playground.

Parameters

NameTypeRequiredDescription
symbolKeystringYesOpaque symbolKey from search_symbols, resolve_symbol, get_symbol_at_position, or any tool that returns symbolKey. Not a name.
includeBaseTypesbooleanNoInclude base types. Default is true.
includeInterfacesbooleanNoInclude interfaces. Default is true.
includeDerivedTypesbooleanNoInclude derived types. Default is true.
scopejsonNoOptional scope applied to derived type search.
derivedSkipnumberNoDerived type paging offset. Default is 0.
derivedTakenumberNoDerived type paging size. Default is 200.
pathStylestringNoPath style: 'absolute' (default) or 'relative' (to solution root).
timeout_msnumberNoTimeout in milliseconds (5 minutes). Use 0 to disable. Default is 300000.

Examples

Get type hierarchy for a type symbolKey

Request
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_type_hierarchy",
    "arguments": {
      "symbolKey": "..."
    }
  }
}
Response
{
  "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
}

Response Notes

Returns base types, interfaces, and derived types (derived types support paging)