get_cascade_impact

[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.

Parameters

NameTypeRequiredDescription
symbolKeystringYesOpaque symbolKey from search_symbols, resolve_symbol, get_symbol_at_position, or any tool that returns symbolKey. Not a name.
depthnumberNoDepth of transitive expansion. Depth 1 returns only direct impact items. Default is 2.
scopejsonNoOptional scope for transitive impact analysis.
includeCallersbooleanNoInclude callers while building the cascade. Default is true.
includeImplementationsbooleanNoInclude implementations while building the cascade. Default is true.
includeOverridesbooleanNoInclude overrides while building the cascade. Default is true.
pathStylestringNoPath style: 'absolute' (default) or 'relative' (to solution root).
skipnumberNoPagination offset. Default is 0.
takenumberNoPagination size. Default is 200.
maxExpansionSymbolsnumberNoMaximum impacted symbols to expand before returning partial results. Default is 250.

Examples

Expand direct and transitive impact

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

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

Response Notes

Returns depth-based impact summaries plus a paged impacted-symbol list