From 3a28b97cb355822b2d380f9507b203b79cb0e4e9 Mon Sep 17 00:00:00 2001 From: blasty Date: Fri, 24 Jul 2026 14:53:56 +0200 Subject: mcp: delete the ida-pro-mcp transport, supervisor, and mcp-only tests The idalib worker is the only backend now, so remove the dead HTTP/supervisor surface entirely (~2200 lines): * deleted idatui/client.py (the IDAClient HTTP/JSON-RPC transport + session manager), idatui/tui.py (the old mcp TUI entry, superseded by launch.py), spawn.sh, and systemd/ (the supervisor unit). * deleted the mcp-only tests (stress_client, smoke_client, test_keepalive, stress_paging, rpc_smoke, serverctl.sh, pane_smoke, test_domain) -- the worker pilot (tests/test_scenarios.py) supersedes them. * migrated the tmux RPC harness (idatui/pane.py) to the worker: it spawns `idatui.launch --rpc ` instead of the mcp `idatui.tui`, drops the supervisor auto-start/ensure machinery, and reaps our own worker (idatui/worker.py) instead of ida_pro_mcp.idalib_server. --db/--url/--no- ensure-server are gone; --open is required. * __init__ / __main__ / domain no longer import client (exceptions come from errors.py, the domain client hint is WorkerClient); pyproject points both console scripts at idatui.launch; README + ida-tui header describe the worker-only flow. What stays (by design): the ida_pro_mcp *package* (the worker reuses its @tool functions in-process) and server/patch_server.py (the worker injects its custom tools on startup). Verified: whole package imports + IdaTui constructs + pilot lists 31 scenarios. The worker pilot (134 pass / 2 known flakes) is the E2E gate. --- spawn.sh | 24 ------------------------ 1 file changed, 24 deletions(-) delete mode 100755 spawn.sh (limited to 'spawn.sh') diff --git a/spawn.sh b/spawn.sh deleted file mode 100755 index a8763ae..0000000 --- a/spawn.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# Start the ida-pro-mcp supervisor. IDA_MCP_MAX_WORKERS raises the ceiling on -# concurrently-open binaries (default 4); idle workers self-exit and free slots. -# -# Location-independent: resolves paths relative to this script, not $PWD, so it -# behaves the same whether run by hand or from the systemd unit (see -# systemd/idatui-mcp.service). -set -eu - -SCRIPT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd) - -IDA_MCP_HOST="${IDA_MCP_HOST:-127.0.0.1}" -IDA_MCP_PORT="${IDA_MCP_PORT:-8745}" -IDA_MCP_TARGET="${IDA_MCP_TARGET:-$SCRIPT_DIR/bin/ls}" - -# Ensure idatui's extra server tools (del_type, needed by the struct editor) are -# present in the installed ida-pro-mcp. Idempotent; patches the api_types.py that -# the /usr/bin/python workers import. See server/patch_server.py. -/usr/bin/python "$SCRIPT_DIR/server/patch_server.py" || \ - echo "warn: server patch skipped (del_type may be unavailable)" - -cd "$SCRIPT_DIR" -exec env IDA_MCP_MAX_WORKERS="${IDA_MCP_MAX_WORKERS:-8}" \ - uv run idalib-mcp --host "$IDA_MCP_HOST" --port "$IDA_MCP_PORT" "$IDA_MCP_TARGET" -- cgit v1.3.1-sl0p