Skip to main content
Glama

One-call binary survey

survey_binary
Read-only

Retrieve a compact binary overview in one call, covering metadata, segments, entry points, statistics, strings, functions, imports, and call graph. Use as first triage step.

Instructions

Get a compact overview of the binary in one call. Returns file metadata, segment layout, entry points, statistics, top 15 strings and functions ranked by xref count (functions include classification: thunk/wrapper/leaf/dispatcher/ complex), imports by category, and call graph summary. Use this as your FIRST tool call when starting analysis. Do not call list_funcs, imports, or find_regex separately for triage — this returns all of that. Use detail_level='minimal' for binaries with >10k functions.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
instance_idNoOptional database instance id. If omitted, use the current target.
detail_levelNoDetail level: 'standard' or 'minimal'standard

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
_noteNo
metadataNo
segmentsNo
statisticsNo
entrypointsNo
call_graph_summaryNo
imports_by_categoryNo
interesting_stringsNo
interesting_functionsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv20261008.0.1

TDQS

A4.7/5.0
Behavior4/5

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

The readOnlyHint annotation already establishes safety, but the description adds substantial behavioral context: it describes the bundled outputs, ranking of strings/functions, function classifications, and call graph summary. It does not fully explain how detail_level='minimal' changes the result, which keeps it from a 5.

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?

The description is front-loaded with the main purpose, then lists returned data, then gives usage instructions and the large-binary guidance. Every sentence contributes actionable information without redundancy.

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

Completeness5/5

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

Given the output schema exists, annotations mark it read-only, and the schema documents both parameters, the description is complete for correct invocation. It covers what is returned, when to use it first, which siblings to avoid for triage, and when to switch detail levels.

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?

Schema description coverage is 100%, so both parameters are already documented. The description adds practical meaning for detail_level by recommending 'minimal' for binaries with more than 10k functions, going beyond the schema's bare enum description.

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 and resource: 'Get a compact overview of the binary in one call.' It then enumerates what is returned, making the tool's scope concrete and clearly distinguishing it from siblings like list_funcs, imports, and find_regex.

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?

It explicitly says to use this as the FIRST tool call when starting analysis and instructs not to call list_funcs, imports, or find_regex separately for triage. It also gives a concrete condition for using detail_level='minimal' on binaries with over 10k functions.

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