noodlbox

Symbol Context

Get comprehensive 360-degree context for a code symbol

Get a complete view of a code symbol: its definition, categorized references, community membership, and linked documentation.

Parameters

ParameterTypeRequiredDefaultDescription
repositorystringYes-Repository name (e.g., "owner/repo")
symbol_namestringNo-Symbol name (e.g., "validateBooking", "BookingService.validate")
symbol_uidstringNo-Direct symbol UID from prior tool calls (zero-ambiguity lookup)
file_pathstringNo-Relative file path to disambiguate common names
include_contentbooleanNofalseInclude full symbol source code
include_documentsbooleanNofalseInclude linked markdown documentation

Either symbol_name or symbol_uid must be provided. Use symbol_uid when you already have a symbol ID from a prior tool call for instant, unambiguous lookup.

Usage

Ask your agent:

"Show me the full context for the authenticateUser function"

"What calls BookingService.validate and what does it depend on?"

"Get the symbol context for the function at src/auth/login.ts"

Response Format

The response is a tagged enum with two possible outcomes:

Found

When the symbol is uniquely identified, returns full 360-degree context:

{
  "status": "found",
  "symbol": {
    "uid": "abc123",
    "name": "authenticateUser",
    "kind": "Function",
    "file_path": "src/auth/login.ts",
    "start_line": 45,
    "start_column": 0,
    "end_line": 72,
    "signature": "async function authenticateUser(credentials: Credentials): Promise<User>",
    "content": "...",
    "centrality_score": 0.85
  },
  "incoming": {
    "calls": [
      {
        "symbol_uid": "def456",
        "name": "handleLogin",
        "file_path": "src/controllers/auth.ts",
        "line": 23,
        "column": 4,
        "kind": "Function"
      }
    ],
    "imports": [],
    "extends": [],
    "implements": [],
    "contains": [],
    "uses": []
  },
  "outgoing": {
    "calls": [
      {
        "symbol_uid": "ghi789",
        "name": "validateCredentials",
        "file_path": "src/auth/validator.ts",
        "line": 12,
        "column": 0,
        "kind": "Function"
      }
    ],
    "imports": [],
    "extends": [],
    "implements": [],
    "contains": [],
    "uses": []
  },
  "community": {
    "community_uid": "comm_001",
    "label": "Authentication",
    "size": 24
  },
  "documents": [
    {
      "document_uid": "doc_001",
      "title": "Authentication Guide",
      "file_path": "docs/auth/README.md"
    }
  ]
}

Ambiguous

When multiple symbols match the query, returns candidates for disambiguation:

{
  "status": "ambiguous",
  "message": "Found 3 symbols matching 'validate'. Use symbol_uid or file_path to disambiguate.",
  "candidates": [
    {
      "uid": "abc123",
      "name": "validate",
      "kind": "Function",
      "file_path": "src/booking/validator.ts",
      "line": 15
    },
    {
      "uid": "def456",
      "name": "validate",
      "kind": "Method",
      "file_path": "src/payment/processor.ts",
      "line": 42
    },
    {
      "uid": "ghi789",
      "name": "validate",
      "kind": "Function",
      "file_path": "src/auth/input.ts",
      "line": 8
    }
  ]
}

To resolve ambiguity, re-call the tool with the symbol_uid from the desired candidate.

Response Fields

Symbol Detail

FieldTypeDescription
uidstringUnique symbol identifier (use for re-lookups)
namestringSymbol name
kindstringSymbol kind (Function, Class, Method, Interface, etc.)
file_pathstringRelative path within the repository
start_linenumberStart line of the symbol definition
start_columnnumberStart column
end_linenumberEnd line
signaturestringSymbol signature (always included when available)
contentstringFull source code (only when include_content: true)
centrality_scorenumberImportance score from community detection (higher = more central hub)

Categorized Edges

References are grouped by relationship type. Each edge includes the target symbol's symbol_uid, name, file_path, line, column, and kind.

CategoryDescription
callsFunction/method calls
importsImport references
extendsClass inheritance
implementsInterface implementation
containsParent-child containment (e.g., class contains method)
usesVariable/type usage

Outgoing edges are deduplicated by target symbol. Empty categories are omitted from the response.

Community Info

FieldDescription
community_uidCommunity identifier
labelHuman-readable community label
sizeNumber of symbols in the community

Lookup Precision

The tool supports three tiers of lookup precision:

TierParameterSpeedAmbiguity
1. UID lookupsymbol_uidSub-millisecondNone
2. Name + filesymbol_name + file_pathFastLow
3. Name onlysymbol_nameFastPossible (returns ambiguous if multiple matches)

Tips

  • Start with name lookup, then use symbol_uid from results for follow-up queries
  • Use file_path to disambiguate common names like "validate", "process", "handle"
  • Check centrality_score to identify key hub symbols in the architecture
  • Enable include_documents to find documentation linked to the symbol
  • Combine with Cypher queries for custom relationship traversals

On this page