Skip to main content
Glama
mrexodia
by mrexodia

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Server capabilities have not been inspected yet.

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_numberC

Convert a number (decimal, hexadecimal) to different representations

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_stringsC

List all strings in the database (paginated)

list_local_typesB

List all Local types in the database

decompile_functionC

Decompile a function at the given address

disassemble_functionC

Get assembly code for a function

get_xrefs_toC

Get all cross references to the given address

get_xrefs_to_fieldC

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_callersC

Get all callers of the given address

get_entry_pointsB

Get all entry points in the database

set_commentB

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

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_addressB
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

rename_stack_frame_variableB

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.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

C2.9/5.0

Scored across 43 tools

Disambiguation3/5

The tool set has clear functional groupings, but there is significant overlap between data reading tools (data_read_byte, data_read_word, etc.) and memory/global variable tools, with explicit guidance to prefer certain tools over others indicating ambiguity. Tools like list_functions and get_function_by_address serve distinct but related purposes that could cause confusion in selection.

Naming Consistency4/5

Most tools follow a consistent verb_noun or verb_noun_preposition pattern (e.g., get_function_by_address, set_global_variable_type), with clear action-object naming. Minor deviations exist, such as convert_number (verb_noun) vs. declare_c_type (verb_noun), but overall the naming is predictable and readable across the set.

Tool Count2/5

With 43 tools, the count is excessive for typical MCP server purposes, leading to potential cognitive overload and reduced usability. While IDA Pro is a complex domain, the tool surface could be consolidated (e.g., merging data_read_* variants) to improve coherence without losing functionality.

Completeness5/5

The tool set comprehensively covers IDA Pro's core functionalities, including disassembly, decompilation, data reading, variable and type management, cross-referencing, and metadata retrieval. It supports full CRUD/lifecycle operations for functions, variables, and types, with no obvious gaps for agent-driven analysis workflows.

Maintenance

ActivityMaintained
ResponsivenessResponsive