IDA Pro MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| check_connectionB | Check if the IDA plugin is running |
| get_metadataB | Get metadata about the current IDB |
| get_function_by_nameC | Get a function by its name |
| get_function_by_addressC | Get a function by its address |
| get_current_addressB | Get the address currently selected by the user |
| get_current_functionB | Get the function currently selected by the user |
| convert_numberB | Convert a number (decimal, hexadecimal) to different representations |
| list_functions_filterB | List matching functions in the database (paginated, filtered) |
| list_functionsB | List all functions in the database (paginated) |
| list_globals_filterB | List matching globals in the database (paginated, filtered) |
| list_globalsB | List all globals in the database (paginated) |
| list_importsB | List all imported symbols with their name and module (paginated) |
| list_strings_filterB | List matching strings in the database (paginated, filtered) |
| list_stringsB | List all strings in the database (paginated) |
| list_segmentsB | List all segments in the binary. |
| list_local_typesB | List all Local types in the database |
| decompile_functionB | Decompile a function at the given address |
| disassemble_functionB | Get assembly code for a function (API-compatible with older IDA builds) |
| get_xrefs_toB | Get all cross references to the given address |
| get_xrefs_to_fieldB | Get all cross references to a named struct field (member) |
| get_calleesB | Get all the functions called (callees) by the function at function_address |
| get_callersB | Get all callers of the given address |
| get_entry_pointsB | Get all entry points in the database |
| set_commentC | Set a comment for a given address in the function disassembly and pseudocode |
| rename_local_variableC | Rename a local variable in a function |
| rename_global_variableC | Rename a global variable |
| set_global_variable_typeC | Set a global variable's type |
| patch_address_assemblesD | - |
| get_global_variable_value_by_nameA | |
| get_global_variable_value_at_addressA | |
| rename_functionC | Rename a function |
| set_function_prototypeC | Set a function's prototype |
| declare_c_typeC | Create or update a local type from a C declaration |
| set_local_variable_typeC | Set a local variable's type |
| get_stack_frame_variablesC | Retrieve the stack frame variables for a given function |
| get_defined_structuresC | Returns a list of all defined structures |
| analyze_struct_detailedC | Detailed analysis of a structure with all fields |
| get_struct_at_addressC | Get structure field values at a specific address |
| get_struct_info_simpleC | Simple function to get basic structure information |
| search_structuresB | Search for structures by name pattern |
| rename_stack_frame_variableC | Change the name of a stack variable for an IDA function |
| create_stack_frame_variableC | For a given function, create a stack variable at an offset and with a specific type |
| set_stack_frame_variable_typeC | For a given disassembled function, set the type of a stack variable |
| delete_stack_frame_variableC | Delete the named stack variable for a given function |
| read_memory_bytesA | |
| data_read_byteA | |
| data_read_wordA | |
| data_read_dwordA | |
| data_read_qwordA | |
| data_read_stringA | |
| search_bytesB | Search for a byte pattern in the binary. Supports wildcards with ?? for single byte wildcards. Returns addresses where the pattern was found along with surrounding context bytes. |
| get_commentsA | Get all comments at the specified address including regular, repeatable, anterior, and posterior comments. If the address is within a function, also returns the function comment. |
| add_commentC | |
| delete_commentC | Delete a comment at the specified address. For anterior/posterior, deletes all lines. |
| get_function_cfgB | Get the control flow graph of a function, including all basic blocks and their connections. Returns basic blocks with their instructions and successor/predecessor relationships. |
| execute_scriptA | |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/icryo/ida-pro-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server