find_implementations

[references]

Finds implementations of an interface/abstract type or member. Requires a symbolKey.

Why this tool exists

Safe edits depend on knowing real references, implementations, overrides, and unused members rather than matching text.

How it helps the agent

The model can see where code is actually used and avoid changing the wrong overload, interface, or similarly named member.

Parameters

NameTypeRequiredDescription
symbolKeystringYesOpaque symbolKey from search_symbols, resolve_symbol, get_symbol_at_position, or any tool that returns symbolKey. Not a name.
scopejsonNoOptional scope for implementation search.
pathStylestringNoPath style: 'absolute' (default) or 'relative' (to solution root).
skipnumberNoPagination offset. Default is 0.
takenumberNoPagination size. Default is 200.

Examples

Find implementations for an interface

Request
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "find_implementations",
    "arguments": {
      "symbolKey": "..."
    }
  }
}
Response
{
  "success": true,
  "data": {
    "symbolKey": "...",
    "implementationCount": 2,
    "paging": {
      "skip": 0,
      "take": 200,
      "returned": 2,
      "total": 2
    },
    "implementations": [
      {
        "name": "SqlRepository",
        "fullName": "MyApp.Data.SqlRepository",
        "kind": "Type",
        "symbolKey": "...",
        "filePath": "/path/to/SqlRepository.cs",
        "lineNumber": 10,
        "projectName": "MyProject"
      }
    ]
  },
  "error": null
}

Response Notes

Returns implementing symbols (with paging)

↑/↓ NavigateEnter OpenSpace Expand