summaryrefslogtreecommitdiffstats
path: root/systemd
diff options
context:
space:
mode:
authorblasty <blasty@local>2026-07-24 14:53:56 +0200
committerblasty <blasty@local>2026-07-24 14:53:56 +0200
commit22ffea91210610d1def042e230ffe8d223022b30 (patch)
treea70c84470a0f4f46901cb221f2d0dd3859895b41 /systemd
parentmcp: collapse app + launcher to worker-only (diff)
downloadida-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.service34
-rwxr-xr-xsystemd/install.sh23
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)"