get_outgoing_calls

[callgraph]

Finds methods called by a given method's body. Requires a symbolKey. Supports depth-limited expansion and paging.

Why this tool exists

Bugs and regressions follow execution paths, not file names.

How it helps the agent

The model can trace callers, outgoing calls, and impact before choosing where to patch or how far a change may spread.

Parameters

NameTypeRequiredDescription
symbolKeystringYesOpaque symbolKey from search_symbols, resolve_symbol, get_symbol_at_position, or any tool that returns symbolKey. Not a name.
depthnumberNoDepth of expansion. Default is 1 (direct calls).
scopejsonNoOptional scope for outgoing call analysis.
skipnumberNoPagination offset. Default is 0.
takenumberNoPagination size. Default is 200.
pathStylestringNoPath style: 'absolute' (default) or 'relative' (to solution root).

Examples

Get outgoing calls for a method

Request
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_outgoing_calls",
    "arguments": {
      "symbolKey": "...",
      "depth": 1
    }
  }
}
Response
{
  "success": true,
  "data": {
    "symbolKey": "...",
    "callCount": 2,
    "paging": {
      "skip": 0,
      "take": 200,
      "returned": 2,
      "total": 2
    },
    "calls": [
      {
        "callee": {
          "name": "SaveAsync",
          "fullName": "MyApp.Data.UserRepository.SaveAsync(User)",
          "symbolKey": "..."
        },
        "isExternal": false,
        "depth": 1
      }
    ]
  },
  "error": null
}

Response Notes

Returns outgoing calls (with paging)

↑/↓ NavigateEnter OpenSpace Expand