Skip to main content
Glama
drvcvt
by drvcvt

get_xrefs

Retrieve all cross-references to or from a binary address to reveal callers, callees, and data references. Use direction to filter incoming or outgoing references for targeted analysis.

Instructions

Get all cross-references to or from a specific address, identifying callers, callees, and data references.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMax results to return
offsetNoPagination offset (0-based)
addressYesHex address (e.g. "0x08048000")
directionNoDirection of cross-references: "to" (who references this) or "from" (what this references)to
binary_pathYesAbsolute path to the binary file

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It correctly implies a read-only query and describes the categories of results, but it does not disclose pagination behavior or the fact that the default limit may prevent returning truly 'all' cross-references, making the word 'all' slightly misleading.

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

Conciseness5/5

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

A single, front-loaded sentence with no filler. It begins with the verb and object, then adds the key output categories. Every word earns its place.

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?

The description combined with the fully described schema gives the agent enough to invoke the tool correctly (required binary_path and address, optional limit/offset/direction). The lack of an output schema is partially mitigated by the description's mention of callers/callees/data references, though a brief note on return structure would improve completeness.

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

Parameters4/5

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

With 100% schema coverage, the baseline is 3. The description adds meaning beyond the schema by translating the direction enum into concrete output categories ('callers, callees, and data references'), giving the agent a richer understanding of what the address and direction parameters produce.

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?

The description states a specific verb ('Get') and a precise object ('cross-references to or from a specific address') while clarifying what the results identify ('callers, callees, and data references'). This clearly distinguishes the tool from sibling graph/analysis tools such as get_callgraph or get_control_flow_graph.

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

Usage Guidelines3/5

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

The description implies its use case: when an agent needs address-level cross-references, this is the tool. However, it provides no explicit when-to-use or when-not-to-use guidance, nor does it name alternatives or exclusions, leaving some interpretation to the agent.

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