{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"github_mcp-mrexodia-ida-pro-mcp","slug":"mcp-mrexodia-ida-pro-mcp","name":"ida-pro-mcp","type":"mcp","url":"https://github.com/mrexodia/ida-pro-mcp","page_url":"https://unfragile.ai/mcp-mrexodia-ida-pro-mcp","categories":["mcp-servers"],"tags":["ai","aiagent","binary-analysis","ida-plugin","ida-pro","mcp","mcp-server","modelcontextprotocol","reverse-engineering"],"pricing":{"model":"open_source","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"github_mcp-mrexodia-ida-pro-mcp__cap_0","uri":"capability://tool.use.integration.dual.process.mcp.protocol.bridging.with.ida.pro","name":"dual-process mcp protocol bridging with ida pro","description":"Implements a separated proxy server and IDA Pro plugin architecture that routes MCP protocol requests through an HTTP/stdio dispatcher, preventing protocol overhead from blocking IDA's single-threaded UI. The proxy server handles MCP metadata locally while forwarding IDA-specific operations to the plugin's internal HTTP handler, with strict thread synchronization via @idasync decorators to ensure safe access to IDA's non-reentrant API.","intents":["Connect IDA Pro to Claude Desktop or other MCP clients without blocking the UI during analysis","Enable hot-reloading of the IDA plugin without restarting the entire application","Route LLM requests to IDA's reverse engineering engine while maintaining protocol isolation"],"best_for":["reverse engineering teams integrating IDA Pro with AI assistants","security researchers automating binary analysis workflows","developers building custom MCP clients for IDA"],"limitations":["Dual-process architecture adds ~50-200ms latency per request due to inter-process communication overhead","Thread synchronization via @idasync decorator requires all IDA API calls to be explicitly decorated, increasing development friction","Local port-based communication limits remote analysis scenarios without additional networking setup"],"requires":["IDA Pro 7.0+ with Python 3.8+ support","Python 3.8+ for the proxy server process","Network connectivity between proxy and IDA plugin (localhost by default)"],"input_types":["MCP protocol requests (JSON-RPC 2.0)","IDA Pro database handles and memory addresses"],"output_types":["MCP protocol responses (JSON-RPC 2.0)","Disassembly, decompilation, and metadata from IDA"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-mrexodia-ida-pro-mcp__cap_1","uri":"capability://code.generation.editing.ida.pro.decompilation.and.disassembly.exposure.via.mcp.tools","name":"ida pro decompilation and disassembly exposure via mcp tools","description":"Exposes IDA Pro's decompilation engine (Hex-Rays) and disassembly capabilities as MCP tools that LLMs can invoke to analyze binary code. The system wraps IDA's internal decompilation APIs and disassembly functions, returning structured pseudocode and assembly listings that can be parsed and reasoned about by language models for vulnerability discovery and code understanding.","intents":["Ask an LLM to decompile a function and explain its logic","Retrieve assembly code for a specific address range for manual inspection","Analyze control flow and function boundaries automatically"],"best_for":["security researchers performing AI-assisted vulnerability analysis","reverse engineers seeking LLM explanations of complex binary code","malware analysts automating initial code understanding"],"limitations":["Decompilation quality depends on IDA's analysis depth; incomplete or incorrect analysis produces misleading pseudocode","Hex-Rays decompiler requires a commercial IDA Pro license; free IDA Home edition lacks decompilation","Large functions (>1000 instructions) may produce verbose output exceeding LLM context windows"],"requires":["IDA Pro 7.0+ with Hex-Rays decompiler plugin (commercial license)","Binary file already loaded and analyzed in IDA database"],"input_types":["Function address (integer or symbolic name)","Address range (start, end)"],"output_types":["Pseudocode string (C-like syntax)","Assembly listing (mnemonic + operands)","Structured function metadata (signature, xrefs)"],"categories":["code-generation-editing","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-mrexodia-ida-pro-mcp__cap_10","uri":"capability://memory.knowledge.ida.database.persistence.and.state.management.across.requests","name":"ida database persistence and state management across requests","description":"Manages IDA database state across multiple MCP requests, ensuring that modifications (patches, comments, type changes) persist in the IDA database file. The system coordinates database writes with IDA's analysis engine, handling concurrent access patterns and ensuring data consistency without requiring manual database save operations between requests.","intents":["Apply multiple patches and annotations in sequence without losing changes","Persist LLM-generated insights (comments, type declarations) to the IDA database","Maintain analysis state across multiple analysis sessions"],"best_for":["teams performing iterative binary analysis with AI assistance","researchers building analysis pipelines that accumulate insights","developers automating annotation and patching workflows"],"limitations":["IDA database writes are not transactional; partial failures can leave database in inconsistent state","Concurrent modifications from multiple MCP clients can cause database corruption; single-writer model recommended","Large databases (>1GB) may experience performance degradation during writes"],"requires":["IDA Pro 7.0+ with write access to database file","Sufficient disk space for database snapshots (if backup/rollback is needed)"],"input_types":["Modification operations (patch, comment, type change)","Database state queries"],"output_types":["Modification confirmation","Updated database state","Persistence status"],"categories":["memory-knowledge","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-mrexodia-ida-pro-mcp__cap_11","uri":"capability://data.processing.analysis.llm.friendly.structured.output.formatting.for.binary.analysis.results","name":"llm-friendly structured output formatting for binary analysis results","description":"Formats binary analysis results (disassembly, decompilation, metadata) in structured, LLM-friendly formats (JSON, markdown, plain text) that are optimized for language model consumption. The system abstracts IDA's raw output into parseable structures with clear delimiters, type information, and hierarchical organization, enabling LLMs to reliably extract and reason about analysis results without fragile text parsing.","intents":["Get disassembly in a format that LLMs can reliably parse and reason about","Retrieve function metadata in structured JSON for programmatic processing","Format analysis results for inclusion in LLM prompts with clear boundaries"],"best_for":["developers building LLM-based analysis pipelines","researchers studying LLM reasoning on binary code","teams automating code understanding workflows"],"limitations":["Structured formatting adds overhead; large binaries produce verbose JSON/markdown output","Format standardization may lose IDA-specific details not captured in the schema","LLM parsing of structured output is not 100% reliable; malformed output can cause parsing failures"],"requires":["IDA Pro 7.0+ with analysis results available"],"input_types":["Analysis results (disassembly, decompilation, metadata)","Format selection (JSON, markdown, plain text)"],"output_types":["Structured output (JSON, markdown, plain text)","Formatted strings with clear delimiters and type information"],"categories":["data-processing-analysis","text-generation-language"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-mrexodia-ida-pro-mcp__cap_2","uri":"capability://data.processing.analysis.cross.reference.and.data.flow.analysis.through.mcp.resources","name":"cross-reference and data flow analysis through mcp resources","description":"Exposes IDA Pro's cross-reference (xref) database and data flow analysis capabilities as MCP resources, enabling LLMs to query function call graphs, data dependencies, and memory access patterns. The system retrieves xref chains from IDA's internal database and formats them as navigable resource trees that LLMs can traverse to understand code relationships and data flow.","intents":["Find all callers of a function to understand its usage context","Trace data flow from user input to a sensitive operation","Identify functions that read or write a specific memory location"],"best_for":["vulnerability researchers tracing taint flow in binaries","reverse engineers mapping function dependencies","security auditors automating code relationship discovery"],"limitations":["Xref analysis depends on IDA's prior analysis; incomplete analysis produces incomplete xref chains","Dynamic xrefs (indirect calls through function pointers) may be missed without additional analysis plugins","Large binaries with thousands of functions produce xref graphs too large for efficient LLM traversal"],"requires":["IDA Pro 7.0+ with completed analysis of the binary","Binary file loaded in IDA database with xref information computed"],"input_types":["Function address or name","Memory address or variable name"],"output_types":["Xref list (caller/callee relationships)","Data flow graph (source → sink paths)","Structured resource tree (navigable via MCP)"],"categories":["data-processing-analysis","search-retrieval"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-mrexodia-ida-pro-mcp__cap_3","uri":"capability://data.processing.analysis.function.and.symbol.metadata.retrieval.with.type.information","name":"function and symbol metadata retrieval with type information","description":"Provides MCP tools to retrieve function signatures, type declarations, imported symbols, and string constants from the IDA database. The system queries IDA's symbol table and type information system, returning structured metadata that includes function prototypes, parameter types, return types, and imported library functions, enabling LLMs to understand binary interfaces and data structures.","intents":["Get the signature of a function to understand its parameters and return type","List all imported functions from a library (e.g., libc functions)","Retrieve string constants and their references for vulnerability analysis"],"best_for":["reverse engineers understanding function interfaces","security researchers identifying dangerous function calls","developers automating binary API discovery"],"limitations":["Type information accuracy depends on IDA's type inference; missing or incorrect types produce incomplete signatures","Imported function signatures may be incomplete if IDA lacks type information for the target library","String retrieval includes all strings in the binary, which can be thousands; filtering required for large binaries"],"requires":["IDA Pro 7.0+ with analyzed binary","Type information computed by IDA (automatic or via FLIRT signatures)"],"input_types":["Function address or name","Library name (for imports)","Address range (for string extraction)"],"output_types":["Function signature (name, parameters, return type)","Import list (library, function names)","String list (address, value, references)"],"categories":["data-processing-analysis","memory-knowledge"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-mrexodia-ida-pro-mcp__cap_4","uri":"capability://code.generation.editing.interactive.binary.patching.and.modification.via.mcp","name":"interactive binary patching and modification via mcp","description":"Exposes IDA Pro's patching and modification capabilities through MCP tools, allowing LLMs to apply code patches, rename symbols, add comments, and modify type declarations in the IDA database. The system wraps IDA's patch APIs and database modification functions, with changes persisted to the IDA database file, enabling AI-assisted code annotation and binary modification workflows.","intents":["Apply a patch suggested by an LLM to fix a vulnerability","Rename functions and variables based on LLM analysis of their purpose","Add comments explaining code logic discovered by LLM analysis","Modify type declarations to match LLM-inferred function signatures"],"best_for":["security researchers patching vulnerabilities in binaries","reverse engineers annotating code with AI-generated insights","teams automating binary modification workflows"],"limitations":["Patches are applied to the IDA database, not the original binary; separate tools required to generate patched binary","Large patches (>1MB) may cause IDA database corruption or performance degradation","Undo/rollback of patches requires manual IDA database restoration; no built-in transaction support"],"requires":["IDA Pro 7.0+ with write access to the IDA database file","Binary file loaded in IDA with appropriate permissions"],"input_types":["Patch data (bytes, address, operation type)","Symbol name and new name (for renaming)","Address and comment text (for annotations)","Function address and type signature (for type modification)"],"output_types":["Patch confirmation (success/failure)","Modified IDA database state","Audit trail of changes (if logging enabled)"],"categories":["code-generation-editing","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-mrexodia-ida-pro-mcp__cap_5","uri":"capability://automation.workflow.headless.binary.analysis.via.idalib.server.for.automation","name":"headless binary analysis via idalib server for automation","description":"Provides a headless server mode using IDA's idalib library that enables automated, non-interactive binary analysis without the IDA GUI. The system spawns an idalib_server process that exposes the same MCP tools as the interactive plugin, allowing batch processing and CI/CD integration of binary analysis tasks without requiring a running IDA Pro instance or GUI.","intents":["Analyze multiple binaries in a batch pipeline without manual IDA interaction","Integrate binary analysis into CI/CD workflows for automated security scanning","Run analysis on headless servers without X11 or GUI dependencies"],"best_for":["security teams automating binary analysis in CI/CD pipelines","researchers processing large binary datasets","teams deploying analysis infrastructure on headless servers"],"limitations":["idalib requires IDA Pro license; cannot be used with free IDA Home edition","Headless mode lacks interactive debugging and manual analysis capabilities","Analysis quality may differ from interactive mode due to missing user-guided analysis hints","idalib performance is slower than interactive IDA for large binaries due to lack of incremental analysis caching"],"requires":["IDA Pro 7.0+ with idalib support (commercial license)","Python 3.8+ with idalib Python bindings installed","Binary file accessible to the server process"],"input_types":["Binary file path","Analysis configuration (processor type, analysis options)"],"output_types":["Analysis results (disassembly, decompilation, metadata)","MCP tool responses (same as interactive mode)"],"categories":["automation-workflow","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-mrexodia-ida-pro-mcp__cap_6","uri":"capability://code.generation.editing.unsafe.operations.with.unsafe.decorator.gating.debugging.and.code.execution","name":"unsafe operations with @unsafe decorator gating (debugging and code execution)","description":"Provides gated access to dangerous operations (breakpoint manipulation, register inspection, memory modification, arbitrary Python execution) through an @unsafe decorator system that requires explicit opt-in via configuration flags. The system enforces safety boundaries by requiring users to explicitly enable unsafe operations, preventing accidental execution of dangerous commands while allowing advanced users to leverage IDA's debugging and scripting capabilities for complex analysis tasks.","intents":["Set breakpoints and inspect registers during dynamic analysis","Execute arbitrary Python code in the IDA context for custom analysis","Modify memory and registers for debugging or patching"],"best_for":["advanced reverse engineers performing dynamic analysis","security researchers debugging malware in IDA","developers building custom analysis scripts"],"limitations":["Unsafe operations require explicit configuration flag; disabled by default to prevent accidental dangerous actions","Arbitrary Python execution in IDA context can crash IDA or corrupt analysis state if code is malformed","Debugging operations require IDA debugger support; not all processor architectures are supported","Memory modification can corrupt the binary analysis; changes are not automatically validated"],"requires":["IDA Pro 7.0+ with debugger support (for breakpoint operations)","Explicit @unsafe flag enabled in configuration","Understanding of IDA's Python API and debugging model"],"input_types":["Breakpoint address and type","Python code string (for execution)","Memory address and data (for modification)","Register name and value"],"output_types":["Breakpoint confirmation","Python execution result (stdout, return value, exceptions)","Memory modification confirmation","Register state (name, value, flags)"],"categories":["code-generation-editing","planning-reasoning"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-mrexodia-ida-pro-mcp__cap_7","uri":"capability://automation.workflow.multi.client.mcp.configuration.generation.and.installation","name":"multi-client mcp configuration generation and installation","description":"Provides automated configuration generation and installation for 30+ MCP clients (Claude Desktop, VS Code, Cursor, Windsurf, etc.) through a single --install command. The system generates appropriate JSON configuration files for each client, handling client-specific setup requirements and enabling seamless integration with diverse AI development environments without manual configuration.","intents":["Install IDA Pro MCP support in Claude Desktop with a single command","Configure VS Code, Cursor, and other editors to use IDA Pro analysis","Manage MCP client configurations across multiple development tools"],"best_for":["developers using multiple MCP clients and wanting unified IDA integration","teams deploying IDA Pro MCP across diverse development environments","users seeking frictionless setup without manual JSON editing"],"limitations":["Configuration generation assumes standard client installation paths; custom installations may require manual setup","Client-specific configuration formats require maintenance as clients evolve","Installation command requires write access to client configuration directories"],"requires":["Python 3.8+ with ida-pro-mcp installed","Target MCP clients installed on the system","Write access to client configuration directories"],"input_types":["Installation flag (--install)","Optional client filter (specific clients to configure)"],"output_types":["Generated JSON configuration files","Installation confirmation and status"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-mrexodia-ida-pro-mcp__cap_8","uri":"capability://tool.use.integration.rpc.and.decorator.based.api.abstraction.for.ida.operations","name":"rpc and decorator-based api abstraction for ida operations","description":"Implements a decorator-based RPC system (@idasync, @unsafe) that abstracts IDA Pro's non-reentrant, single-threaded API into a type-safe, callable interface suitable for MCP tool exposure. The system uses Python decorators to enforce thread synchronization, safety constraints, and type validation, automatically generating MCP tool schemas from decorated function signatures and handling serialization/deserialization of IDA objects.","intents":["Define new IDA operations as MCP tools without manual schema generation","Ensure thread-safe access to IDA's single-threaded API from concurrent MCP requests","Validate input types and safety constraints before executing IDA operations"],"best_for":["developers extending ida-pro-mcp with custom operations","teams building IDA analysis plugins with MCP integration","researchers prototyping new binary analysis workflows"],"limitations":["Decorator system requires explicit type annotations; missing annotations produce incomplete MCP schemas","Thread synchronization via @idasync adds latency (~50-200ms per operation) due to inter-process communication","Complex IDA objects (CFG, disasm_line) require custom serialization; not all IDA types are automatically serializable"],"requires":["Python 3.8+ with type annotations support","Understanding of IDA Pro's Python API and threading model","Familiarity with decorator patterns and RPC concepts"],"input_types":["Python function with @idasync/@unsafe decorators","Type-annotated parameters"],"output_types":["MCP tool schema (JSON)","Serialized return values (JSON-compatible types)"],"categories":["tool-use-integration","code-generation-editing"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-mrexodia-ida-pro-mcp__cap_9","uri":"capability://tool.use.integration.stdio.and.http.transport.mode.selection.for.mcp.protocol","name":"stdio and http transport mode selection for mcp protocol","description":"Supports multiple transport modes (stdio, HTTP, SSE) for MCP protocol communication, allowing clients to choose the transport that best fits their environment. The system uses the zeromcp library to abstract transport details, enabling the same MCP server implementation to work with stdio-based clients (Claude Desktop, command-line tools) and HTTP-based clients (web interfaces, remote connections) without code changes.","intents":["Connect Claude Desktop to IDA Pro using stdio transport","Expose IDA Pro analysis via HTTP for web-based clients","Support both local and remote MCP client connections"],"best_for":["developers integrating IDA Pro with diverse MCP clients","teams deploying IDA analysis infrastructure with multiple access patterns","researchers building custom MCP client implementations"],"limitations":["HTTP transport requires network configuration and security hardening (authentication, TLS); stdio is simpler but limited to local clients","SSE transport is unidirectional (server → client); bidirectional communication requires HTTP polling or WebSocket upgrade","Transport abstraction via zeromcp adds a dependency and potential compatibility issues with client implementations"],"requires":["Python 3.8+ with zeromcp library installed","MCP client supporting desired transport mode (stdio, HTTP, SSE)"],"input_types":["Transport mode selection (stdio, HTTP, SSE)","Optional network configuration (host, port, TLS)"],"output_types":["MCP protocol messages (JSON-RPC 2.0)","Transport-specific framing (stdio: newline-delimited, HTTP: request/response)"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":48,"verified":false,"data_access_risk":"high","permissions":["IDA Pro 7.0+ with Python 3.8+ support","Python 3.8+ for the proxy server process","Network connectivity between proxy and IDA plugin (localhost by default)","IDA Pro 7.0+ with Hex-Rays decompiler plugin (commercial license)","Binary file already loaded and analyzed in IDA database","IDA Pro 7.0+ with write access to database file","Sufficient disk space for database snapshots (if backup/rollback is needed)","IDA Pro 7.0+ with analysis results available","IDA Pro 7.0+ with completed analysis of the binary","Binary file loaded in IDA database with xref information computed"],"failure_modes":["Dual-process architecture adds ~50-200ms latency per request due to inter-process communication overhead","Thread synchronization via @idasync decorator requires all IDA API calls to be explicitly decorated, increasing development friction","Local port-based communication limits remote analysis scenarios without additional networking setup","Decompilation quality depends on IDA's analysis depth; incomplete or incorrect analysis produces misleading pseudocode","Hex-Rays decompiler requires a commercial IDA Pro license; free IDA Home edition lacks decompilation","Large functions (>1000 instructions) may produce verbose output exceeding LLM context windows","IDA database writes are not transactional; partial failures can leave database in inconsistent state","Concurrent modifications from multiple MCP clients can cause database corruption; single-writer model recommended","Large databases (>1GB) may experience performance degradation during writes","Structured formatting adds overhead; large binaries produce verbose JSON/markdown output","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.6456858693674857,"quality":0.34,"ecosystem":0.6000000000000001,"match_graph":0.25,"freshness":0.75,"weights":{"adoption":0.25,"quality":0.25,"ecosystem":0.15,"match_graph":0.23,"freshness":0.12}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-05-24T12:16:22.065Z","last_scraped_at":"2026-05-03T14:23:31.492Z","last_commit":"2026-05-03T13:36:57Z"},"community":{"stars":8162,"forks":976,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=mcp-mrexodia-ida-pro-mcp","compare_url":"https://unfragile.ai/compare?artifact=mcp-mrexodia-ida-pro-mcp"}},"signature":"3E1PsKs9tNBUSrTdt8ERl0lraEOzPnvGd8Qfti5OpuOgc7sXB/dLye0ID2d0CUSlbVVY2qTVKDcwgjhX7PfuAQ==","signedAt":"2026-06-22T04:26:30.253Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/mcp-mrexodia-ida-pro-mcp","artifact":"https://unfragile.ai/mcp-mrexodia-ida-pro-mcp","verify":"https://unfragile.ai/api/v1/verify?slug=mcp-mrexodia-ida-pro-mcp","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}