[callgraph]
Expands analyze_change_impact transitively to show callers, implementations, and overrides up to a requested depth. Use it for bounded refactor planning before changing a symbol.
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. |
| depth | number | No | Depth of transitive expansion. Depth 1 returns only direct impact items. Default is 2. |
| scope | json | No | Optional scope for transitive impact analysis. |
| includeCallers | boolean | No | Include callers while building the cascade. Default is true. |
| includeImplementations | boolean | No | Include implementations while building the cascade. Default is true. |
| includeOverrides | boolean | No | Include overrides while building the cascade. Default is true. |
| pathStyle | string | No | Path style: 'absolute' (default) or 'relative' (to solution root). |
| skip | number | No | Pagination offset. Default is 0. |
| take | number | No | Pagination size. Default is 200. |
| maxExpansionSymbols | number | No | Maximum impacted symbols to expand before returning partial results. Default is 250. |
Expand direct and transitive impact
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_cascade_impact",
"arguments": {
"symbolKey": "...",
"depth": 2
}
}
}{
"success": true,
"data": {
"symbolKey": "...",
"depth": 2,
"summaryByDepth": [
{
"depth": 1,
"impactedSymbols": 5
},
{
"depth": 2,
"impactedSymbols": 11
}
],
"paging": {
"skip": 0,
"take": 200,
"returned": 2,
"total": 2
},
"impactedSymbols": [
{
"name": "Login",
"kind": "Method",
"fullName": "MyApp.Controllers.AuthController.Login()",
"symbolKey": "...",
"depth": 1,
"projectName": "MyApp"
}
],
"partial": false
},
"error": null
}Focus on callers only
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_cascade_impact",
"arguments": {
"symbolKey": "...",
"depth": 3,
"includeImplementations": false,
"includeOverrides": false
}
}
}{
"success": true,
"data": {
"symbolKey": "...",
"depth": 2,
"summaryByDepth": [
{
"depth": 1,
"impactedSymbols": 5
},
{
"depth": 2,
"impactedSymbols": 11
}
],
"paging": {
"skip": 0,
"take": 200,
"returned": 2,
"total": 2
},
"impactedSymbols": [
{
"name": "Login",
"kind": "Method",
"fullName": "MyApp.Controllers.AuthController.Login()",
"symbolKey": "...",
"depth": 1,
"projectName": "MyApp"
}
],
"partial": false
},
"error": null
}Returns depth-based impact summaries plus a paged impacted-symbol list