← Binary Ninja MCP

Binary Ninja MCP 8c5134ee46e2bf44f9a4d846bd971c3e39b3e306

source_git · fosdickio/binary_ninja_mcp · current release

54
Tools
0
Resources
0
Templates
0
Prompts

Observation

Observed 2026-08-25T08:26:27.061Z using mcpSecurity-inventory. Status: succeeded. Negotiated protocol: 2025-06-18.

Server capabilities
{
  "tools": {
    "listChanged": true
  }
}

Tools 54

ToolCategoryAnnotationsRisk
convert_numberConvert a number or string to multiple representations (hex/dec/bin, C literals).
Input schema
{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "description": "Number or string to convert (decimal, hex 0x7b, binary 0b1111011, char 'A', or string)"
    },
    "size": {
      "type": "number",
      "default": 0,
      "description": "Size in bytes (0 for auto)"
    }
  },
  "required": [
    "text"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
declare_c_typeCreate or update a local type from a C declaration.
Input schema
{
  "type": "object",
  "properties": {
    "c_declaration": {
      "type": "string",
      "description": "C type declaration"
    }
  },
  "required": [
    "c_declaration"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
decompile_functionDecompile a specific function by name and return the decompiled C code.
Input schema
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Function name or address"
    }
  },
  "required": [
    "name"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
define_typesDefine types from a C code string.
Input schema
{
  "type": "object",
  "properties": {
    "c_code": {
      "type": "string",
      "description": "C code containing type definitions"
    }
  },
  "required": [
    "c_code"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
delete_commentDelete the comment at a specific address.
Input schema
{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "Address (hex like 0x401000)"
    }
  },
  "required": [
    "address"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
delete_function_commentDelete the comment for a function.
Input schema
{
  "type": "object",
  "properties": {
    "function_name": {
      "type": "string",
      "description": "Function name"
    }
  },
  "required": [
    "function_name"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
fetch_disassemblyRetrieve the disassembled code of a function as assembly mnemonic instructions.
Input schema
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Function name"
    }
  },
  "required": [
    "name"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
format_valueConvert and annotate a value at an address in Binary Ninja.
Input schema
{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "Address (hex like 0x401000)"
    },
    "text": {
      "type": "string",
      "description": "Text to convert"
    },
    "size": {
      "type": "number",
      "default": 0,
      "description": "Size in bytes"
    }
  },
  "required": [
    "address",
    "text"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
function_atRetrieve the name of the function the address belongs to.
Input schema
{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "Address (hex format 0x00001)"
    }
  },
  "required": [
    "address"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
get_binary_statusGet the current status of the loaded binary.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {}
}
— · —
get_commentGet the comment at a specific address.
Input schema
{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "Address (hex like 0x401000)"
    }
  },
  "required": [
    "address"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
get_data_declReturn a declaration-like string and hexdump for a data symbol.
Input schema
{
  "type": "object",
  "properties": {
    "name_or_address": {
      "type": "string",
      "description": "Symbol name or address (hex)"
    },
    "length": {
      "type": "number",
      "default": -1,
      "description": "Number of bytes"
    }
  },
  "required": [
    "name_or_address"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
get_entry_pointsList entry point(s) of the loaded binary.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {}
}
— · —
get_function_commentGet the comment for a function.
Input schema
{
  "type": "object",
  "properties": {
    "function_name": {
      "type": "string",
      "description": "Function name"
    }
  },
  "required": [
    "function_name"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
get_ilGet IL for a function in the selected view (hlil, mlil, llil).
Input schema
{
  "type": "object",
  "properties": {
    "name_or_address": {
      "type": "string",
      "description": "Function name or address (hex like 0x401000)"
    },
    "view": {
      "type": "string",
      "enum": [
        "hlil",
        "mlil",
        "llil"
      ],
      "default": "hlil",
      "description": "IL view: hlil, mlil, or llil"
    },
    "ssa": {
      "type": "boolean",
      "default": false,
      "description": "Request SSA form (MLIL/LLIL only)"
    }
  },
  "required": [
    "name_or_address"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
get_stack_frame_varsGet stack frame variable information for a function (names, offsets, sizes, types).
Input schema
{
  "type": "object",
  "properties": {
    "function_identifier": {
      "type": "string",
      "description": "Function name or address (hex)"
    }
  },
  "required": [
    "function_identifier"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
get_type_infoResolve a type name and return its declaration and details (kind, members, enum values).
Input schema
{
  "type": "object",
  "properties": {
    "type_name": {
      "type": "string",
      "description": "Type name"
    }
  },
  "required": [
    "type_name"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
get_user_defined_typeRetrieve definition of a user defined type (struct, enumeration, typedef, union).
Input schema
{
  "type": "object",
  "properties": {
    "type_name": {
      "type": "string",
      "description": "Type name"
    }
  },
  "required": [
    "type_name"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
get_xrefs_toGet all cross references (code and data) to the given address.
Input schema
{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "Address (hex or decimal)"
    }
  },
  "required": [
    "address"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
get_xrefs_to_enumGet usages/xrefs of an enum by scanning for member values and matches.
Input schema
{
  "type": "object",
  "properties": {
    "enum_name": {
      "type": "string",
      "description": "Enum name"
    }
  },
  "required": [
    "enum_name"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
get_xrefs_to_fieldGet all cross references to a named struct field (member).
Input schema
{
  "type": "object",
  "properties": {
    "struct_name": {
      "type": "string",
      "description": "Struct name"
    },
    "field_name": {
      "type": "string",
      "description": "Field name"
    }
  },
  "required": [
    "struct_name",
    "field_name"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
get_xrefs_to_structGet cross references/usages related to a struct name.
Input schema
{
  "type": "object",
  "properties": {
    "struct_name": {
      "type": "string",
      "description": "Struct name"
    }
  },
  "required": [
    "struct_name"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
get_xrefs_to_typeGet xrefs/usages related to a struct or type name.
Input schema
{
  "type": "object",
  "properties": {
    "type_name": {
      "type": "string",
      "description": "Type name"
    }
  },
  "required": [
    "type_name"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
get_xrefs_to_unionGet cross references/usages related to a union type by name.
Input schema
{
  "type": "object",
  "properties": {
    "union_name": {
      "type": "string",
      "description": "Union name"
    }
  },
  "required": [
    "union_name"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
hexdump_addressHexdump data starting at an address.
Input schema
{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "Address (hex like 0x401000)"
    },
    "length": {
      "type": "number",
      "default": -1,
      "description": "Number of bytes (use -1 for defined size)"
    }
  },
  "required": [
    "address"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
hexdump_dataHexdump a data symbol by name or address.
Input schema
{
  "type": "object",
  "properties": {
    "name_or_address": {
      "type": "string",
      "description": "Symbol name or address (hex)"
    },
    "length": {
      "type": "number",
      "default": -1,
      "description": "Number of bytes (use -1 for defined size)"
    }
  },
  "required": [
    "name_or_address"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
list_all_stringsList all strings in the database (aggregated across pages).
Input schema
{
  "type": "object",
  "properties": {
    "batch_size": {
      "type": "number",
      "default": 500,
      "description": "Batch size for aggregation"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
list_binariesList managed/open binaries known to the server with ids and active flag.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {}
}
— · —
list_classesList all namespace/class names in the program with pagination.
Input schema
{
  "type": "object",
  "properties": {
    "offset": {
      "type": "number",
      "default": 0,
      "description": "Offset for pagination"
    },
    "limit": {
      "type": "number",
      "default": 100,
      "description": "Number of results to return"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
list_data_itemsList defined data labels and their values with pagination.
Input schema
{
  "type": "object",
  "properties": {
    "offset": {
      "type": "number",
      "default": 0,
      "description": "Offset for pagination"
    },
    "limit": {
      "type": "number",
      "default": 100,
      "description": "Number of results to return"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
list_exportsList exported functions/symbols with pagination.
Input schema
{
  "type": "object",
  "properties": {
    "offset": {
      "type": "number",
      "default": 0,
      "description": "Offset for pagination"
    },
    "limit": {
      "type": "number",
      "default": 100,
      "description": "Number of results to return"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
list_importsList imported symbols in the program with pagination.
Input schema
{
  "type": "object",
  "properties": {
    "offset": {
      "type": "number",
      "default": 0,
      "description": "Offset for pagination"
    },
    "limit": {
      "type": "number",
      "default": 100,
      "description": "Number of results to return"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
list_local_typesList all local types in the database (paginated).
Input schema
{
  "type": "object",
  "properties": {
    "offset": {
      "type": "number",
      "default": 0,
      "description": "Offset for pagination"
    },
    "count": {
      "type": "number",
      "default": 200,
      "description": "Number of results to return"
    },
    "include_libraries": {
      "type": "boolean",
      "default": false,
      "description": "Include library types"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
list_methodsList all function names in the program with pagination.
Input schema
{
  "type": "object",
  "properties": {
    "offset": {
      "type": "number",
      "default": 0,
      "description": "Offset for pagination"
    },
    "limit": {
      "type": "number",
      "default": 100,
      "description": "Number of results to return"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
list_namespacesList all non-global namespaces in the program with pagination.
Input schema
{
  "type": "object",
  "properties": {
    "offset": {
      "type": "number",
      "default": 0,
      "description": "Offset for pagination"
    },
    "limit": {
      "type": "number",
      "default": 100,
      "description": "Number of results to return"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
list_platformsList all available platform names from Binary Ninja.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {}
}
— · —
list_sectionsList sections in the program with pagination.
Input schema
{
  "type": "object",
  "properties": {
    "offset": {
      "type": "number",
      "default": 0,
      "description": "Offset for pagination"
    },
    "limit": {
      "type": "number",
      "default": 100,
      "description": "Number of results to return"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
list_segmentsList all memory segments in the program with pagination.
Input schema
{
  "type": "object",
  "properties": {
    "offset": {
      "type": "number",
      "default": 0,
      "description": "Offset for pagination"
    },
    "limit": {
      "type": "number",
      "default": 100,
      "description": "Number of results to return"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
list_stringsList all strings in the database (paginated).
Input schema
{
  "type": "object",
  "properties": {
    "offset": {
      "type": "number",
      "default": 0,
      "description": "Offset for pagination"
    },
    "count": {
      "type": "number",
      "default": 100,
      "description": "Number of results to return"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
list_strings_filterList matching strings in the database (paginated, filtered).
Input schema
{
  "type": "object",
  "properties": {
    "offset": {
      "type": "number",
      "default": 0,
      "description": "Offset for pagination"
    },
    "count": {
      "type": "number",
      "default": 100,
      "description": "Number of results to return"
    },
    "filter": {
      "type": "string",
      "description": "Filter string"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
make_function_atCreate a function at the given address.
Input schema
{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "Address (hex like 0x401000 or decimal)"
    },
    "platform": {
      "type": "string",
      "description": "Platform (e.g., linux-x86_64)"
    }
  },
  "required": [
    "address"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
patch_bytesPatch bytes at a given address in the binary.
Input schema
{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "Address (hex like 0x401000 or decimal)"
    },
    "data": {
      "type": "string",
      "description": "Hex string of bytes to write (e.g., '90 90' or '9090')"
    },
    "save_to_file": {
      "type": "boolean",
      "default": true,
      "description": "Save patched binary to disk"
    }
  },
  "required": [
    "address",
    "data"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
rename_dataRename a data label at the specified address.
Input schema
{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "Address (hex like 0x401000)"
    },
    "new_name": {
      "type": "string",
      "description": "New name for the data label"
    }
  },
  "required": [
    "address",
    "new_name"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
rename_functionRename a function by its current name. The configured prefix will be automatically prepended if not present.
Input schema
{
  "type": "object",
  "properties": {
    "old_name": {
      "type": "string",
      "description": "Current function name"
    },
    "new_name": {
      "type": "string",
      "description": "New function name"
    }
  },
  "required": [
    "old_name",
    "new_name"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
rename_multi_variablesRename multiple local variables in one call.
Input schema
{
  "type": "object",
  "properties": {
    "function_identifier": {
      "type": "string",
      "description": "Function name or address (hex)"
    },
    "mapping_json": {
      "type": "string",
      "description": "JSON object old->new"
    },
    "pairs": {
      "type": "string",
      "description": "Comma-separated old:new pairs"
    },
    "renames_json": {
      "type": "string",
      "description": "JSON array of {old,new} objects"
    }
  },
  "required": [
    "function_identifier"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
rename_single_variableRename a variable in a function.
Input schema
{
  "type": "object",
  "properties": {
    "function_name": {
      "type": "string",
      "description": "Function name"
    },
    "variable_name": {
      "type": "string",
      "description": "Current variable name"
    },
    "new_name": {
      "type": "string",
      "description": "New variable name"
    }
  },
  "required": [
    "function_name",
    "variable_name",
    "new_name"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
retype_variableRetype a variable in a function.
Input schema
{
  "type": "object",
  "properties": {
    "function_name": {
      "type": "string",
      "description": "Function name"
    },
    "variable_name": {
      "type": "string",
      "description": "Variable name"
    },
    "type_str": {
      "type": "string",
      "description": "New type for the variable"
    }
  },
  "required": [
    "function_name",
    "variable_name",
    "type_str"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
search_functions_by_nameSearch for functions whose name contains the given substring.
Input schema
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Search query string"
    },
    "offset": {
      "type": "number",
      "default": 0,
      "description": "Offset for pagination"
    },
    "limit": {
      "type": "number",
      "default": 100,
      "description": "Number of results to return"
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
search_typesSearch local types whose name or declaration contains the substring.
Input schema
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Search query"
    },
    "offset": {
      "type": "number",
      "default": 0,
      "description": "Offset for pagination"
    },
    "count": {
      "type": "number",
      "default": 200,
      "description": "Number of results to return"
    },
    "include_libraries": {
      "type": "boolean",
      "default": false,
      "description": "Include library types"
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
select_binarySelect which binary to analyze by ordinal, internal view id, full path, or basename.
Input schema
{
  "type": "object",
  "properties": {
    "view": {
      "type": "string",
      "description": "Ordinal, view id, full path, or basename"
    }
  },
  "required": [
    "view"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
set_commentSet a comment at a specific address.
Input schema
{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "Address (hex like 0x401000)"
    },
    "comment": {
      "type": "string",
      "description": "Comment text"
    }
  },
  "required": [
    "address",
    "comment"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
set_function_commentSet a comment for a function.
Input schema
{
  "type": "object",
  "properties": {
    "function_name": {
      "type": "string",
      "description": "Function name"
    },
    "comment": {
      "type": "string",
      "description": "Comment text"
    }
  },
  "required": [
    "function_name",
    "comment"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
set_function_prototypeSet a function's prototype by name or address.
Input schema
{
  "type": "object",
  "properties": {
    "name_or_address": {
      "type": "string",
      "description": "Function name or address"
    },
    "prototype": {
      "type": "string",
      "description": "New function prototype"
    }
  },
  "required": [
    "name_or_address",
    "prototype"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
set_local_variable_typeSet a local variable's type.
Input schema
{
  "type": "object",
  "properties": {
    "function_address": {
      "type": "string",
      "description": "Function address or name"
    },
    "variable_name": {
      "type": "string",
      "description": "Variable name"
    },
    "new_type": {
      "type": "string",
      "description": "New type"
    }
  },
  "required": [
    "function_address",
    "variable_name",
    "new_type"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —

Resources 0

Resource templates 0

Prompts 0

Let’s talk about MCP security.

Share your details and our security team will contact you.