execute_commandLABSCO SUMMARY
A terminal your agent can use carefully — including the part that refuses to hang.
The pieces that separate this from "run a shell command" are the operational ones: check_interactive catches commands that need a TTY before they block, environment snapshots let you diff what a script actually changed, and streaming keeps long builds visible. The setup cost is real and macOS-specific — signing is not optional if you want execution to work.
What it is
Warp Command Runner is an MCP server that gives any MCP client a real terminal: execute commands, chain them into pipelines, stream long builds, save reusable templates, watch files, and reach remote hosts over SSH. One binary, any client — the extra value shows up when Warp is your terminal.
What you get
- Core execution —
execute_command,execute_with_auto_retrievefor the common case,execute_pipelinefor chained steps with failure modes,execute_with_streamingfor long builds, plusget_command_output,preview_command,suggest_command,list_recent_commandsandself_check - Templates —
save_template,run_templatewith variables,list_templates,delete_template - Environment intelligence —
get_environment_contextprobes git, venv, Node and Docker state;execute_and_parsereturns structured JSON;capture_environmentanddiff_environmentsnapshot and compare your real shell environment - Workspace profiles —
save_workspace_profile,load_workspace_profile,list_workspace_profiles,delete_workspace_profile - Sessions and safety —
open_terminal_tab,send_to_session,list_sessions,close_session,cleanup_sessions, andcheck_interactive, which classifies a command for TTY needs before it hangs onvimorpsql - File watching and remote —
add_file_watch,remove_file_watch,list_file_watches,ssh_execute,save_ssh_profile,list_ssh_profiles,delete_ssh_profile - Clipboard and Warp integration —
copy_to_clipboard,read_from_clipboard,set_notification_preference,focus_warp_session,emit_warp_event,shell_shim_status
Requirements
macOS, and a build signed with your own code-signing identity — the five keystroke-routing tools including execute_command only work from a signed bundle, and build.sh auto-detects a single Apple Development or Developer ID identity. Find yours with security find-identity -v -p codesigning. Upgrading matters here too: rebuild with the same identity, or macOS treats it as a new app, your TCC grants stop applying, and execute_command returns error 1002. Register it in Warp's ~/.warp/.mcp.json, Claude Desktop's config, or any other MCP client's settings.
Setup effort
Build from source — git clone https://github.com/M-Pineapple/warp-command-runner.git
USE CASES
Running a build and watching it as it goes
Stream a long build's output into the conversation instead of waiting for a single dump at the end.
Avoiding a command that would hang the session
Classify the command for TTY and stdin needs first, then run it only if it is safe to run non-interactively.
Working out what an installer changed
Snapshot the shell environment before and after, then diff the two.
Doing the same job on a remote box
Save the connection once, then run the diagnostic there and read the output back.
40 tools
Listed in project docs. Your client may show a different list.
execute_with_auto_retrieveexecute_pipelineexecute_with_streamingsave_templaterun_templatelist_templatesdelete_templateget_command_outputpreview_commandsuggest_commandlist_recent_commandsself_checkcopy_to_clipboardread_from_clipboardset_notification_preferenceget_environment_contextexecute_and_parsecapture_environmentdiff_environmentsave_workspace_profileload_workspace_profilelist_workspace_profilesdelete_workspace_profileopen_terminal_tabsend_to_sessionlist_sessionsclose_sessioncleanup_sessionscheck_interactiveadd_file_watchremove_file_watchlist_file_watchesssh_executesave_ssh_profilelist_ssh_profilesdelete_ssh_profilefocus_warp_sessionemit_warp_eventshell_shim_statusBEFORE YOU INSTALL
What to know first
Tools you get
40 tools named in the project's documentation.
Requires
- macOS 13.0 or later
- Swift 6.0+ (Xcode 16+)
Where it runs
All 3 documented clients run the server on your machine.
INSTALLATION
Connect your client
This one is built from source rather than installed with a single command.
Server setup
git clone https://github.com/M-Pineapple/warp-command-runner.git
cd warp-command-runner
./build.sh
cp -R .build/release/warp-command-runner.app "/Applications/Warp Command Runner.app"MCP Clients
Warp
{
"mcpServers": {
"warp-command-runner": {
"command": "/Applications/Warp Command Runner.app/Contents/MacOS/warp-command-runner",
"args": []
}
}
}~/.warp/.mcp.json
Claude Desktop
{
"mcpServers": {
"warp-command-runner": {
"command": "/Applications/Warp Command Runner.app/Contents/MacOS/warp-command-runner",
"args": []
}
}
}~/Library/Application Support/Claude/claude_desktop_config.json
Cursor
In your warp-command-runner clone, run helper/install-cursor-wrapper.sh — Cursor splits command on spaces, so the script installs a launcher with no spaces at ~/.local/bin/warp-command-runner
Point ~/.cursor/mcp.json at ~/.local/bin/warp-command-runner (<YOUR_USERNAME> is your macOS user name):
{
"mcpServers": {
"warp-command-runner": {
"command": "/Users/<YOUR_USERNAME>/.local/bin/warp-command-runner",
"args": []
}
}
}