Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/mrexodia/ida-pro-mcp/llms.txt

Use this file to discover all available pages before exploring further.

MCP resources are read-only, addressable data sources that an MCP client can browse, subscribe to, and display — separate from tools, which perform actions. IDA Pro MCP exposes IDA database state through ida:// URIs so clients can inspect the current IDB without calling a tool and incurring analysis side effects. Use resources when you need a snapshot of stable, structural data (segment layout, type definitions, import table). Use tools when you need to search, compute, or modify state.

Core IDB state

These resources describe the binary loaded into the current IDB.

ida://idb/metadata

IDB file information: path, root filename, image base, image size, and input file hashes.
ida://idb/metadata
path
string
Absolute path to the .idb or .i64 database file.
module
string
Root filename of the analyzed binary.
base
string
Image base address as a hex string.
size
string
Image size as a hex string.
md5
string
MD5 hash of the input file, or "unavailable" if the file cannot be read.
sha256
string
SHA-256 hash of the input file.
crc32
string
CRC-32 of the input file as a hex string.
filesize
string
Size of the input file as a hex string.

ida://idb/segments

All memory segments with their address range, size, and permission flags.
ida://idb/segments
Returns a list of segment objects:
name
string
Segment name (e.g., .text, .data, LOAD).
start
string
Start address as a hex string.
end
string
End address (exclusive) as a hex string.
size
string
Segment size as a hex string.
permissions
string
Permission flags as a string of r, w, x characters, or "---" if none.

ida://idb/entrypoints

All entry points known to IDA: the primary entry, named exports, TLS callbacks, and exception handlers.
ida://idb/entrypoints
Returns a list of entry point objects:
addr
string
Entry point address as a hex string.
name
string
Entry point name (e.g., "main", "start", "TlsCallback_0").
ordinal
number
IDA entry ordinal number.

UI state

These resources reflect the current state of the IDA user interface. They are useful when you want to know where the analyst’s cursor is positioned without polling through a tool call.

ida://cursor

The current cursor position in the IDA view, plus the enclosing function if one exists.
ida://cursor
addr
string
Current cursor address as a hex string.
function
object
Present when the cursor is inside a known function.

ida://selection

The currently selected address range, if any.
ida://selection
start
string
Selection start address as a hex string.
end
string | null
Selection end address as a hex string, or null if a single address is selected.
selection
null
null when nothing is selected.

Type information

These resources enumerate the type library: all local types, structures and unions, and individual structure layouts.

ida://types

All types in the local type library, including structs, unions, enums, typedefs, and function types.
ida://types
Returns a list of type entries:
ordinal
number
Type ordinal in the local type library.
name
string
Type name.
type
string
Human-readable type string as produced by IDA’s type printer.

ida://structs

All structures and unions in the type library with their sizes.
ida://structs
Returns a list of struct/union summaries:
name
string
Structure or union name.
size
string
Total size as a hex string.
is_union
boolean
true for unions, false for structures.

ida://struct/{name}

Full definition of a single structure or union, including all member fields.
ida://struct/{name}
name
string
required
Structure or union name, e.g. _IMAGE_DOS_HEADER.
name
string
Structure name.
size
string
Total size as a hex string.
members
StructureMember[]
If the name is not found or is not a struct/union, returns { "error": "..." }.

Lookups

Point-lookup resources for individual imports, exports, and cross-reference targets.

ida://import/{name}

Resolve an import by name or ord_N ordinal alias.
ida://import/{name}
name
string
required
Import name (e.g., CreateFileW) or ordinal alias (e.g., ord_123).
addr
string
Import stub address as a hex string.
name
string
Resolved import name.
module
string
Source module name (e.g., KERNEL32.DLL).
ordinal
number
Import ordinal.
Returns { "error": "Import not found: {name}" } if the import does not exist.

ida://export/{name}

Resolve an export by name.
ida://export/{name}
name
string
required
Export name (e.g., DllMain).
addr
string
Export address as a hex string.
name
string
Export name.
ordinal
number
Export ordinal.
Returns { "error": "Export not found: {name}" } if the export does not exist.

ida://xrefs/from/{addr}

All outgoing cross-references from a given address — calls, jumps, and data references.
ida://xrefs/from/{addr}
addr
string
required
Source address as a hex or decimal string (e.g., 0x401000).
Returns a list of cross-reference objects:
addr
string
Target address as a hex string.
type
string
"code" for instruction-level references, "data" for data references.

Resources vs. tools

Use ida://idb/metadata and ida://idb/segments for orientation at the start of a session. For searching across functions, strings, or xrefs, prefer the list_funcs, xrefs_to, or find_* tools — they support filtering and pagination.
What you needUse
Snapshot of stable structural dataResource (ida://...)
Search, filter, or paginate resultsTool (list_funcs, find_bytes, etc.)
Cross-references to an addressxrefs_to tool
Cross-references from an addressida://xrefs/from/{addr} resource
Structure layoutida://struct/{name} resource
Declare or modify a typedeclare_type tool

Build docs developers (and LLMs) love