{
  "manifest_version": "1",
  "slug": "magpie",
  "title": "magpie",
  "headline": "Run magpie on a server",
  "description": "Run yetone's magpie model gateway in Docker on an always-on exe.dev VM: one private gateway with failover for the agents on all your machines.",
  "category": "ai-agents",
  "tags": [
    "magpie",
    "llm gateway",
    "ai gateway",
    "model router",
    "model switcher",
    "claude code",
    "codex",
    "kimi",
    "deepseek",
    "glm",
    "failover"
  ],
  "url": "https://exe.dev/deploy/magpie",
  "markdown_url": "https://exe-staging.dev/deploy/magpie.md",
  "upstream": {
    "website": "https://usemagpie.ai",
    "source": "https://github.com/yetone/magpie",
    "docs": "https://usemagpie.ai/docs/docker",
    "license": "MIT"
  },
  "example_vm_name": "my-magpie",
  "time": "10 minutes",
  "stack": [
    {
      "name": "magpie",
      "detail": "`magpie web` from ghcr.io/yetone/magpie:stable, in Docker Compose",
      "port": 3425,
      "data": "~/magpie/config (providers, gateway keys, routing groups, usage)"
    },
    {
      "name": "magpie web UI",
      "detail": "the same container; it answers the gateway's /v1 routes too",
      "port": 3430
    },
    {
      "name": "exe.dev LLM integration",
      "detail": "magpie's first upstream, for Claude, GPT, Kimi, GLM and DeepSeek with no API key"
    }
  ],
  "access": [
    {
      "url": "https://my-magpie.exe.xyz:3430/",
      "who": "private",
      "what": "magpie's web UI, behind exe.dev login and magpie's own web key"
    },
    {
      "url": "https://my-magpie.exe.xyz:3425/",
      "who": "private",
      "what": "the gateway for your laptop and CI, with an exe.dev VM token and a magpie gateway key"
    },
    {
      "url": "https://magpie.int.exe.xyz/",
      "who": "private",
      "what": "the gateway from your other exe.dev VMs, through a VM-to-VM integration"
    },
    {
      "url": "http://127.0.0.1:3425/",
      "who": "private",
      "what": "the gateway for agents on the VM itself"
    }
  ],
  "delivers": [
    "magpie running in Docker Compose on ports 3425 and 3430, bound to the VM's loopback and back after a reboot",
    "A web key in `~/magpie/.env`, readable only by you, and magpie's settings on the VM's disk in `~/magpie/config`",
    "exe.dev's LLM integration added to magpie as two providers, with no API key, and a routing group `group/open-models` that fails over from Kimi K3 to GLM-5.3 to DeepSeek V4.1 Flash",
    "A gateway key for this VM in `~/magpie/this-vm.key`, and Claude Code on the VM answering through `group/open-models`",
    "The web UI at `https://\u003cvm\u003e.exe.xyz:3430/`, private to you"
  ],
  "deployable": true,
  "deploy": {
    "new_vm_url": "https://exe-staging.dev/new?prompt=Set%20up%20magpie%20on%20this%20VM%20by%20following%20the%20exe.dev%20recipe%20at%20https%3A%2F%2Fexe-staging.dev%2Fdeploy%2Fmagpie.md%20from%20top%20to%20bottom.%0A%0AThe%20recipe%27s%20example%20VM%20name%20is%20my-magpie.%20This%20VM%27s%20name%20is%20the%20output%20of%20%60hostname%60%3A%20use%20it%20wherever%20the%20recipe%20writes%20my-magpie.%20Skip%20the%20step%20that%20creates%20the%20VM%3B%20you%20are%20on%20it.%0A%0AYou%20are%20done%20when%20all%20of%20these%20are%20true.%20Check%20each%20one%20yourself%3A%0A-%20magpie%20running%20in%20Docker%20Compose%20on%20ports%203425%20and%203430%2C%20bound%20to%20the%20VM%27s%20loopback%20and%20back%20after%20a%20reboot%0A-%20A%20web%20key%20in%20%60~%2Fmagpie%2F.env%60%2C%20readable%20only%20by%20you%2C%20and%20magpie%27s%20settings%20on%20the%20VM%27s%20disk%20in%20%60~%2Fmagpie%2Fconfig%60%0A-%20exe.dev%27s%20LLM%20integration%20added%20to%20magpie%20as%20two%20providers%2C%20with%20no%20API%20key%2C%20and%20a%20routing%20group%20%60group%2Fopen-models%60%20that%20fails%20over%20from%20Kimi%20K3%20to%20GLM-5.3%20to%20DeepSeek%20V4.1%20Flash%0A-%20A%20gateway%20key%20for%20this%20VM%20in%20%60~%2Fmagpie%2Fthis-vm.key%60%2C%20and%20Claude%20Code%20on%20the%20VM%20answering%20through%20%60group%2Fopen-models%60%0A-%20The%20web%20UI%20at%20%60https%3A%2F%2F%3Cvm%3E.exe.xyz%3A3430%2F%60%2C%20private%20to%20you%0A%0ARun%20the%20VM-side%20commands%20in%20%22Install%20by%20hand%22%20only%2C%20skipping%20VM%0Acreation.%20Never%20run%20share%20set-public%20or%20share%20port%2C%20never%20publish%203425%0Aor%203430%20beyond%20127.0.0.1%2C%20and%20never%20sign%20magpie%20in%20to%20a%20subscription%0A%28%60magpie%20accounts%20add%60%2C%20Claude%2C%20ChatGPT%20and%20the%20like%29.%20Verify%20that%0A%60docker%20compose%20ps%60%20shows%20the%20container%20healthy%2C%20that%0A%60curl%20-s%20-o%20%2Fdev%2Fnull%20-w%20%27%25%7Bhttp_code%7D%27%20http%3A%2F%2F127.0.0.1%3A3425%2Fv1%2Fmodels%60%0Aprints%20401%2C%20and%20that%20the%20Claude%20Code%20check%20prints%20OK.%20Never%20print%20the%0Agateway%20key%20in%20your%20messages.%20Finish%20by%20giving%20the%20owner%20the%20web%20UI%0Alink%20from%20%22Open%20the%20web%20UI%22%20with%20this%20VM%27s%20name%20and%20its%20%3Fk%3D%20key%20%28this%0Aconversation%20is%20private%20to%20them%29%2C%20and%20point%20them%20to%20%22Use%20it%20from%20your%0Alaptop%22%20and%20%22Use%20it%20from%20your%20other%20VMs%22%2C%20which%20they%20set%20up%20on%20their%0Aown%20computer.%0A%0AFinish%20with%20the%20URLs%20I%20should%20open.%0A",
    "terminal": "curl -fsSL https://exe-staging.dev/deploy/magpie/prompt.txt | ssh exe.dev new --prompt=/dev/stdin",
    "prompt": "Set up magpie on this VM by following the exe.dev recipe at https://exe-staging.dev/deploy/magpie.md from top to bottom.\n\nThe recipe's example VM name is my-magpie. This VM's name is the output of `hostname`: use it wherever the recipe writes my-magpie. Skip the step that creates the VM; you are on it.\n\nYou are done when all of these are true. Check each one yourself:\n- magpie running in Docker Compose on ports 3425 and 3430, bound to the VM's loopback and back after a reboot\n- A web key in `~/magpie/.env`, readable only by you, and magpie's settings on the VM's disk in `~/magpie/config`\n- exe.dev's LLM integration added to magpie as two providers, with no API key, and a routing group `group/open-models` that fails over from Kimi K3 to GLM-5.3 to DeepSeek V4.1 Flash\n- A gateway key for this VM in `~/magpie/this-vm.key`, and Claude Code on the VM answering through `group/open-models`\n- The web UI at `https://\u003cvm\u003e.exe.xyz:3430/`, private to you\n\nRun the VM-side commands in \"Install by hand\" only, skipping VM\ncreation. Never run share set-public or share port, never publish 3425\nor 3430 beyond 127.0.0.1, and never sign magpie in to a subscription\n(`magpie accounts add`, Claude, ChatGPT and the like). Verify that\n`docker compose ps` shows the container healthy, that\n`curl -s -o /dev/null -w '%{http_code}' http://127.0.0.1:3425/v1/models`\nprints 401, and that the Claude Code check prints OK. Never print the\ngateway key in your messages. Finish by giving the owner the web UI\nlink from \"Open the web UI\" with this VM's name and its ?k= key (this\nconversation is private to them), and point them to \"Use it from your\nlaptop\" and \"Use it from your other VMs\", which they set up on their\nown computer.\n\nFinish with the URLs I should open.\n",
    "prompt_url": "https://exe-staging.dev/deploy/magpie/prompt.txt"
  },
  "updated": "2026-11-13",
  "verified": "2026-11-13",
  "related": [
    "claude-code",
    "codex",
    "kimi-code",
    "deepseek-harness",
    "agent-secrets",
    "opencode"
  ],
  "alternatives": [
    "CC Switch",
    "Claude Code Router"
  ]
}
