Loading connector details…
Loading connector details…
Choose a unique username to continue using AgentHotspot
by yiwenlu66 • Security & Privacy
An MCP server that enables AI agents to control interactive terminals and maintain state across sessions for SSH, background processes, and interactive programs.
Run multi-step development workflows while preserving shell state (cwd, environment, and history) across commands.
Connect to remote servers via SSH (public-key) and execute diagnostic or management tasks in an interactive session.
Start, monitor, and control long-running background processes and inspect session logs for progress and debugging.
PiloTY bridges AI agents and terminal interfaces via the Model Context Protocol, providing stateful PTY-backed terminal sessions that behave like a human user. It supports SSH with public-key authentication, background process management, and an extensible handler architecture for interactive programs. PiloTY logs sessions and command history for debugging and inspection. Note: the project is a work-in-progress and includes a prominent security warning about unrestricted terminal access.
Create a PTY session with an explicit working directory. MCP does not provide a standard field for the client's current working directory. The caller must provide `cwd` explicitly. Args: session_id: Stable identifier for this PTY session. cwd: Working directory for the session's shell. description: Free-form description of what this session is doing (for humans). shell_prompt_regex: Optional regex to detect a shell prompt on the last visible non-empty screen line. Use this only for shell prompt detection, not the LLM prompt. Prefer anchoring to the end of the prompt (e.g. `r"\$\s*$"`). Set it after observing the actual prompt text if the default heuristics misclassify READY as RUNNING.
Execute a command in a stateful PTY session. Requires an existing session created via `create_session(session_id, cwd)`. Quiescence: reads until the PTY is silent for PILOTY_QUIESCENCE_MS (default 1000ms), or until `timeout` seconds elapse. Common SSH pattern: - create_session(session_id, cwd) - run(session_id, "ssh host", timeout=...) - expect_prompt(session_id, timeout=...) # wait for remote shell prompt
Send raw input to a stateful terminal session (no newline added). Requires an existing session created via `create_session(session_id, cwd)`.
Send a password plus newline. Requires an existing session created via `create_session(session_id, cwd)`. Security model: - Forces terminal echo off for this send operation (`echo=False`). - Disables transcript logging for this send operation (`log=False`). - Returns `output` as the literal string "[password sent]".
Send a control character to the terminal. Requires an existing session created via `create_session(session_id, cwd)`. Keys: - `c` sends Ctrl+C, commonly used to interrupt. - `d` sends Ctrl+D (EOF in many programs). - `z` sends Ctrl+Z (job control suspend). - `l` sends Ctrl+L (clear screen in many shells). - `[` or `escape` sends ESC. Returns the same shape as `run()`.
Scores are informational only and provided “as is” without warranty. AgentHotspot assumes no liability for actions taken based on these ratings.