MCP Server
MCP
SSH Fleet
Curated ssh_probe diagnostics and single-host ssh_exec over an allowlisted SSH fleet.
Install
oci:ghcr.io/inhuman/mcp-ssh-fleet:0.1.5
Configuration Example
{
"remotes": [],
"packages": [
{
"registryType": "oci",
"identifier": "ghcr.io/inhuman/mcp-ssh-fleet:0.1.5",
"runtimeHint": "docker",
"transport": {
"type": "stdio"
},
"runtimeArguments": [
{
"description": "Mount the host inventory allowlist (YAML), read-only.",
"isRequired": true,
"value": "{inventory_path}:/etc/ssh-fleet/inventory.yaml:ro",
"variables": {
"inventory_path": {
"description": "Absolute path to your inventory.yaml on the host (see deploy/inventory.example.yaml).",
"isRequired": true,
"format": "filepath"
}
},
"type": "named",
"name": "-v"
},
{
"description": "Mount the private SSH key, read-only.",
"isRequired": true,
"value": "{key_path}:/etc/ssh-fleet/id_ed25519:ro",
"variables": {
"key_path": {
"description": "Absolute path to the private SSH key on the host.",
"isRequired": true,
"format": "filepath",
"isSecret": true
}
},
"type": "named",
"name": "-v"
}
],
"environmentVariables": [
{
"description": "MCP transport. Must be 'stdio' for direct docker/stdio use.",
"default": "stdio",
"name": "SSH_FLEET_TRANSPORT"
},
{
"description": "Per-host command timeout in seconds (1..600).",
"default": "20",
"name": "SSH_FLEET_CMD_TIMEOUT_SECONDS"
},
{
"description": "Cap on output bytes per host section (>=256).",
"default": "8192",
"name": "SSH_FLEET_OUTPUT_CAP_BYTES"
},
{
"description": "Parallelism for ssh_probe.",
"default": "8",
"name": "SSH_FLEET_PROBE_CONCURRENCY"
},
{
"description": "Safety cap on the number of hosts in one probe.",
"default": "50",
"name": "SSH_FLEET_PROBE_MAX_HOSTS"
},
{
"description": "Optional X-MCP-AUTH bearer token (only used by the http/sse transports).",
"isSecret": true,
"name": "SSH_FLEET_AUTH_TOKEN"
}
]
}
]
}
mcp
model-context-protocol
oci
By
Comments
Sign in to leave a comment