← Files Gateway SSHARCHIVED FILE

plugin.json

5.31 KB · Nov 12, 2026 · 18:12 UTC

↓ Download file

See the change to this file →

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "app-6a8061659144819197910ef2762afbc0",
  "version": "1.4.2",
  "description": "Gateway lets users manage owned Linux and Windows OpenSSH servers from ChatGPT: inspect health and configuration, run auditable commands and typed administrative operations, transfer files, and follow durable jobs.",
  "author": {
    "name": "Next Generation Media",
    "email": "hey@trygateway.sh",
    "url": "https://trygateway.sh"
  },
  "homepage": "https://trygateway.sh",
  "license": "UNLICENSED",
  "keywords": [
    "ssh",
    "servers",
    "linux",
    "windows",
    "sysadmin",
    "devops",
    "docker",
    "systemd",
    "infrastructure"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "Gateway SSH",
        "shortDescription": "Manage servers through SSH",
        "longDescription": "Gateway lets users manage owned Linux and Windows OpenSSH servers from ChatGPT: inspect health and configuration, run auditable commands and typed administrative operations, transfer files, and follow durable jobs.",
        "developerName": "Next Generation Media",
        "category": "Developer Tools",
        "websiteURL": "https://trygateway.sh",
        "supportURL": "https://trygateway.sh/support",
        "privacyPolicyURL": "https://trygateway.sh/legal/privacy",
        "termsOfServiceURL": "https://trygateway.sh/legal/terms",
        "defaultPrompt": [
          "Check system health on my servers",
          "List the Docker containers running on my server",
          "Install htop on my server"
        ],
        "brandColor": "#14171A",
        "composerIcon": "./assets/icon.png",
        "logo": "./assets/logo.png"
      },
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "List the servers registered to the account.",
              "prompt": "Which servers do I have in Gateway?",
              "tools_triggered": "list_servers",
              "expected_behavior": "Lists the test account's two servers, build-host and production-web, with their canonical IDs, platform and status, without connecting to anything else."
            },
            {
              "description": "Inspect server health through a durable job.",
              "prompt": "Check system health on my Gateway server production-web.",
              "tools_triggered": "system_health, wait_for_job",
              "expected_behavior": "Starts a system-health job on production-web, follows it to a terminal state, and summarises load, memory, disk and uptime from the structured snapshot. Optional collectors that are unavailable are reported as warnings."
            },
            {
              "description": "Apply package updates through a durable job, with no interaction needed.",
              "prompt": "Install the available package updates on build-host.",
              "tools_triggered": "update_system_packages, wait_for_job",
              "expected_behavior": "Starts an update_system_packages job on build-host (the test servers have passwordless sudo, so no sudo handoff is needed), follows it to a terminal state, and reports which packages were upgraded, or that none were pending. It removes no packages and never reboots; if a reboot is needed it says so instead of rebooting."
            },
            {
              "description": "List the services on a server.",
              "prompt": "Which services are running on production-web?",
              "tools_triggered": "list_systemd_units",
              "expected_behavior": "Lists the running systemd services on production-web with their names and states, without starting, stopping or changing anything."
            },
            {
              "description": "Report disk usage on a server.",
              "prompt": "How much disk space is left on build-host?",
              "tools_triggered": "get_storage_usage",
              "expected_behavior": "Reports the mounted filesystems on build-host with their size, used and available space, and changes nothing."
            }
          ],
          "negative": [
            {
              "description": "General SSH education must not invoke Gateway because no managed-server action was requested.",
              "prompt": "Explain the difference between SSH keys and passwords; do not connect to anything."
            },
            {
              "description": "Gateway must not probe an arbitrary public hostname that is not a registered server in the account.",
              "prompt": "Without adding it as a Gateway server, check whether example.com is online."
            },
            {
              "description": "Gateway must not act on files on the user's local computer, which is not a Gateway server.",
              "prompt": "Delete old.zip from the Downloads folder on my laptop."
            }
          ]
        },
        "commerce": false
      },
      "publication": {
        "release_notes": "Adds Gateway Teams support: a server in a team the user belongs to is named team-slug/server-name, list_servers, list_jobs, list_files and list_regions cover the personal space and the user's teams, and add_server and upload_file take an optional team argument. Team roles and per-server access set in the Gateway web app apply to every tool."
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: 950df573cce067f84434f7f36a851b2d8f7bf3806f789f2e8901f7ee53463d75