{
  "schemaVersion": "1.0",
  "item": {
    "slug": "mcp-ssh-manager",
    "name": "MCP SSH Manager",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/iMaxTomas/mcp-ssh-manager",
    "canonicalUrl": "https://clawhub.ai/iMaxTomas/mcp-ssh-manager",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/mcp-ssh-manager",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=mcp-ssh-manager",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "_meta.json",
      "examples/deployment.md",
      "examples/system-check.md",
      "examples/troubleshooting.md",
      "references/comparison.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/mcp-ssh-manager"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/mcp-ssh-manager",
    "agentPageUrl": "https://openagent3.xyz/skills/mcp-ssh-manager/agent",
    "manifestUrl": "https://openagent3.xyz/skills/mcp-ssh-manager/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/mcp-ssh-manager/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "MCP SSH Manager Skill",
        "body": "Original MCP Server: mcp-ssh-manager by @bvisible\nThis skill provides documentation, workflows, and best practices for using the MCP ssh-manager server.\n\nManage remote SSH servers using MCP ssh-manager tools. Emphasizes session reuse, workdir organization, and content persistence for sustainable operations."
      },
      {
        "title": "Connection Management",
        "body": "TaskToolExampleList serversssh_list_serversssh_list_serversExecute commandssh_executessh_execute server=\"rock5t\" command=\"df -h\"Execute with sudossh_execute_sudossh_execute_sudo server=\"rock5t\" command=\"apt update\"Check statusssh_connection_statusssh_connection_status action=\"status\""
      },
      {
        "title": "Session Management",
        "body": "TaskToolExampleStart sessionssh_session_startssh_session_start server=\"rock5t\" name=\"deploy\"Send commandssh_session_sendssh_session_send session=\"xxx\" command=\"cd /var\"List sessionsssh_session_listssh_session_listClose sessionssh_session_closessh_session_close session=\"xxx\""
      },
      {
        "title": "File Operations",
        "body": "TaskToolExampleUpload filessh_uploadssh_upload server=\"rock5t\" localPath=\".\" remotePath=\"/tmp\"Download filessh_downloadssh_download server=\"rock5t\" remotePath=\"/var/log/syslog\" localPath=\".\"Sync filesssh_syncssh_sync server=\"rock5t\" source=\"local:./dist\" destination=\"remote:/var/www\""
      },
      {
        "title": "Monitoring",
        "body": "TaskToolExampleTail logssh_tailssh_tail server=\"rock5t\" file=\"/var/log/syslog\" lines=20Health checkssh_health_checkssh_health_check server=\"rock5t\"Monitor resourcesssh_monitorssh_monitor server=\"rock5t\" type=\"overview\"Service statusssh_service_statusssh_service_status server=\"rock5t\" services=\"nginx,docker\""
      },
      {
        "title": "Tunneling",
        "body": "TaskToolExampleCreate tunnelssh_tunnel_createssh_tunnel_create server=\"rock5t\" type=\"local\" localPort=8080 remoteHost=\"localhost\" remotePort=80List tunnelsssh_tunnel_listssh_tunnel_listClose tunnelssh_tunnel_closessh_tunnel_close tunnelId=\"xxx\""
      },
      {
        "title": "Backup",
        "body": "TaskToolExampleCreate backupssh_backup_createssh_backup_create server=\"rock5t\" type=\"files\" name=\"data\"List backupsssh_backup_listssh_backup_list server=\"rock5t\"Restore backupssh_backup_restoressh_backup_restore server=\"rock5t\" backupId=\"xxx\"Schedule backupssh_backup_schedulessh_backup_schedule server=\"rock5t\" schedule=\"0 2 * * *\" type=\"files\" name=\"daily\""
      },
      {
        "title": "Example 1: Single Command",
        "body": "# Simple command - no session needed\nssh_execute server=\"rock5t\" command=\"df -h\""
      },
      {
        "title": "Example 2: Multi-step Deployment with Session",
        "body": "# Check existing sessions first\nssh_session_list\n\n# Start a persistent session\nssh_session_start server=\"rock5t\" name=\"deploy\"\n\n# Get session ID from previous response\nssh_session_send session=\"xxx\" command=\"cd /home/imax/project\"\nssh_session_send session=\"xxx\" command=\"git pull origin main\"\nssh_session_send session=\"xxx\" command=\"npm install\"\nssh_session_send session=\"xxx\" command=\"npm run build\"\nssh_session_send session=\"xxx\" command=\"pm2 restart all\"\n\n# Close when done\nssh_session_close session=\"xxx\""
      },
      {
        "title": "Example 3: System Health Check",
        "body": "# Check overall health\nssh_health_check server=\"rock5t\"\n\n# Monitor specific resources\nssh_monitor server=\"rock5t\" type=\"cpu\" interval=5 duration=30\n\n# Check specific services\nssh_service_status server=\"rock5t\" services=\"nginx,docker,postgres\""
      },
      {
        "title": "Example 4: File Deployment",
        "body": "# Upload deployment package\nssh_upload server=\"rock5t\" localPath=\"./dist/app.tar.gz\" remotePath=\"/tmp/app.tar.gz\"\n\n# Extract and restart\nssh_execute server=\"rock5t\" command=\"cd /tmp && tar -xzf app.tar.gz && cp -r app/* /var/www/ && pm2 restart app\""
      },
      {
        "title": "Example 5: Log Monitoring",
        "body": "# Tail real-time logs\nssh_tail server=\"rock5t\" file=\"/var/log/nginx/access.log\" lines=50 follow=true\n\n# Filter with grep\nssh_tail server=\"rock5t\" file=\"/var/log/syslog\" grep=\"error\" lines=100"
      },
      {
        "title": "Example 6: Create SSH Tunnel",
        "body": "# Local port forward (access remote service locally)\nssh_tunnel_create server=\"rock5t\" type=\"local\" localPort=5432 remoteHost=\"localhost\" remotePort=5432\n\n# Now connect to local:5432 to access remote database"
      },
      {
        "title": "Workdir Management",
        "body": "Store SSH operation results in ~/.ssh-workdir/{hostname}/{YYYY-MM-DD}-{topic}/ for reuse and comparison."
      },
      {
        "title": "Structure",
        "body": "~/.ssh-workdir/\n└── {hostname}/\n    └── {YYYY-MM-DD}-{topic}/\n        ├── commands.md    # All executed commands\n        ├── output/        # Command outputs\n        │   ├── df-h.txt\n        │   ├── cpu.txt\n        │   └── memory.txt\n        ├── status.json    # Host status snapshot\n        └── summary.md     # Findings and notes"
      },
      {
        "title": "Create Workdir",
        "body": "# Create new workdir\nmkdir -p ~/.ssh-workdir/{hostname}/{YYYY-MM-DD}-{topic}/output\n\n# Create commands log\ntouch ~/.ssh-workdir/{hostname}/{YYYY-MM-DD}-{topic}/commands.md"
      },
      {
        "title": "Log Commands",
        "body": "# Add command to log\necho \"## $(date)\" >> ~/.ssh-workdir/{hostname}/{YYYY-MM-DD}-{topic}/commands.md\necho 'df -h' >> ~/.ssh-workdir/{hostname}/{YYYY-MM-DD}-{topic}/commands.md"
      },
      {
        "title": "Save Output",
        "body": "# Execute and save\nssh_execute server=\"{hostname}\" command=\"df -h\" > ~/.ssh-workdir/{hostname}/{YYYY-MM-DD}-{topic}/output/df-h.txt"
      },
      {
        "title": "Write Summary",
        "body": "# Write findings\necho '## System Check Findings' >> ~/.ssh-workdir/{hostname}/{YYYY-MM-DD}-{topic}/summary.md\necho '- Disk usage: 75% on /dev/sda1' >> ~/.ssh-workdir/{hostname}/{YYYY-MM-DD}-{topic}/summary.md\necho '- Memory: 4GB/16GB used' >> ~/.ssh-workdir/{hostname}/{YYYY-MM-DD}-{topic}/summary.md"
      },
      {
        "title": "Reuse Previous Context",
        "body": "# Check if recent work exists\nls ~/.ssh-workdir/{hostname}/\n\n# Read previous summary\ncat ~/.ssh-workdir/{hostname}/{previous-date}-{topic}/summary.md\n\n# Compare outputs\ndiff ~/.ssh-workdir/{hostname}/{yesterday}-{topic}/output/df-h.txt \\\n     ~/.ssh-workdir/{hostname}/{today}-{topic}/output/df-h.txt"
      },
      {
        "title": "When to Use Sessions",
        "body": "Use session for:\n\nMulti-step deployments\nTasks requiring state (cd, environment)\nLong-running workflows (more than 3 commands)\nTasks where command order matters\n\nDon't use session for:\n\nSingle quick commands (df -h, pwd)\nUnrelated commands that don't need state\nRead-only monitoring tasks"
      },
      {
        "title": "Session Lifecycle",
        "body": "# 1. Check existing sessions first\nssh_session_list\n\n# 2. Reuse existing session if available and still active\nssh_session_send session=\"existing-id\" command=\"...\"\n\n# 3. Start new session only if necessary\nssh_session_start server=\"{hostname}\" name=\"{task-name}\"\n\n# 4. ALWAYS close when done\nssh_session_close session=\"{session-id}\""
      },
      {
        "title": "Timeout Considerations",
        "body": "SSH server may close idle sessions (typically 3-5 minutes by default)\nConfigure ClientAliveInterval on server for longer keepalive\nFor long-running tasks, consider periodic lightweight commands to keepalive\nIf session becomes unresponsive, create a new one"
      },
      {
        "title": "Before SSH Operations",
        "body": "Check existing sessions\nssh_session_list\n\n\n\nCheck recent workdir\nls ~/.ssh-workdir/{hostname}/\n\n\n\nCreate new workdir if starting new task\nmkdir -p ~/.ssh-workdir/{hostname}/{YYYY-MM-DD}-{topic}/output"
      },
      {
        "title": "During SSH Operations",
        "body": "Use appropriate tool for the task\n\nSingle command: ssh_execute\nMulti-step: ssh_session_start → ssh_session_send → ssh_session_close\nFile transfer: ssh_upload/download/sync\nMonitoring: ssh_monitor, ssh_tail, ssh_health_check\n\n\n\nLog commands to workdir\necho \"command\" >> ~/.ssh-workdir/{hostname}/{YYYY-MM-DD}-{topic}/commands.md\n\n\n\nSave important outputs\nssh_execute server=\"{hostname}\" command=\"df -h\" > ~/.ssh-workdir/{hostname}/{YYYY-MM-DD}-{topic}/output/df-h.txt"
      },
      {
        "title": "After SSH Operations",
        "body": "Close sessions\nssh_session_close session=\"{session-id}\"\n\n\n\nWrite summary\necho '## Findings' >> ~/.ssh-workdir/{hostname}/{YYYY-MM-DD}-{topic}/summary.md\n\n\n\nClean up\n\nClose tunnels: ssh_tunnel_close\nVerify all sessions closed: ssh_session_list"
      },
      {
        "title": "Tips",
        "body": "Use ssh_session_list before starting new tasks to reuse existing sessions\nCreate workdir for each task to maintain organized history\nWrite summaries to quickly recall previous work\nUse ssh_connection_status action=\"status\" to check connection health\nFor server comparison, store outputs with consistent naming across hosts\nClose sessions when done to free resources\nConfigure server-side ClientAliveInterval for longer session timeouts if needed"
      },
      {
        "title": "Reference Files",
        "body": "references/sessions.md - Session management deep dive\nreferences/workspace.md - Workdir structure and usage\nreferences/comparison.md - How to compare historical data"
      },
      {
        "title": "Example Files",
        "body": "examples/system-check.md - Complete system health check workflow\nexamples/deployment.md - Multi-step deployment example\nexamples/troubleshooting.md - Problem diagnosis workflow"
      },
      {
        "title": "Scripts",
        "body": "scripts/create-workdir.sh - Create new workdir structure\nscripts/log-command.sh - Log command to workdir\nscripts/save-status.sh - Capture and save host status"
      }
    ],
    "body": "MCP SSH Manager Skill\n\nOriginal MCP Server: mcp-ssh-manager by @bvisible\n\nThis skill provides documentation, workflows, and best practices for using the MCP ssh-manager server.\n\nManage remote SSH servers using MCP ssh-manager tools. Emphasizes session reuse, workdir organization, and content persistence for sustainable operations.\n\nQuick Reference\nConnection Management\nTask\tTool\tExample\nList servers\tssh_list_servers\tssh_list_servers\nExecute command\tssh_execute\tssh_execute server=\"rock5t\" command=\"df -h\"\nExecute with sudo\tssh_execute_sudo\tssh_execute_sudo server=\"rock5t\" command=\"apt update\"\nCheck status\tssh_connection_status\tssh_connection_status action=\"status\"\nSession Management\nTask\tTool\tExample\nStart session\tssh_session_start\tssh_session_start server=\"rock5t\" name=\"deploy\"\nSend command\tssh_session_send\tssh_session_send session=\"xxx\" command=\"cd /var\"\nList sessions\tssh_session_list\tssh_session_list\nClose session\tssh_session_close\tssh_session_close session=\"xxx\"\nFile Operations\nTask\tTool\tExample\nUpload file\tssh_upload\tssh_upload server=\"rock5t\" localPath=\".\" remotePath=\"/tmp\"\nDownload file\tssh_download\tssh_download server=\"rock5t\" remotePath=\"/var/log/syslog\" localPath=\".\"\nSync files\tssh_sync\tssh_sync server=\"rock5t\" source=\"local:./dist\" destination=\"remote:/var/www\"\nMonitoring\nTask\tTool\tExample\nTail log\tssh_tail\tssh_tail server=\"rock5t\" file=\"/var/log/syslog\" lines=20\nHealth check\tssh_health_check\tssh_health_check server=\"rock5t\"\nMonitor resources\tssh_monitor\tssh_monitor server=\"rock5t\" type=\"overview\"\nService status\tssh_service_status\tssh_service_status server=\"rock5t\" services=\"nginx,docker\"\nTunneling\nTask\tTool\tExample\nCreate tunnel\tssh_tunnel_create\tssh_tunnel_create server=\"rock5t\" type=\"local\" localPort=8080 remoteHost=\"localhost\" remotePort=80\nList tunnels\tssh_tunnel_list\tssh_tunnel_list\nClose tunnel\tssh_tunnel_close\tssh_tunnel_close tunnelId=\"xxx\"\nBackup\nTask\tTool\tExample\nCreate backup\tssh_backup_create\tssh_backup_create server=\"rock5t\" type=\"files\" name=\"data\"\nList backups\tssh_backup_list\tssh_backup_list server=\"rock5t\"\nRestore backup\tssh_backup_restore\tssh_backup_restore server=\"rock5t\" backupId=\"xxx\"\nSchedule backup\tssh_backup_schedule\tssh_backup_schedule server=\"rock5t\" schedule=\"0 2 * * *\" type=\"files\" name=\"daily\"\nUsage Examples\nExample 1: Single Command\n# Simple command - no session needed\nssh_execute server=\"rock5t\" command=\"df -h\"\n\nExample 2: Multi-step Deployment with Session\n# Check existing sessions first\nssh_session_list\n\n# Start a persistent session\nssh_session_start server=\"rock5t\" name=\"deploy\"\n\n# Get session ID from previous response\nssh_session_send session=\"xxx\" command=\"cd /home/imax/project\"\nssh_session_send session=\"xxx\" command=\"git pull origin main\"\nssh_session_send session=\"xxx\" command=\"npm install\"\nssh_session_send session=\"xxx\" command=\"npm run build\"\nssh_session_send session=\"xxx\" command=\"pm2 restart all\"\n\n# Close when done\nssh_session_close session=\"xxx\"\n\nExample 3: System Health Check\n# Check overall health\nssh_health_check server=\"rock5t\"\n\n# Monitor specific resources\nssh_monitor server=\"rock5t\" type=\"cpu\" interval=5 duration=30\n\n# Check specific services\nssh_service_status server=\"rock5t\" services=\"nginx,docker,postgres\"\n\nExample 4: File Deployment\n# Upload deployment package\nssh_upload server=\"rock5t\" localPath=\"./dist/app.tar.gz\" remotePath=\"/tmp/app.tar.gz\"\n\n# Extract and restart\nssh_execute server=\"rock5t\" command=\"cd /tmp && tar -xzf app.tar.gz && cp -r app/* /var/www/ && pm2 restart app\"\n\nExample 5: Log Monitoring\n# Tail real-time logs\nssh_tail server=\"rock5t\" file=\"/var/log/nginx/access.log\" lines=50 follow=true\n\n# Filter with grep\nssh_tail server=\"rock5t\" file=\"/var/log/syslog\" grep=\"error\" lines=100\n\nExample 6: Create SSH Tunnel\n# Local port forward (access remote service locally)\nssh_tunnel_create server=\"rock5t\" type=\"local\" localPort=5432 remoteHost=\"localhost\" remotePort=5432\n\n# Now connect to local:5432 to access remote database\n\nWorkdir Management\n\nStore SSH operation results in ~/.ssh-workdir/{hostname}/{YYYY-MM-DD}-{topic}/ for reuse and comparison.\n\nStructure\n~/.ssh-workdir/\n└── {hostname}/\n    └── {YYYY-MM-DD}-{topic}/\n        ├── commands.md    # All executed commands\n        ├── output/        # Command outputs\n        │   ├── df-h.txt\n        │   ├── cpu.txt\n        │   └── memory.txt\n        ├── status.json    # Host status snapshot\n        └── summary.md     # Findings and notes\n\nCreate Workdir\n# Create new workdir\nmkdir -p ~/.ssh-workdir/{hostname}/{YYYY-MM-DD}-{topic}/output\n\n# Create commands log\ntouch ~/.ssh-workdir/{hostname}/{YYYY-MM-DD}-{topic}/commands.md\n\nLog Commands\n# Add command to log\necho \"## $(date)\" >> ~/.ssh-workdir/{hostname}/{YYYY-MM-DD}-{topic}/commands.md\necho 'df -h' >> ~/.ssh-workdir/{hostname}/{YYYY-MM-DD}-{topic}/commands.md\n\nSave Output\n# Execute and save\nssh_execute server=\"{hostname}\" command=\"df -h\" > ~/.ssh-workdir/{hostname}/{YYYY-MM-DD}-{topic}/output/df-h.txt\n\nWrite Summary\n# Write findings\necho '## System Check Findings' >> ~/.ssh-workdir/{hostname}/{YYYY-MM-DD}-{topic}/summary.md\necho '- Disk usage: 75% on /dev/sda1' >> ~/.ssh-workdir/{hostname}/{YYYY-MM-DD}-{topic}/summary.md\necho '- Memory: 4GB/16GB used' >> ~/.ssh-workdir/{hostname}/{YYYY-MM-DD}-{topic}/summary.md\n\nReuse Previous Context\n# Check if recent work exists\nls ~/.ssh-workdir/{hostname}/\n\n# Read previous summary\ncat ~/.ssh-workdir/{hostname}/{previous-date}-{topic}/summary.md\n\n# Compare outputs\ndiff ~/.ssh-workdir/{hostname}/{yesterday}-{topic}/output/df-h.txt \\\n     ~/.ssh-workdir/{hostname}/{today}-{topic}/output/df-h.txt\n\nSession Management Guidelines\nWhen to Use Sessions\n\nUse session for:\n\nMulti-step deployments\nTasks requiring state (cd, environment)\nLong-running workflows (more than 3 commands)\nTasks where command order matters\n\nDon't use session for:\n\nSingle quick commands (df -h, pwd)\nUnrelated commands that don't need state\nRead-only monitoring tasks\nSession Lifecycle\n# 1. Check existing sessions first\nssh_session_list\n\n# 2. Reuse existing session if available and still active\nssh_session_send session=\"existing-id\" command=\"...\"\n\n# 3. Start new session only if necessary\nssh_session_start server=\"{hostname}\" name=\"{task-name}\"\n\n# 4. ALWAYS close when done\nssh_session_close session=\"{session-id}\"\n\nTimeout Considerations\nSSH server may close idle sessions (typically 3-5 minutes by default)\nConfigure ClientAliveInterval on server for longer keepalive\nFor long-running tasks, consider periodic lightweight commands to keepalive\nIf session becomes unresponsive, create a new one\nBest Practices\nBefore SSH Operations\n\nCheck existing sessions\n\nssh_session_list\n\n\nCheck recent workdir\n\nls ~/.ssh-workdir/{hostname}/\n\n\nCreate new workdir if starting new task\n\nmkdir -p ~/.ssh-workdir/{hostname}/{YYYY-MM-DD}-{topic}/output\n\nDuring SSH Operations\n\nUse appropriate tool for the task\n\nSingle command: ssh_execute\nMulti-step: ssh_session_start → ssh_session_send → ssh_session_close\nFile transfer: ssh_upload/download/sync\nMonitoring: ssh_monitor, ssh_tail, ssh_health_check\n\nLog commands to workdir\n\necho \"command\" >> ~/.ssh-workdir/{hostname}/{YYYY-MM-DD}-{topic}/commands.md\n\n\nSave important outputs\n\nssh_execute server=\"{hostname}\" command=\"df -h\" > ~/.ssh-workdir/{hostname}/{YYYY-MM-DD}-{topic}/output/df-h.txt\n\nAfter SSH Operations\n\nClose sessions\n\nssh_session_close session=\"{session-id}\"\n\n\nWrite summary\n\necho '## Findings' >> ~/.ssh-workdir/{hostname}/{YYYY-MM-DD}-{topic}/summary.md\n\n\nClean up\n\nClose tunnels: ssh_tunnel_close\nVerify all sessions closed: ssh_session_list\nTips\nUse ssh_session_list before starting new tasks to reuse existing sessions\nCreate workdir for each task to maintain organized history\nWrite summaries to quickly recall previous work\nUse ssh_connection_status action=\"status\" to check connection health\nFor server comparison, store outputs with consistent naming across hosts\nClose sessions when done to free resources\nConfigure server-side ClientAliveInterval for longer session timeouts if needed\nAdditional Resources\nReference Files\nreferences/sessions.md - Session management deep dive\nreferences/workspace.md - Workdir structure and usage\nreferences/comparison.md - How to compare historical data\nExample Files\nexamples/system-check.md - Complete system health check workflow\nexamples/deployment.md - Multi-step deployment example\nexamples/troubleshooting.md - Problem diagnosis workflow\nScripts\nscripts/create-workdir.sh - Create new workdir structure\nscripts/log-command.sh - Log command to workdir\nscripts/save-status.sh - Capture and save host status"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/iMaxTomas/mcp-ssh-manager",
    "publisherUrl": "https://clawhub.ai/iMaxTomas/mcp-ssh-manager",
    "owner": "iMaxTomas",
    "version": "0.1.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/mcp-ssh-manager",
    "downloadUrl": "https://openagent3.xyz/downloads/mcp-ssh-manager",
    "agentUrl": "https://openagent3.xyz/skills/mcp-ssh-manager/agent",
    "manifestUrl": "https://openagent3.xyz/skills/mcp-ssh-manager/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/mcp-ssh-manager/agent.md"
  }
}