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.md in the repository for high-level installation requirements

Method 1: Start from the IDA Pro GUI

This is the most straightforward approach for interactive sessions.

  1. Launch IDA Pro and open your target binary

  2. Verify the MCP plug-in is enabled — Navigate to File → Plugins → MCP Server. If the menu entry appears, the plug-in is installed.

  3. Start the server — Select File → Plugins → MCP Server → Start

  4. Confirm the listening address — A console window displays the default endpoint: http://127.0.0.1:23816

  5. 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:

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 -p flag
  • Verify with curl http://127.0.0.1:23816/status
  • Repository routing in skills/routing.md depends on this service for all idapro_* tool chains
  • Stop gracefully via File → Plugins → MCP Server → Stop or /shutdown RPC 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:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →