Skip to main content
Glama

get_symbol

Read-only

Exact facts about code without opening the file: the signature, parameters, calls, span and hash of one symbol, or, omitting symbol, of every symbol in the module, with the notes anchored to it and whether the file passed the repo's check. Use it when a briefing lacks a fact; use blast_radius for who depends on it. Read-only.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "path": "<path>"
    },
    "name": "get_symbol"
  }
}

Input Schema

NameRequiredDescriptionDefault
pathYesRepo-relative file path, e.g. src/auth.py.
symbolNoFunction, class or method name; omit for the whole module.
repo_idNoThe repository id, e.g. github.com/org/repo (the Cork briefing names it). Omit it to use the repo your session works in.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / repo_id / description
      Previous value: -"The repository id, e.g. github.com/org/repo (the Collide briefing names it). Omit it to use the repo your session works in."New value: +"The repository id, e.g. github.com/org/repo (the Cork briefing names it). Omit it to use the repo your session works in."
  2. Changed2 schema fields changed
    • changedInput schema / properties / repo_id / description
      Previous value: -"The repository id, e.g. github.com/org/repo (repo_id in .collide/config.json)."New value: +"The repository id, e.g. github.com/org/repo (the Collide briefing names it). Omit it to use the repo your session works in."
    • changedInput schema / required
      Previous value: -[
      -  "repo_id",
      -  "path"
      -]New value: +[
      +  "path"
      +]
  3. Changed3 schema fields changed
    • addedInput schema / properties / path / description
      Added value: +"Repo-relative file path, e.g. src/auth.py."
    • addedInput schema / properties / repo_id / description
      Added value: +"The repository id, e.g. github.com/org/repo (repo_id in .collide/config.json)."
    • addedInput schema / properties / symbol / description
      Added value: +"Function, class or method name; omit for the whole module."
  4. Changed1 schema field changed
    • changedInput schema / required
      Previous value: -[
      -  "repo_id",
      -  "path",
      -  "symbol"
      -]New value: +[
      +  "repo_id",
      +  "path"
      +]
  5. Changed7 schema fields changed
    • removedInput schema / properties / path / description
      Removed value: -"Repo-relative file path, e.g. src/app/api.py."
    • removedInput schema / properties / path / title
      Removed value: -"Path"
    • removedInput schema / properties / repo_id / description
      Removed value: -"Repository id — the git remote (e.g. github.com/acme/api) or a bare folder name; a #branch suffix scopes to that branch."
    • removedInput schema / properties / repo_id / title
      Removed value: -"Repo Id"
    • removedInput schema / properties / symbol / description
      Removed value: -"A symbol in the file — function, class, method, or constant name."
    • removedInput schema / properties / symbol / title
      Removed value: -"Symbol"
    • removedInput schema / title
      Removed value: -"get_symbolArguments"
  6. First observed

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint/openWorldHint/destructiveHint, so safety is covered; the description adds real value by disclosing the returned data set and the module-wide fallback when symbol is omitted. It does not say what happens when the symbol or path is not found, or how large a whole-module response can be, which is the remaining behavioral gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the payoff ("exact facts about code without opening the file") followed by the inventory of facts and then the routing rule. Dense but every clause carries information; the trailing "Read-only." is redundant with the annotations but harmless.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description takes on the burden of describing return contents and does so concretely, and all three parameters are accounted for. Missing only failure-mode behavior (unknown symbol, unreadable path) for full completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and every parameter is documented in-schema, including the symbol-omission behavior and repo_id defaulting. The description restates the symbol-omission semantics rather than adding format or edge-case guidance, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific resource and enumerates exactly what is returned — signature, parameters, calls, span, hash, anchored notes, check status — and clarifies dual scope (one symbol vs. whole module when symbol is omitted). This clearly separates it from siblings like explode_code/explain_code style tools and blast_radius.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit trigger ("when a briefing lacks a fact") and routes dependency questions to blast_radius, which functions as the exclusion rule. An agent knows both when to pick this tool and which sibling to pick instead.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources