Skip to main content
Glama

get_function_by_address

Identify which Ghidra function contains a given address and return its name, signature, body range, and calling convention.

Instructions

Get the function at or containing an address: name, signature, body range, calling convention.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
addressYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.0.0

TDQS

A3.6/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 discloses the returned attributes (name, signature, body range, calling convention), which conveys useful behavior, but it says nothing about read-only nature, permissions, or failure modes. For a lookup on a non-entry address, it doesn't explain what happens if no function contains the address.

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 compact sentence that front-loads the action and then lists the return payload. No filler, no redundancy with the title.

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 an output schema present, the description need not explain return values, and the input surface is a single parameter. It covers purpose and resolution behavior adequately; only the address format and the no-match case are left implicit, which is minor.

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 description coverage is 0% for the single 'address' parameter, so the description must compensate. The wording 'at or containing' is genuinely useful semantics, signaling that any interior address resolves to its enclosing function, not just entry points. However, it doesn't specify the address format (hex string, integer), leaving a real gap.

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

Purpose4/5

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

States a specific verb and resource ('Get the function') qualified by location ('at or containing an address') and enumerates the returned fields. It is clearly distinguishable from get_current_function, which operates on the cursor rather than an address. It does not explicitly name siblings or clarify against decompile_function_by_address, so it falls short of a 5.

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 phrase 'at or containing an address' implies the usage context (you have an address inside or at the start of a function), but it never says when to prefer this over get_current_function, list_functions, or decompile_function_by_address. Usage is implied rather than stated.

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