How to Start the IDA MCP HTTP Service: A Complete Setup Guide
The IDA MCP HTTP service is built into IDA Pro (versions 7.5–7.7+) and starts either from the GUI via File → Plugins → MCP Server or via command line with ida64 -MCP -p 23816.
Starting the IDA MCP HTTP service enables external tools and AI agents to invoke IDA Pro's analysis functions through a simple HTTP/JSON-RPC interface. This service forms the backbone of automated reverse engineering workflows in the zhaoxuya520/reverse-skill repository, allowing programmatic access to decompilation, binary export, and search capabilities without manual GUI interaction.
Prerequisites: IDA Pro Installation
The MCP server ships bundled with recent IDA Pro releases. No separate download is required.
- Required version: IDA Pro 7.5 or later
- Installation: Standard IDA Pro installation (Windows, Linux, or macOS)
- Verification: Check
README.mdin the repository for high-level installation requirements
Method 1: Start from the IDA Pro GUI
This is the most straightforward approach for interactive sessions.
-
Launch IDA Pro and open your target binary
-
Verify the MCP plug-in is enabled — Navigate to File → Plugins → MCP Server. If the menu entry appears, the plug-in is installed.
-
Start the server — Select File → Plugins → MCP Server → Start
-
Confirm the listening address — A console window displays the default endpoint:
http://127.0.0.1:23816 -
Stop the server — Use File → Plugins → MCP Server → Stop or send a shutdown RPC request
Method 2: Start from Command Line
For automated pipelines and headless operation, launch IDA MCP HTTP service directly from the terminal.
# Basic headless start with default port
ida64 -MCP /path/to/binary
# Specify custom port (useful when 23816 is occupied)
ida64 -MCP -p 25000 /path/to/binary
# Windows example with explicit path
"C:\Program Files\IDA Pro 7.7\ida64.exe" -MCP -p 23816 C:\samples\malware.exe
Parameter reference:
| Flag | Description |
|---|---|
-MCP |
Enable MCP HTTP server mode |
-p <port> |
Custom port (default: 23816) |
/path/to/binary |
Target file to analyze |
Verify the Service Is Running
Test connectivity using standard HTTP tools:
# Check server status
curl http://127.0.0.1:23816/status
# Expected JSON response
# {"status": "ok", "version": "7.7"}
# PowerShell verification
Invoke-RestMethod -Uri http://127.0.0.1:23816/status
# Python verification script
import requests, sys
resp = requests.get("http://127.0.0.1:23816/status")
if resp.json().get("status") == "ok":
print("IDA MCP HTTP service is ready")
sys.exit(0)
else:
print("Service not responding correctly")
sys.exit(1)
Invoke MCP Commands Programmatically
Once the IDA MCP HTTP service is active, issue JSON-RPC requests to exposed endpoints. The repository's routing system expects this server for all idapro_* tool invocations.
# Decompile a function at address 0x401000
import requests, json
url = "http://127.0.0.1:23816/jsonrpc"
payload = {
"jsonrpc": "2.0",
"method": "decompile",
"params": {"ea": "0x401000"},
"id": 1
}
resp = requests.post(url, json=payload)
print(json.dumps(resp.json(), indent=2))
# Search for string references
curl -X POST http://127.0.0.1:23816/jsonrpc \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"search","params":{"text":"password"},"id":1}'
Stop the Service
# Graceful shutdown via RPC
curl -X POST http://127.0.0.1:23816/shutdown
# Or terminate the IDA process
killall ida64
Repository Integration Points
The zhaoxuya520/reverse-skill codebase references the IDA MCP HTTP service in several key locations:
skills/routing.mdandskills/routing_zh.md— List "IDA Pro (idapro_) – MCP HTTP server + 72 tools"* as the primary reverse engineering entry point in the routing tableskills/ida-reverse/SKILL.md— Documents the step-by-step MCP workflow including server startup proceduresskills/reverse-engineering/tools.md— Enumerates all HTTP-exposed MCP Commands:decompile,binexport,search, and othersdocs/ARCHITECTURE.md— Explains how MCP services fit into the platform-agnostic routing architecture
PowerShell Automation Example
For Windows-based automation pipelines:
# Start IDA headless with MCP on custom port
$idaPath = "C:\Program Files\IDA Pro 7.7\ida64.exe"
$targetBinary = "C:\samples\analysis_target.exe"
Start-Process -FilePath $idaPath `
-ArgumentList "-MCP","-p","23816",$targetBinary `
-WindowStyle Hidden
# Wait for service initialization
Start-Sleep -Seconds 5
# Poll until ready
do {
Start-Sleep -Milliseconds 500
try {
$status = Invoke-RestMethod -Uri http://127.0.0.1:23816/status -ErrorAction Stop
} catch {
$status = $null
}
} while ($status.status -ne "ok")
Write-Host "IDA MCP HTTP service ready for automated analysis"
Summary
- IDA MCP HTTP service is built into IDA Pro 7.5+ — no extra installation needed
- Start interactively via File → Plugins → MCP Server → Start or headless with
ida64 -MCP -p 23816 - Default endpoint:
http://127.0.0.1:23816— configurable with-pflag - Verify with
curl http://127.0.0.1:23816/status - Repository routing in
skills/routing.mddepends on this service for allidapro_*tool chains - Stop gracefully via File → Plugins → MCP Server → Stop or
/shutdownRPC endpoint
Frequently Asked Questions
What IDA Pro versions support the MCP HTTP service?
IDA Pro 7.5 through 7.7 and later releases include the MCP server as a bundled plug-in. Earlier versions require upgrading. Check the installation section in the repository README.md for specific compatibility notes.
Can I run multiple IDA MCP HTTP services simultaneously?
Yes, by assigning different ports to each instance. Use ida64 -MCP -p 23817 for the second instance, ida64 -MCP -p 23818 for the third, and so on. Ensure your automation scripts track which port corresponds to which analysis target.
Why does my routing configuration fail to connect to IDA?
The service is likely not running or bound to a non-default port. Verify with curl http://127.0.0.1:23816/status. If IDA runs on a custom port, update the configuration in your skill invocation or set the IDA_MCP_URL environment variable to match your endpoint.
Is the MCP service available without a commercial IDA Pro license?
No. The IDA MCP HTTP service requires a legitimate IDA Pro installation with appropriate licensing. The repository's skill routing expects this commercial dependency for full reverse-engineering capabilities.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →