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. --- systemd/idatui-mcp.service | 34 ---------------------------------- systemd/install.sh | 23 ----------------------- 2 files changed, 57 deletions(-) delete mode 100644 systemd/idatui-mcp.service delete mode 100755 systemd/install.sh (limited to 'systemd') diff --git a/systemd/idatui-mcp.service b/systemd/idatui-mcp.service deleted file mode 100644 index 9afcb73..0000000 --- a/systemd/idatui-mcp.service +++ /dev/null @@ -1,34 +0,0 @@ -[Unit] -Description=idatui ida-pro-mcp supervisor (idalib-mcp on 127.0.0.1:8745) -Documentation=https://github.com/mrexodia/ida-pro-mcp -# Wait for network in case a worker ever needs to resolve/pull anything. -After=network-online.target -Wants=network-online.target -# If it dies >5 times in 60s, stop flapping and surface a hard failure. -StartLimitIntervalSec=60 -StartLimitBurst=5 - -[Service] -Type=simple -WorkingDirectory=%h/dev/ida-tui-maybe -ExecStart=%h/dev/ida-tui-maybe/spawn.sh - -# Be explicit about PATH so the unit doesn't depend on an interactive login -# shell. %h/.local/bin is where `idalib-mcp` lives (uv tool install); uv itself -# and /usr/bin/python are on the system PATH. -Environment=PATH=%h/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin -# Tunables (override with a drop-in: systemctl --user edit idatui-mcp). -Environment=IDA_MCP_MAX_WORKERS=8 -Environment=IDA_MCP_HOST=127.0.0.1 -Environment=IDA_MCP_PORT=8745 - -# Always bring it back; observe restarts/exits in `journalctl --user -u idatui-mcp`. -Restart=always -RestartSec=2 - -# Give the supervisor time to shut its workers down cleanly. -TimeoutStopSec=30 -KillMode=mixed - -[Install] -WantedBy=default.target diff --git a/systemd/install.sh b/systemd/install.sh deleted file mode 100755 index 0a118b7..0000000 --- a/systemd/install.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh -# Install & enable the idatui-mcp user service. Re-run after editing the unit. -set -eu - -UNIT=idatui-mcp.service -SRC=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)/$UNIT -DEST_DIR="${XDG_CONFIG_HOME:-$HOME/.config}/systemd/user" - -mkdir -p "$DEST_DIR" -ln -sf "$SRC" "$DEST_DIR/$UNIT" - -# Keep the service alive after logout / across reboots without a login session. -loginctl enable-linger "$(id -un)" || true - -systemctl --user daemon-reload -systemctl --user enable --now "$UNIT" - -echo -echo "Installed. Handy commands:" -echo " systemctl --user status idatui-mcp" -echo " systemctl --user restart idatui-mcp" -echo " journalctl --user -u idatui-mcp -f" -echo " systemctl --user edit idatui-mcp # drop-in overrides (ports, workers)" -- cgit v1.3.1-sl0p