Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
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
Read a global variable's value (if known at compile-time)

Prefer this function over the `data_read_*` functions.
get_global_variable_value_at_addressA
Read a global variable's value by its address (if known at compile-time)

Prefer this function over the `data_read_*` functions.
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
Read bytes at a given address.

Only use this function if `get_global_variable_at` and `get_global_variable_by_name`
both failed.
data_read_byteA
Read the 1 byte value at the specified address.

Only use this function if `get_global_variable_at` failed.
data_read_wordA
Read the 2 byte value at the specified address as a WORD.

Only use this function if `get_global_variable_at` failed.
data_read_dwordA
Read the 4 byte value at the specified address as a DWORD.

Only use this function if `get_global_variable_at` failed.
data_read_qwordA
Read the 8 byte value at the specified address as a QWORD.

Only use this function if `get_global_variable_at` failed.
data_read_stringA
Read the string at the specified address.

Only use this function if `get_global_variable_at` failed.
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
Add a comment at the specified address.

Comment types:
- regular: Standard comment shown at the address
- repeatable: Comment that appears at all references to this address
- anterior: Comment line(s) shown before the address
- posterior: Comment line(s) shown after the address
- function: Comment for the entire function (address must be within a function)
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
Execute arbitrary IDAPython code in the IDA environment.

The code has access to all IDA modules (idaapi, ida_funcs, ida_bytes, etc.).
Use 'result' variable to return a value from the script.

WARNING: This is a powerful tool - use with caution as it can modify the database.

Example:
    code = '''
    # Count functions with more than 100 instructions
    count = 0
    for func_ea in idautils.Functions():
        func = ida_funcs.get_func(func_ea)
        if func and func.end_ea - func.start_ea > 100:
            count += 1
    result = f"Found {count} large functions"
    '''

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

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