pty-mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited pty-mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
pty-mcp gives AI agents a stateful terminal: directory changes, environment variables, and running processes persist across tool calls.
| Tool | Description |
|---|---|
create_local_session | Start a local shell (bash, python3, node…) |
create_ssh_session | SSH to a remote host |
create_serial_session | Connect to a serial port device |
send_input | Send a command, wait for output to settle |
read_output | Read output; optionally wait for a regex pattern |
send_secret | Prompt the human for a password via GUI dialog (never exposed to AI) |
send_control | Send ctrl+c, ctrl+d, arrow keys, tab… |
detach_session | Disconnect but keep remote PTY running (ai-tmux) |
list_sessions | List active sessions |
close_session | Terminate a session |
create_ssh_session(host: "server", user: "admin")
send_input(session_id, "sudo apt update")
read_output(session_id, wait_for: "password")
send_secret(session_id, prompt: "sudo password:") # GUI dialog, AI never sees it
read_output(session_id, wait_for: "\\$", timeout: 60)send_input(session_id, "make build")
read_output(session_id, wait_for: "Build complete|Error", timeout: 300, tail_lines: 20)create_ssh_session(host: "server", user: "admin", persistent: true)
send_input(session_id, "./run-migration.sh")
detach_session(session_id) # safe to disconnect, script keeps running
# later: reattach with create_ssh_session(..., session_id: "existing-id")create_serial_session(port: "/dev/ttyUSB0", baud: 9600)
read_output(session_id, wait_for: ">")
send_input(session_id, "show version")timeout for long-running commands. Use tail_lines to get context on timeout.ai-tmux daemon on the remote server.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.