PlugWiki
ida-mcp-rs logo

ida-mcp-rs MCP Server: Headless IDA Pro for Reverse Engineering with Claude, Cursor and Codex

CommunityLocal

Not the official IDA Pro MCP server. This one is built by the community. IDA Pro makes its own: IDA MCP →

Lets your assistant open programs in IDA Pro, decompile them, trace calls and annotate what it finds.

ida-mcp-rs lets Claude, Cursor, Codex and Gemini CLI open a program in IDA Pro and work on it for you: decompile functions, follow references, rename things and add comments. It runs on your own computer and needs a licensed copy of IDA Pro. Its script tool can run any Python on your machine, so use the read-only option if you only want to look.

Good for

  • Malware analysts who want help triaging unknown binaries
  • Security reviewers auditing closed-source software
  • Mac and iOS researchers working with Mach-O files and the dyld shared cache
  • Reverse engineers who already own IDA Pro and want an assistant to speed up renaming and notes

Works in

12 should work

Tap an app to see how to set it up and any known problems.

Install ida-mcp-rs

Claude Code

  1. 1

    Copy this prompt.

    Add the ida-mcp-rs server to Claude Code. Run this command:
    
    claude mcp add ida -- ida-mcp
    
    Then check that it loaded and tell me if I need to sign in or restart.
  2. 2

    Paste it into Claude Code. It shows the change and asks before running it.

Requires IDA Pro 9.5 with a valid license, brew install blacktop/tap/ida-mcp (macOS, Linux), scoop install blacktop/ida-mcp (Windows).

Read-only mode: Add --read-only after ida-mcp in the command, or set IDA_MCP_READ_ONLY=true.

Install ida-mcp first with Homebrew or Scoop, or download a release archive. The server version has to match your IDA version, so IDA 9.4 uses the ida-mcp@9.4 cask. Open IDA once and accept its license yourself before the first run. Add --read-only to the command if you only want to look at binaries. The decompile tools need a Hex-Rays decompiler for the file's processor, and run_script needs working IDAPython.

From the project README. Source.

Tools

  • Turns a function into C-like code you can read

    Uses the Hex-Rays decompiler to produce pseudocode for one or more functions, picked by address or name. It needs a decompiler license for the processor of the file you are analyzing.

    Try: “Decompile the function at 0x100003f50 and explain what it does.”

    Read · decompile

  • Lists the functions IDA found, with sizes

    Returns function names, addresses and sizes a page at a time. You can filter by part of a name to narrow a big binary down.

    Try: “List the first 50 functions whose name contains "crypt".”

    Read · list_functions

  • Finds the address of a function by name

    Looks up an exact or demangled function name and returns its address and size. Use it before decompiling or disassembling something you only know by name.

    Try: “What is the address of the function called main?”

    Read · resolve_function

  • Tells you which function contains an address

    Given any address, such as one taken from a crash log, returns the function around it with its start, end and size.

    Try: “Which function contains the address 0x1000a2b4c?”

    Read · function_at

  • Looks up many function names at once

    Takes a list of names and returns the address and size of each one found, in a single call instead of one call per name.

    Try: “Find the addresses of malloc, free, memcpy and strcpy in this binary.”

    Read · lookup_funcs

  • Lists the text strings stored in the binary

    Returns every string IDA found with its address, a page at a time. A filter narrows it to strings containing some text, which helps spot URLs, file paths and error messages.

    Try: “Show me strings that look like URLs or file paths.”

    Read · strings

  • Finds strings that match a search

    Searches the found strings for a substring or an exact match and returns the matching addresses. Results come back in pages.

    Try: “Find any string mentioning "password".”

    Read · find_string

  • Filters strings for patterns such as URLs or paths

    Lists strings with an optional substring filter and paging. It overlaps with strings and suits pulling out one kind of text from a large list.

    Try: “List strings that contain "http" so I can see the network endpoints.”

    Read · analyze_strings

  • Shows everything that points at an address

    Finds all code and data that reference an address. It is the quick way to see who calls a function or who reads a variable.

    Try: “Show every place that references the function at 0x100004a10.”

    Read · xrefs_to

  • Shows what an address points to

    Lists what a given instruction or data item refers to, such as the functions it calls or the data it reads.

    Try: “What does the instruction at 0x100004a10 reference?”

    Read · xrefs_from

  • Finds code that uses a given string

    Searches for strings matching your text and returns the places in code that reference each match. It answers "where is this message used".

    Try: “Which functions use the string "license check failed"?”

    Read · xrefs_to_string

  • Finds code that touches one struct field

    Lists references to a named member of a struct, by struct name or number and member name or index.

    Try: “Find all code that accesses the "flags" field of struct Session.”

    Read · xrefs_to_field

Read from the source code

Permissions

high risk · 6 things to watch

High risk

By default the assistant can run any Python code on your computer through the script tool, as well as rename, patch and save your IDA databases. Start the server with the read-only option unless you need those, and only open files you are prepared to analyze.

What it can do

Watch out for

  • The script tool runs any Python on your machine

    run_script executes Python inside IDA with full access to its modules, and Python can also read files and start programs. Use --read-only unless you need scripting, and keep sensitive files out of reach. github.com

  • It can patch, rename and overwrite database files

    Patch, rename, comment and type tools edit the IDA database, and save_idb or close_idb write it to disk. Opening a file with rebuild turned on can overwrite a database the server made earlier. github.com

  • The opt-in debugger can start and stop processes

    With --enable-debugger on Apple Silicon Mac, debug_launch starts a program and debug_attach attaches to a running process. Leave it off for static analysis. github.com

  • Opening a hostile file runs it through IDA's loaders

    Our advice: open untrusted samples only in a virtual machine or other isolated system. Loading malware with a disassembler is normal, but a bug in a loader is possible. github.com

  • Read-only mode is not a file sandbox

    The README says --read-only filters tools only. Opening a binary still creates its .i64 database file on disk. github.com

  • Network mode has no sign-in

    The docs describe Origin and Host header checks for the optional HTTP mode, not a login. It listens on 127.0.0.1 by default; keep it there, because binding it to 0.0.0.0 exposes every tool, including the script tool, to your network. github.com

Security advisories

No published security advisories as of Nov 1, 2026.

Technical details
Turning on read-onlyStart with --read-only or set IDA_MCP_READ_ONLY=true. It removes run_script, save_idb, patching, renaming, comment and type edits, analysis and debugger process control, but still lets open_idb create database files.
Talks toNone by default: Lumina lookups are off until you start the server with --allow-lumina. Whatever a script you let the assistant run connects to
Sign-in and keysNo account or API key. Your IDA Pro license is used by IDA itself.
Data retentionAnalysis results and your edits are saved in .i64 database files next to the input file, or in the folder you choose.

Questions

Is ida-mcp-rs official?

No. It is a community project by blacktop, not made by Hex-Rays. Hex-Rays ships its own IDA MCP server, covered on the IDA MCP page.

Do I need to own IDA Pro?

Yes. It uses your own installed IDA 9.5 with a valid license, and the decompile tools also need a Hex-Rays decompiler for the file's processor. The server does not include IDA.

Which IDA version does it need?

The version must match your IDA. Server versions follow IDA versions, so 9.5.x is for IDA 9.5, and older IDA releases have their own builds listed in the install notes. A mismatch makes the IDA tools fail with an error naming the detected version.

Can it run read-only?

Yes. The --read-only option removes the script tool, patching, renaming, comment and type edits, analysis and debugger control. It can still create database files when it opens a binary.

How is it different from the official Hex-Rays server?

ida-mcp-rs runs IDA without its window and is a native Rust program that exposes 76 tools by default. The official server offers 6 tools and can work alongside the IDA window. See the IDA MCP page for what it covers.

Does it work on Windows, macOS and Linux?

Yes. Release archives cover macOS, Linux and Windows on ARM64 and x86_64. On Windows the program must find IDA's DLLs, so the simplest route is to copy it into the IDA folder.

Can it patch a binary?

It can patch bytes or assembly inside the IDA database, and it can list the patches. It does not rewrite the original program file.

Is it free?

Yes. It is MIT licensed. IDA Pro itself is paid software and you need your own license.

Does it send my binaries anywhere?

No network lookups happen by default. Lumina, the Hex-Rays online function database, is switched off unless you start the server with --allow-lumina.

Information

updated Nov 3, 2026

Publisher
Community
Transport
stdio, Streamable HTTP
Auth
None
Version
9.5.0
License
MIT
Last commit
Oct 21, 2026
Open issues
3

GitHubChangelogIssues

Other IDA Pro MCP servers

Sources

Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.

Show all 5
  1. ida-mcp-rs README (v9.5.0) · github.com
  2. ida-mcp-rs TOOLS.md (v9.5.0) · github.com
  3. ida-mcp-rs tool_registry.rs (v9.5.0) · github.com
  4. ida-mcp-rs tool_filter.rs (v9.5.0) · github.com
  5. ida-mcp-rs TRANSPORTS.md (v9.5.0) · github.com

Facts from the official MCP registry, GitHub, npm, PyPI and the Docker catalog. Updated Nov 3, 2026.