Help us improve
Share bugs, ideas, or general feedback.
From pty-mcp
Manages interactive PTY sessions for local shells, SSH, serial ports, and persistent remote terminals. Use for running server commands, connecting via SSH, device interaction, log monitoring, or stateful terminals.
npx claudepluginhub raychao-oao/pty-mcp --plugin pty-mcpHow this skill is triggered — by the user, by Claude, or both
Slash command
/pty-mcp:pty-mcpThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
pty-mcp gives AI agents a stateful terminal: directory changes, environment variables, and running processes persist across tool calls.
Creates p5.js generative art with seeded randomness, noise fields, and interactive parameter exploration. Use for algorithmic art, flow fields, or particle systems.
Share bugs, ideas, or general feedback.
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.