warp-command-runner
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| suggest_commandC | Suggests a terminal command based on the user's request |
| execute_commandA | Executes a terminal command and captures its output. Preferred for quick commands (ls, git status, cat, echo, etc.) that don't need a visible terminal tab. Use open_terminal_tab only for long-running processes. |
| execute_with_auto_retrieveA | Executes a command and automatically waits for and returns its output. Preferred for quick commands that don't need a visible terminal tab. Use open_terminal_tab only for long-running processes like builds or servers. |
| preview_commandB | Preview a command without executing it |
| get_command_outputC | Retrieve the output of a previously executed command |
| execute_pipelineB | Execute a pipeline of commands with conditional logic (stop/continue/warn on failure) |
| execute_with_streamingB | Execute a command with real-time output streaming - ideal for long-running builds |
| save_templateB | Save a command template with variables for reuse |
| run_templateC | Execute a saved command template with variable substitution |
| list_templatesB | List all saved command templates |
| delete_templateB | Delete a saved command template by name |
| list_recent_commandsB | List recent commands from history with status, duration, and exit codes |
| self_checkB | Run health check on configuration, database, terminal, and recent error rates |
| copy_to_clipboardA | Copy text to the macOS system clipboard |
| read_from_clipboardA | Read the current contents of the macOS system clipboard |
| set_notification_preferenceC | Toggle macOS notification preferences for command completion alerts |
| get_environment_contextB | Get current terminal environment context including git branch, active venv, node version, docker status, and working directory |
| execute_and_parseB | Execute a command and return structured parsed output (supports git status, git log, docker ps, test results, ls -la, and JSON) |
| capture_environmentB | Capture a snapshot of the current shell environment variables with a named label |
| diff_environmentB | Compare two environment snapshots and show additions, removals, and changes |
| save_workspace_profileB | Save current project context as a named workspace profile (directory, commands, env vars, terminal preference). Optionally also writes a Warp-native launch config to ~/.warp/launch_configurations/ so the profile appears in Warp's launch UI. |
| load_workspace_profileB | Load a saved workspace profile to restore project context |
| list_workspace_profilesB | List all saved workspace profiles |
| delete_workspace_profileC | Delete a saved workspace profile |
| open_terminal_tabA | Open a new named terminal tab. ONLY use for long-running commands that need their own visible tab (builds, installs, servers, cloning repos). For quick commands, prefer execute_command or execute_with_auto_retrieve instead. If a session already exists, use send_to_session to reuse it. |
| send_to_sessionA | Send a command to an existing named terminal session, reusing its tab. Always prefer this over opening a new tab when a relevant session already exists. Use list_sessions first to check for available sessions. |
| list_sessionsA | List all active terminal sessions. Check this before opening new tabs to avoid creating duplicates. Reuse existing sessions with send_to_session whenever possible. |
| close_sessionA | Close a named terminal session and optionally close its tab. Use to clean up sessions that are no longer needed. Pass close_tab: true to also close the terminal tab. |
| cleanup_sessionsA | Remove stale terminal sessions that have been inactive. Use periodically to clean up accumulated tabs. Sessions inactive longer than inactive_minutes (default: 30) are removed. Set close_tabs to true to also close the terminal tabs. |
| add_file_watchC | Set up a file system watcher that triggers a command when files change |
| remove_file_watchB | Remove an active file system watcher |
| list_file_watchesB | List all active file system watchers |
| ssh_executeB | Execute a command on a remote host via SSH (key-based authentication only) |
| save_ssh_profileC | Save an SSH connection profile for quick reuse |
| list_ssh_profilesA | List all saved SSH connection profiles |
| delete_ssh_profileC | Delete a saved SSH connection profile |
| check_interactiveA | Check if a command is interactive (requires TTY/stdin) before executing it. Returns safety level: safe, cautious, interactive, or blocked with suggestions for non-interactive alternatives |
| focus_warp_sessionA | Focus an existing Warp pane by its session UUID via warp://session/. The UUID must be one Warp itself recognises (typically obtained from the optional shell shim's OSC 777 session_start event). Locally-minted UUIDs returned by open_terminal_tab are NOT valid here. |
| emit_warp_eventA | Build a printf invocation that emits an OSC 777 warp://cli-agent JSON event into Warp's notification UI. The returned printf must be executed inside a Warp pane (e.g. via execute_command) to take effect — our MCP stdout is the JSON-RPC channel and cannot directly write to Warp's PTY. |
| shell_shim_statusA | Report the status of the optional shell shim — socket path, whether the MCP server is listening, total events received, and the most recent events. The shim is opt-in (helper/install-shim.sh); when active inside a Warp pane it streams preexec/command_finished events to the MCP via a per-uid Unix socket. Observability surface in v6.0; execute_command auto-routing through shim events is deferred to v6.0.x. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 40 tools
Several execution tools heavily overlap: execute_command, execute_with_auto_retrieve, execute_and_parse, execute_with_streaming, and execute_pipeline all run commands, while get_command_output and auto-retrieve both fetch output. Descriptions provide some guidance, but an agent still faces unclear boundaries for choosing the right runner.
Most tools follow a predictable snake_case verb_noun pattern such as execute_command, list_templates, save_workspace_profile, and delete_ssh_profile. Minor deviations like ssh_execute, self_check, and shell_shim_status keep it from being fully consistent.
With 40 tools, the surface is heavy for a command-runner server and includes many niche capabilities beyond core command execution, such as clipboard access, notifications, Warp event emission, and shell-shim status. The set feels over-expanded rather than tightly scoped.
The surface covers command execution, output retrieval, templates, sessions, workspace profiles, SSH profiles, environment snapshots, file watches, and health checks. Minor gaps remain, such as no explicit template update/get operation and no obvious command cancellation/kill tool, but these are workable.