How MCP Service Ports Are Assigned and Managed for IDA Pro, Anything-Analyzer, and BurpSuite

Each Model Context Protocol (MCP) server in the reverse-skill repository binds to a well-defined TCP port that is hard-coded by default but can be overridden via environment-specific variables.

The reverse-skill repository implements an MCP-based architecture where AI agents invoke specialized reverse engineering and security tools through dedicated HTTP servers. Port assignment follows a centralized routing table pattern with environment variable overrides, ensuring predictable defaults while allowing flexible multi-instance deployments.

Default Port Assignments and Documentation

Each tool's default port is documented in dedicated reference files and the central routing table.

Tool Default MCP Port Primary Documentation
Anything-Analyzer 23816 skills/routing.md – "Port 23816 MCP server (browser + HTTP capture + AI analysis)"
IDA Pro 8765 skills/ida-reverse/references/ida-mcp-cheatsheet.md – "HTTP mode running"
BurpSuite 9876 skills/pentest-tools/references/burpsuite-mcp-guide.mdBURP_MCP_PORT=9876

The skills/routing.md file serves as the single source of truth for all port assignments in the repository.

Environment Variable Overrides

Every MCP server supports runtime port configuration through dedicated environment variables. This eliminates the need to modify source files when running multiple instances.

  • Anything-Analyzer: ANYTHING_ANALYZER_MCP_PORT (defaults to 23816)
  • IDA Pro: IDA_MCP_PORT (defaults to 8765)
  • BurpSuite: BURP_MCP_HOST and BURP_MCP_PORT (default to 127.0.0.1:9876)

The bootstrap scripts in skills/scripts/ read these variables at startup and pass them to the underlying MCP server executables.

Port Management Implementation

Bootstrap and Conflict Detection

The skills/scripts/bootstrap-reverse.sh script (and platform-specific equivalents) handles MCP server lifecycle management:

  1. Parses the environment variable for the target tool
  2. Validates port availability using lsof or netstat
  3. Aborts with a clear error message if the port is occupied
  4. Launches the MCP server with the verified configuration

This prevents silent failures from port collisions and ensures AI agents can reach the expected endpoint.

Runtime Service Discovery

Skills query skills/scripts/ .omc/tool-manifest.json at runtime to verify MCP service reachability before invoking tools. This registry contains the registered server names (idapro, anything-analyzer, burpsuite) and their configured endpoints.

Code Examples for MCP Port Configuration

Starting Anything-Analyzer with Custom Port

import os
import subprocess

# Override default 23816 via environment

port = os.getenv("ANYTHING_ANALYZER_MCP_PORT", "23816")
subprocess.run(
    ["anything-analyzer", "--mcp-port", port],
    check=True
)

Querying IDA Pro MCP Server

import json
import urllib.request

host = os.getenv("IDA_MCP_HOST", "127.0.0.1")
port = os.getenv("IDA_MCP_PORT", "8765")
url = f"http://{host}:{port}/idapro_idb_list"

response = urllib.request.urlopen(url)
tools = json.load(response)
print(tools)  # Available IDA sessions via MCP

BurpSuite MCP Bridge Invocation

import os
import requests

burp_host = os.getenv("BURP_MCP_HOST", "127.0.0.1")
burp_port = os.getenv("BURP_MCP_PORT", "9876")
api = f"http://{burp_host}:{burp_port}/burp/api/v1/scan"

payload = {"target": "http://example.com"}
r = requests.post(api, json=payload)
print(r.json())  # Scan results via MCP bridge

Key Configuration Files

File Path Purpose
skills/routing.md Central MCP port routing table
skills/ida-reverse/references/ida-mcp-cheatsheet.md IDA Pro MCP server specification
skills/pentest-tools/references/burpsuite-mcp-guide.md BurpSuite MCP bridge configuration
skills/scripts/bootstrap-reverse.sh MCP server startup and port validation
.omc/tool-manifest.json Runtime MCP service registry

Summary

  • Hard-coded defaults are defined in skills/routing.md and tool-specific references: 23816 (Anything-Analyzer), 8765 (IDA Pro), 9876 (BurpSuite)
  • Environment variables (*_MCP_PORT) enable port customization without code changes
  • Bootstrap scripts handle port conflict detection and server initialization
  • Runtime registry at .omc/tool-manifest.json supports dynamic service discovery
  • Source files in zhaoxuya520/reverse-skill implement this architecture for reliable AI-to-tool communication

Frequently Asked Questions

What happens if two MCP servers try to use the same port?

The bootstrap script detects the conflict using lsof or netstat and aborts with an error message. The user must set a different *_MCP_PORT environment variable and restart.

Can I run multiple instances of the same MCP tool on one host?

Yes. Start each instance with a unique *_MCP_PORT value and register each in .omc/tool-manifest.json with distinct server names. The routing table supports per-instance configuration.

Why does IDA Pro use port 8765 specifically?

Port 8765 is the conventional default for IDA's remote debugging server. The MCP implementation in skills/ida-reverse/ follows this convention for consistency with existing IDA tooling and documentation.

Where is the authoritative list of all MCP ports?

skills/routing.md contains the complete routing table. Tool-specific details appear in skills/ida-reverse/references/ida-mcp-cheatsheet.md and skills/pentest-tools/references/burpsuite-mcp-guide.md.

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 →