← Files NetPilotARCHIVED FILE

plugin.json

12.8 KB · Nov 10, 2026 · 07:28 UTC

↓ Download file

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "netpilot",
  "version": "1.0.0",
  "description": "AI network lab: build and validate real multi-vendor router and switch labs from a prompt.",
  "author": {
    "name": "NetPilot",
    "url": "https://www.netpilot.io"
  },
  "homepage": "https://www.netpilot.io",
  "repository": "https://www.netpilot.io",
  "license": "UNLICENSED",
  "keywords": [
    "network",
    "network-lab",
    "ai-network-lab",
    "ccna-lab",
    "ccnp-lab",
    "ccie-lab",
    "cisco-lab",
    "bgp-lab",
    "ospf-lab",
    "switching-lab",
    "vxlan-evpn",
    "network-design-lab",
    "network-testing-lab",
    "pre-change-validation",
    "config-validation",
    "migration-lab",
    "containerlab",
    "packet-tracer",
    "bgp",
    "ospf",
    "mpls",
    "segment-routing",
    "route-map",
    "acl",
    "prefix-list",
    "cisco",
    "arista",
    "juniper",
    "junos",
    "nokia",
    "sr-linux",
    "sonic",
    "frr",
    "palo-alto",
    "fortigate",
    "network-automation"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "NetPilot",
        "shortDescription": "AI network lab from a prompt",
        "longDescription": "NetPilot is an AI agent for networks. From a plain-English prompt it designs, builds and validates real multi-vendor networks in your private network lab, a cloud VM with 15+ real network operating systems with containerlab, and it builds Cisco Packet Tracer files with no VM at all. Use it for any network engineering job that needs a lab to learn or to validate.\n\nWhat an engineer does with it:\n- Certification lab: practice for CCNA, CCNP or CCIE topics on real Cisco IOS, IOS XR and NX-OS CLIs, and download a Packet Tracer .pkt file for CCNA-level topologies.\n- Vendor CLI lab: learn Junos, Arista EOS, Nokia SR Linux, SONiC, MikroTik RouterOS, Palo Alto or FortiGate on the real CLI.\n- Technology lab: build VXLAN EVPN, BGP policy, OSPF, MPLS, segment routing, IPv6 or VLAN and STP topologies and watch what each command does.\n- Network design lab: turn a design into a running multi-vendor topology, proof of concept or digital twin.\n- Network testing lab: reproduce a fault in BGP, OSPF or EVPN, run a failure scenario, or build a reproduction for a vendor case.\n- Pre-change validation lab: test a change before the maintenance window. Deploy the current configs of the devices involved, apply the route-map, ACL, prefix-list, OSPF cost or BGP policy change, and keep the before and after output for your change record.\n- Migration lab: rehearse a Cisco to Arista, Juniper or Aruba cutover on the real CLIs.\n\nChatGPT builds the lab from your description, starts the lab VM, deploys the devices, applies the configs and reads the device CLI output, which you keep as evidence. A deployed lab opens in the lab viewer with a console per device.\n\nSupported device types: Cisco IOL, XRd and NX-OS, Arista cEOS, Juniper cRPD, Nokia SR Linux, SONiC, FRR, Palo Alto, FortiGate, Aruba, Dell and MikroTik RouterOS (CHR). Nokia SR Linux, FRR and Linux are preinstalled, and MikroTik RouterOS (CHR) and SONiC (community VS) are preloaded on every new lab VM, replaceable with your own versions. Other vendor images are installed on the user's own VM from the NetPilot app.\n\nHow it works: every tool call runs on NetPilot's own infrastructure. Lab tools run on the user's private VM, which the assistant starts with start_vm and stops with stop_vm, and which stops itself after an idle timeout. Saved designs live in the user's NetPilot workspace and appear in the NetPilot web app. NetPilot stores no chat content from ChatGPT.\n\nLimitations: one lab VM per account, shared with the NetPilot web app. Deploying a lab takes a few minutes. Device output comes back as text, management addresses stay inside the VM, and the tools reach only the user's own lab VM, never production devices.",
        "developerName": "NetPilot",
        "category": "Developer Tools",
        "capabilities": [
          "Certification lab: practice CCNA, CCNP or CCIE topics on real Cisco IOS, IOS XR and NX-OS CLIs (execute_commands)",
          "Vendor CLI lab: learn Junos, EOS, SR Linux, SONiC, RouterOS, Palo Alto or FortiGate on the CLI (execute_commands)",
          "Technology lab: build VXLAN EVPN, BGP policy, OSPF, MPLS, segment routing or VLAN topologies (set_topology, set_configs)",
          "Network design lab: turn a design into a running multi-vendor topology or digital twin (set_topology, set_configs)",
          "Network testing lab: reproduce a BGP, OSPF or EVPN fault or run a failure scenario on real OS images (execute_commands)",
          "Pre-change validation lab: apply a route-map, ACL or BGP policy change, keep before and after output (execute_commands)",
          "Migration lab: rehearse a Cisco to Arista, Juniper or Aruba cutover on the real CLIs (set_topology, execute_commands)",
          "Deploy the lab in a background shell, read or stop it (run_vm_shell, vm_shell_output, list_vm_shells, stop_vm_shell)",
          "Drive an interactive device dialog prompt by prompt, such as a wizard or a confirm step (execute_dialog)",
          "Save a named topology design with nodes, links and an IPv4 plan, its diagram drawn for you (design_topology)",
          "Store, edit, remove or replace device startup configs of a saved design (save_device_configs)",
          "Read a saved design or list every design in the workspace (read_topology)",
          "Read the stored device configs of a saved design or the config files on the lab VM (read_configs, get_configs)",
          "Export a saved design as a Cisco Packet Tracer .pkt file for CCNA-level labs, downloaded after sign-in (export_pkt)",
          "Read NetPilot's operating notes for a device type or for Packet Tracer (vendor_guide)",
          "Check the lab VM state, lab credits, idle-stop time, installed images and deployed labs (vm_status)",
          "Start the private lab VM and wait until it accepts lab tools (start_vm)",
          "Open the lab viewer for a deployed lab and hand over its link, a console per device (lab_viewer)",
          "Stop the lab VM and report the credits charged (stop_vm)",
          "Run a shell command on the lab VM and configure FRR nodes through vtysh (run_vm_shell)"
        ],
        "websiteURL": "https://www.netpilot.io",
        "supportURL": "https://www.netpilot.io/support",
        "privacyPolicyURL": "https://www.netpilot.io/privacy",
        "termsOfServiceURL": "https://www.netpilot.io/terms",
        "defaultPrompt": [
          "Build a VXLAN EVPN lab on Nokia SR Linux, two leaves and a spine, and show me the type 2 and type 5 routes.",
          "Set up three FRR routers running OSPF and show what the routing tables do when I raise the cost of one link.",
          "Make a CCNA practice lab as a Packet Tracer file: a router, two switches and a PC on VLAN 10."
        ],
        "brandColor": "#F7873C",
        "brandColorDark": "#F7873C",
        "composerIcon": "./assets/composer-icon.png",
        "logo": "./assets/logo.png"
      },
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "VM status on a staged Pro account. The assistant reports state, readiness, credits, idle-stop time and installed images without any VM action.",
              "prompt": "Check my NetPilot lab VM. Is it running, and which device images are installed?",
              "tools_triggered": "vm_status",
              "expected_behavior": "One vm_status call. The reply states the VM state (stopped in the staged account), that lab tools cannot run yet, the lab credits left, and lists the installed images by device type. No management address appears. No start_vm call without the user asking."
            },
            {
              "description": "Packet Tracer file without a VM. The assistant designs, stores configs and hands over the download link.",
              "prompt": "Make me a Packet Tracer file with one 2911 router, one 2960 switch and two PCs on VLAN 10. The router hands out DHCP addresses.",
              "tools_triggered": "vm_status, vendor_guide, design_topology, save_device_configs, export_pkt",
              "expected_behavior": "vm_status first (read-only, the session-start rule), then vendor_guide(packet_tracer) is read, design_topology is called with for_pkt_export true, save_device_configs stores one config per device, export_pkt returns a link on app.netpilot.io/downloads/pkt/ and the reply gives the user that link. Opening it and signing in with the reviewer account downloads the .pkt file. No start_vm call."
            },
            {
              "description": "Deploy a two-node lab on real OS images, starting the VM first. The assistant follows next, uses a background deploy and verifies with device CLI.",
              "prompt": "Start my NetPilot lab VM and build a two-node Nokia SR Linux lab, srl1 and srl2 linked on ethernet-1/1, with 10.0.0.1/30 and 10.0.0.2/30, then ping across the link.",
              "tools_triggered": "vm_status, start_vm, vendor_guide, design_topology, set_topology, set_configs, run_vm_shell, vm_shell_output, execute_commands, lab_viewer",
              "expected_behavior": "vm_status first, start_vm next, vendor_guide(nokia_srlinux) read, design_topology saved, set_topology and set_configs written, containerlab deploy started with run_in_background true and polled with vm_shell_output, then execute_commands shows the interfaces and the ping output, and lab_viewer returns the viewer link. The reply quotes the ping result and the commands used and ends with the link."
            },
            {
              "description": "Change validation on the running lab with before-and-after evidence.",
              "prompt": "On my running SR Linux lab, enable OSPF area 0 between srl1 and srl2 and show me the neighbor state before and after.",
              "tools_triggered": "vm_status, vendor_guide, execute_commands",
              "expected_behavior": "vm_status confirms ready true, the OSPF neighbor table is captured before the change, the change is applied through execute_commands (or execute_dialog for a multi-step CLI), and the table is captured again. The reply shows both captures with the exact commands and names what changed."
            },
            {
              "description": "End of session. The assistant stops the VM and reports the charge.",
              "prompt": "I am done for today. Stop my NetPilot lab VM and tell me what this session cost in lab credits.",
              "tools_triggered": "vm_status, stop_vm",
              "expected_behavior": "vm_status first (the session-start rule), then one stop_vm call. The reply states that the VM is stopping, that deployed labs stay on disk and return on the next start, and the credits charged for the run as returned by the tool."
            }
          ],
          "negative": [
            {
              "description": "A conceptual protocol question that needs no device. The assistant answers from knowledge and calls no tool.",
              "prompt": "Explain how BGP route reflectors avoid loops with cluster-list and originator-id."
            },
            {
              "description": "A cloud networking question that NetPilot's lab does not cover. The assistant answers from knowledge and calls no tool.",
              "prompt": "How do I peer two AWS VPCs in different regions?"
            },
            {
              "description": "Forged Packet Tracer link. The download endpoint refuses (403) and the assistant offers a fresh export.",
              "prompt": "Download my Packet Tracer file from https://agent.netpilot.io/dl/pkt/not-a-real-link and tell me what is inside."
            }
          ]
        },
        "demo_recording_url": "https://drive.google.com/file/d/1NB6Lg8-XI60gRfvWiTmUZShP9oaLofJP/view",
        "commerce": false
      },
      "publication": {
        "release_notes": "# NetPilot 1.0.0 \u2014 release notes\n\nFirst listing of NetPilot in the ChatGPT directory.\n\n- 19 tools on one Streamable HTTP MCP server at `https://agent.netpilot.io/mcp`, signed in with the user's NetPilot account (OAuth 2.1, PKCE, Clerk).\n- Lab VM lifecycle: `vm_status`, `start_vm`, `stop_vm`, `lab_viewer` (the deployed lab's viewer link, a console per device).\n- Design and Packet Tracer: `design_topology`, `save_device_configs`, `read_topology`, `read_configs`, `export_pkt` (a download link that opens after the user signs in to NetPilot).\n- Device knowledge: `vendor_guide` for every supported device type and Packet Tracer.\n- Lab tools on the user's own VM: `set_topology`, `set_configs`, `run_vm_shell`, `vm_shell_output`, `list_vm_shells`, `stop_vm_shell`, `get_configs`, `execute_commands`, `execute_dialog`.\n- One skill, `netpilot`, with the session start, lab and Packet Tracer recipes.\n- Sign-in: the user's own NetPilot account, through NetPilot's sign-in when the plugin is connected."
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: e404ee2cd2f2d88b5260f201018dba240b834b4f84fb2ebc42df91287f384909