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.

By default, idalib-mcp exposes the full IDA Pro MCP tool surface — including modification, patching, and type-mutation operations. Profiles let you restrict this to a named subset of tools, which is useful when you want a focused analysis workflow, when working with smaller models that perform better with fewer choices, or when you want to prevent an agent from modifying the database.

Using the --profile flag

Pass a profile file path to idalib-mcp at startup:
uv run idalib-mcp --profile profiles/readonly.txt path/to/binary
uv run idalib-mcp --profile profiles/triage.txt --stdio
Only the tools listed in the profile file will be registered with the MCP server. All other tools are hidden from the LLM.

Built-in profiles

readonly

Exposes analysis tools that never mutate the IDB: decompilation, disassembly, xrefs, queries, and memory reads. No renaming, commenting, typing, or patching.
server_health
server_warmup
list_funcs
list_globals
imports
imports_query
lookup_funcs
func_query
entity_query
int_convert
find_regex
decompile
disasm
func_profile
analyze_batch
xrefs_to
xref_query
xrefs_to_field
callees
basic_blocks
find_bytes
find
insn_query
export_funcs
callgraph
analyze_function
analyze_component
trace_data_flow
read_struct
type_query
get_bytes
get_int
get_string
get_global_value
stack_frame

triage

A minimal starter set for first-pass binary assessment: enumerate, decompile, and trace cross-references. Small enough to keep small models on-task.
list_funcs
list_globals
imports
lookup_funcs
decompile
disasm
xrefs_to
callees
get_string

Why profiles help

Smaller models stay focused

Presenting fewer tools reduces decision fatigue for smaller LLMs. A triage profile with 9 tools produces more reliable results than exposing 60+ tools to a model that struggles with large tool lists.

Prevent accidental mutations

The readonly profile ensures an agent can never rename, comment, patch, or retype anything in the IDB — useful for shared databases or audit workflows.

Reduce attack surface

When running idalib-mcp in a networked or multi-tenant context, hiding mutation and Python execution tools limits what a compromised or misbehaving agent can do.

Scope to workflow

Match the tool surface to the task. A triage pass needs only enumeration and decompilation; a renaming pass needs only modification tools. Profiles make this explicit.

Creating a custom profile

A profile is a plain text file where each non-empty, non-comment line is a tool name. Lines starting with # are ignored.
# my-analysis-profile.txt
# Tools for focused decompilation and annotation

list_funcs
lookup_funcs
decompile
disasm
xrefs_to
set_comments
rename
Save the file anywhere and pass it with --profile:
uv run idalib-mcp --profile my-analysis-profile.txt path/to/binary
Start from the triage.txt profile and add tools incrementally as your workflow requires them. It is easier to expand a minimal profile than to audit a full one.

Build docs developers (and LLMs) love