diff options
| author | blasty <blasty@local> | 2026-07-24 14:53:56 +0200 |
|---|---|---|
| committer | blasty <blasty@local> | 2026-07-24 14:53:56 +0200 |
| commit | 22ffea91210610d1def042e230ffe8d223022b30 (patch) | |
| tree | a70c84470a0f4f46901cb221f2d0dd3859895b41 /systemd | |
| parent | mcp: collapse app + launcher to worker-only (diff) | |
| download | ida-tui-22ffea91210610d1def042e230ffe8d223022b30.tar.gz ida-tui-22ffea91210610d1def042e230ffe8d223022b30.tar.xz ida-tui-22ffea91210610d1def042e230ffe8d223022b30.zip | |
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 <binary> --rpc <sock>` 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.
Diffstat (limited to 'systemd')
| -rw-r--r-- | systemd/idatui-mcp.service | 34 | ||||
| -rwxr-xr-x | systemd/install.sh | 23 |
2 files changed, 0 insertions, 57 deletions
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)" |
