Skip to content
MCP server
RegistryRemote

Purgatorium (p9m) MCP Server

Self-hosted Docker sandboxes for agents: create one, deploy a compose stack, read its files and URLs

Purgatorium (p9m) scores 27 (Limited), licensed AGPL 3.0. It can be reached as a remote MCP endpoint. It does not declare tools yet. Filed under Developer tools. Install configs are generated for 10 clients. Being listed in the registry is not the same as being vendor-official.

by csakaszamokAGPL 3.0
Trust score
27Limited
Trust score 27 of 100, Limited

Limited trust

27 of 100 from six public signals. Nobody can buy a point.

  • OSI-style license: agpl-3.0.
How we score trust
Scorecard

License, quality and maintenance

How grades work
Trust breakdown

Where the 27 comes from

0 + 6 + 0 + 10 + 4 + 7 = 27. Each factor is capped, so no single signal can carry a listing.

Registry0 / 30

Active in the official MCP registry, plus a known vendor namespace.

Registry: 0 of 30 points.
Maintenance6 / 20

How recently the repository saw a commit or release.

Maintenance: 6 of 20 points.
Popularity0 / 20

GitHub stars and weekly downloads, on a log scale.

Popularity: 0 of 20 points.
License10 / 10

A clear, OSI-style open-source license.

License: 10 of 10 points.
Security4 / 10

Not archived, a secure install path, a pinned version.

Security: 4 of 10 points.
Docs7 / 10

A real summary, a README with depth, listed tools.

Docs: 7 of 10 points.

Install

Pick your client, copy the config, paste it in.

Remote auth: API key required. Get a key or token from the provider first, then add it as a header in your client config. How remote auth works

Needs Cursor or VS Code installed on this device. The button opens the app and asks you to confirm before it adds the server.

~/Library/Application Support/Claude/claude_desktop_config.json
{  "mcpServers": {    "csakaszamok-p9m": {      "url": "https://{purgatorium_host}/mcp"    }  }}

Environment variables

This server does not declare environment variables.

Tools show up when the registry metadata or the repository README lists them. Public READMEs are read directly. A GitHub token is used only when one is already configured.

About

Purgatorium (p9m)

Docs CI License

[!NOTE] Early, before 1.0. It works and is tested (CI on every change, releases with a changelog), but expect rough edges, and breaking changes between minor versions.

Self-hosted sandboxes for your team and their AI agents: everyone gets their own Docker, every app gets a URL, idle sandboxes sleep.

Think of it as a self-hosted Vercel for the apps your team and its agents spin up. Today you deploy with docker compose; git-based builds are on the roadmap.

About 10 seconds from New sandbox to your own Docker and a public URL for your app; a sleeping sandbox is back in under 10. (Measured with the images already pulled: the first sandbox on a new server also downloads them.)

  • Its own Docker daemon for every sandbox (with a Portainer UI if you want one)
  • A public URL for every app, and TLS addresses for Postgres, Redis and SSH
  • Sleeps when idle, wakes on the next request; a delete archives, nothing is lost
  • Made for agents: tokens limited to one sandbox, an agent guide, an MCP server and a Claude Code plugin (/plugin marketplace add p9m-team/p9m, then /p9m:init <address> gets each project a sandbox: users need no web UI, only the admin has one). p9m-team/p9m is the official marketplace: it points at this repository's plugins/p9m, so use that name, not this repository's

Hide the complexity. Keep it simple. Focus on what matters.

Purgatorium abstracts away infrastructure complexity and operational overhead, providing an intuitive user experience that lets users focus on their work and business goals rather than managing the underlying technology.

Why Purgatorium, and how it compares with a laptop, a cloud PaaS, a shared Docker host, Coolify and a VM for everyone · How it works: the components (Docker-in-Docker, frp, Traefik, Sablier), a sandbox's lifecycle and the path of a request

The same from a script or an agent

All real runs, in real time; press one to watch it.

With curl through the API, by an agent over the MCP server, and the MCP server by hand (JSON-RPC over HTTP, so even curl can call its tools).

Try it on your laptop

With Docker Desktop, or Docker Engine and the compose plugin on Linux, and ports 80 and 443 free (on Windows, in Git Bash or WSL):

mkdir p9m && cd p9m
curl -fsSLO https://github.com/csakaszamok/p9m/releases/latest/download/docker-compose.yml
curl -fsSL https://github.com/csakaszamok/p9m/releases/latest/download/setup.sh | bash   # prints the admin password
docker compose up -d

Open http://p9m.lvh.me (lvh.me and all its subdomains point to 127.0.0.1, so no DNS to set up), sign in as administrator with the password setup.sh printed, and press New sandbox. The first one takes a minute or two while the images are pulled; after that about 10 seconds. Its app opens at its own http://<name>-….lvh.me address.

An app takes seconds to open the first time? In Chrome, Settings → Privacy and security → Security → Use secure DNS: with "your current service provider" each new *.lvh.me name can wait for a slow or filtering resolver. Turn it off, or pick a provider such as Cloudflare (1.1.1.1).

To remove it: delete the sandboxes in the UI first (each is a compose project of its own, so the next step would leave them running), then docker compose down -v in the p9m directory, and delete the directory.

Install

On a Linux host with Docker Engine, the compose plugin and sysbox, no clone needed. First check the host; it changes nothing:

curl -fsSL https://github.com/csakaszamok/p9m/releases/latest/download/check-host.sh | bash -s -- dev.example.com

Then:

mkdir p9m && cd p9m
curl -fsSLO https://github.com/csakaszamok/p9m/releases/latest/download/docker-compose.yml
curl -fsSL https://github.com/csakaszamok/p9m/releases/latest/download/setup.sh | bash -s -- dev.example.com   # .env with your domain and random secrets
docker compose up -d
curl -fsSL https://github.com/csakaszamok/p9m/releases/latest/download/check-host.sh | bash   # again, in p9m: what is not secure yet

Then sign in at http://p9m.<HOST_DOMAIN> (by default http://p9m.lvh.me). Rather read the scripts before running them? Download them instead of piping them into bash: see Install.

When to use something else

Purgatorium is for a team's apps and agents' deployments that should be up at a URL, cheaply, on your own server. For other jobs other tools fit better:

  • Production that must scale and stay up → a cloud PaaS, or Coolify / Dokploy on your own servers
  • Untrusted code from strangers → a microVM sandbox such as E2B or Docker Sandboxes (until Purgatorium has a Kata runtime)
  • Writing code in a cloud IDE → Coder or GitHub Codespaces
  • An agent running short scripts from an SDK → E2B or Daytona

More in how it compares.

Documentation

csakaszamok.github.io/p9m: tutorials, install, configuration, let your agent deploy, MCP, API, and llms-full.txt for agents.

Security: sandboxes run under sysbox, without a privileged container; install it on the server. The privileged dind runtime is for development only (Docker Desktop, a laptop) and is not allowed unless ALLOWED_RUNTIMES says so. Web apps in a sandbox open only for its owner unless labelled otherwise (details).

Contributing · Security issues · AGPL-3.0

Free to use, also commercially, on your own servers or for your customers. Changed it and people use it over the network? Then they get your changed source too, under the same license (AGPL-3.0). Every product built on Purgatorium says so: Based on Purgatorium (p9m), in its About page and its docs, is marked as changed, and does not take the names "Purgatorium" or "p9m" (NOTICE). Versions up to 0.10.3 were released under Apache-2.0.

Frequently asked questions

What is Purgatorium (p9m) MCP Server?

Self-hosted Docker sandboxes for agents: create one, deploy a compose stack, read its files and URLs

How do I install Purgatorium (p9m) MCP Server in Claude Desktop, Cursor, or VS Code?

Pick your client in the Install section on this page and copy the generated config into the client's config file. Step-by-step guides: Claude Desktop, Cursor, and VS Code. Purgatorium (p9m) MCP Server connects to the remote endpoint https://{purgatorium_host}/mcp, so there is nothing to install locally.

Is Purgatorium (p9m) MCP Server free and open source?

Purgatorium (p9m) MCP Server is released under the AGPL 3.0 license, which is not on MCPpedia's list of OSI-approved open-source licenses. Read the license terms before using it, especially commercially.

Does Purgatorium (p9m) MCP Server support remote (HTTP) connections?

Yes. Purgatorium (p9m) MCP Server offers a hosted endpoint over Streamable HTTP, so HTTP-capable clients can connect to it without running anything locally.

How is Purgatorium (p9m) MCP Server's trust score calculated?

Purgatorium (p9m) MCP Server scores 27 out of 100 (Limited). The score adds six capped public signals: registry status, maintenance, popularity, license, documentation, and security. Nobody can pay for points. Read the methodology for the full formula.

Reviews

No reviews yet

—Be the first to review

5 star0 reviews at 5 stars
4 star0 reviews at 4 stars
3 star0 reviews at 3 stars
2 star0 reviews at 2 stars
1 star0 reviews at 1 stars

No published reviews yet. Used it? Tell the next person how it went.

Add badge to your README

Paste either snippet into the repository README. The image links to this listing.

Listed on MCPpedia

Top 5 MCP servers

Daily or weekly. Confirm by email, unsubscribe any time.

How often

Manage this listing

Claim this server