Skip to main content
Glama

Export function prototypes

export_funcs
Read-only

Export function data for specified addresses or names from IDA in JSON, C header, or prototypes formats.

Instructions

Export function data for addresses in json/c_header/prototypes formats.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
addrsYesFunction addresses or names to export (e.g. '0x123e', 'main')
formatNoExport format: json (default), c_header, or prototypesjson
instance_idNoOptional database instance id. If omitted, use the current target.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv20261008.0.1

TDQS

C2.9/5.0
Behavior2/5

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

readOnlyHint=true is the only behavioral signal, and the description adds little beyond it. 'Export' is ambiguous about whether output is written to a file or returned inline, and there's no mention of permissions, limits, or handling of unresolved addresses.

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?

A single efficient sentence with the formats front-loaded and no filler. It is appropriately terse, though it could have used the space to disambiguate the export behavior.

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

Completeness3/5

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

An output schema exists, so return values needn't be explained, and params are fully documented in the schema. However, the core ambiguity of whether this produces a file or a data payload is left unresolved, which matters for correct invocation.

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 100%, so the schema already documents addrs, format, and instance_id with examples and defaults. The description only restates the format list, adding no syntax or edge-case detail beyond the schema.

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 clear verb+resource ('Export function data') and enumerates the output formats. It doesn't differentiate itself from nearby siblings like decompile, list_funcs, or func_query, so an agent can't easily tell why it would pick this over them.

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

Usage Guidelines2/5

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

No when-to-use guidance, no conditions, and no alternatives named. The description never explains when exporting is preferable to querying or decompiling, leaving the agent to infer the use case.

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