Lets agents run commands across a fleet of servers over SSH with policy enforcement, network controls and audit logging.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add ssh-orchestrator --env PYTHONUNBUFFERED='<PYTHONUNBUFFERED>' -- docker start -a mcp-ssh-orchestrator~/.codex/config.toml
[mcp_servers.ssh-orchestrator]
command = "docker"
args = ["start", "-a", "mcp-ssh-orchestrator"]
env = { PYTHONUNBUFFERED = "<PYTHONUNBUFFERED>" }
# codex mcp add ssh-orchestrator --env PYTHONUNBUFFERED='<PYTHONUNBUFFERED>' -- docker start -a mcp-ssh-orchestrator~/.cursor/mcp.json
{
"mcpServers": {
"ssh-orchestrator": {
"command": "docker",
"args": [
"start",
"-a",
"mcp-ssh-orchestrator"
],
"env": {
"PYTHONUNBUFFERED": "<PYTHONUNBUFFERED>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"ssh-orchestrator": {
"type": "stdio",
"command": "docker",
"args": [
"start",
"-a",
"mcp-ssh-orchestrator"
],
"env": {
"PYTHONUNBUFFERED": "<PYTHONUNBUFFERED>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"ssh-orchestrator": {
"command": "docker",
"args": [
"start",
"-a",
"mcp-ssh-orchestrator"
],
"env": {
"PYTHONUNBUFFERED": "<PYTHONUNBUFFERED>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"ssh-orchestrator": {
"command": "docker",
"args": [
"start",
"-a",
"mcp-ssh-orchestrator"
],
"env": {
"PYTHONUNBUFFERED": "<PYTHONUNBUFFERED>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"ssh-orchestrator": {
"command": "docker",
"args": [
"start",
"-a",
"mcp-ssh-orchestrator"
],
"env": {
"PYTHONUNBUFFERED": "<PYTHONUNBUFFERED>"
}
}
}
}Environment variables
PYTHONUNBUFFERED
Replace the placeholders with your own credentials and keep them out of version control.