{"type":"mcp_server","name":"ida-pro-mcp","description":"This repository provides an IDA Pro MCP server, enabling vibe reversing with functionalities like metadata retrieval, function manipulation, decompilation, disassembly, and comment setting within the IDA Pro environment.","category":"Developer Tools","language":"Python","stars":10187,"forks":21,"owner":"mrexodia","github_url":"https://github.com/mrexodia/ida-pro-mcp","homepage":null,"setup":"## Setup\n\n**IDA Pro Installation**\n\n1.  Copy `mcp-plugin.py` in your plugins folder (`%appdata%\\Hex-Rays\\IDA Pro\\plugins` on Windows).\n2.  Open an IDB and click `Edit -> Plugins -> MCP` to start the server.\n\n**MCP Server Installation (Cline/Claude)**\n\n1.  Install [uv](https://github.com/astral-sh/uv) globally:\n    *   Windows: `pip install uv`\n    *   Linux/Mac: `curl -LsSf https://astral.sh/uv/install.sh | sh`\n2.  Clone this repository, for this example `C:\\MCP\\ida-pro-mcp`.\n3.  Navigate to the Cline _MCP Servers_ configuration (see screenshot).\n4.  Click on the _Installed_ tab.\n5.  Click on _Configure MCP Servers_, which will open `cline_mcp_settings.json`.\n6.  Add the `ida-pro-mcp` server:\n\n```json\n{\n  \"mcpServers\": {\n    \"github.com/mrexodia/ida-pro-mcp\": {\n      \"command\": \"uv\",\n      \"args\": [\n        \"--directory\",\n        \"c:\\\\MCP\\\\ida-pro-mcp\",\n        \"run\",\n        \"server.py\"\n      ],\n      \"timeout\": 600\n    }\n  }\n}\n```","tools":"## Available Tools\n\n1.  `get_metadata()` (Get metadata about the current IDB).\n2.  `get_function_by_name(name)` (Get a function by its name).\n3.  `get_function_by_address(address)` (Get a function by its address).\n4.  `get_current_address()` (Get the address currently selected by the user).\n5.  `get_current_function()` (Get the function currently selected by the user).\n6.  `convert_number(text, size)` (Convert a number (decimal, hexadecimal) to different representations).\n7.  `list_functions()` (List all functions in the database).\n8.  `decompile_function(address)` (Decompile a function at the given address).\n9.  `disassemble_function(address)` (Get assembly code (address: instruction; comment) for a function).\n10. `get_xrefs_to(address)` (Get all cross references to the given address).\n11. `get_entry_points()` (Get all entry points in the database).\n12. `set_decompiler_comment(address, comment)` (Set a comment for a given address in the function pseudocode).\n13. `set_disassembly_comment(address, comment)` (Set a comment for a given address in the function disassembly).\n14. `rename_local_variable(function_address, old_name, new_name)` (Rename a local variable in a function).\n15. `rename_function(function_address, new_name)` (Rename a function).\n16. `set_function_prototype(function_address, prototype)` (Set a function's prototype).\n17. `set_local_variable_type(function_address, variable_name, new_type)` (Set a local variable's type).","faq":null,"created_at":"2025-03-25T22:23:41+00:00","updated_at":"2025-03-28T23:56:30+00:00","source_url":"https://model-context-protocol.com/servers/ida-pro-mcp-vibe-reversing-server","related_articles":[]}