sbox/downloader
New — MCP server

Ask your AI how any s&box mode works.

Plug ChatGPT, Claude or Cursor into the catalog. Mention a gamemode by name — how does the mower in Mow the Lawn work? — and the AI reads the real code behind it to answer you.

No download, no setup. It sees what the s&box editor sees.

assistant · sbox MCP
how does the mower in mow the lawn work?
search_packages("mow the lawn")facepunch.mowthelawn
list_package_files(facepunch.mowthelawn)Code/Mower.cs · Code/Grass.cs · …
read_package_source(["Code/Mower.cs"])// the real C# source
The mower uses a per-tick sweep box — every grass blade overlapping it gets .Cut() called on it…

How a request flows

Someone asks their assistant how does the mower in Mow the Lawn work? With the MCP server connected, the agent takes three hops on their behalf — no manual digging.

  1. Step 1tool call

    search_packages

    query: "mow the lawn"

    Finds facepunch.mowthelawn in the catalog.

  2. Step 2tool call

    list_package_files

    ident: facepunch.mowthelawn

    Lists Code/Mower.cs, Code/Grass.cs, … from the manifest.

  3. Step 3tool call

    read_package_source

    paths: ["Code/Mower.cs"]

    Pulls the real C# source. The model answers from it.

The three tools

search_packages

(query, limit?)

Fuzzy match against FullIdent, Title, Org, Summary and Tags. Same index that powers the site’s home grid.

returns ident · title · org · summary · tags · type · updated

list_package_files

(ident, version?)

Walks the published version’s manifest. Returns paths, sizes and detected language. Zero file contents — cheap to call.

returns path · language · size

read_package_source

(ident, paths?, version?)

Pulls the actual text. Pass `paths` to read a few files (recommended). Omit it to dump everything, capped at 6 MB like the website.

returns path · language · size · text

All three reuse the same internals as /api/search and /api/sources: DMCA gating, manifest caching and .cll extraction stay consistent with the website.

Install in one command

Pick your tool, paste the line, restart the app. Public endpoint, no auth, no token — the same 60 req/min per IP limit as the rest of the site.

Claude Code

terminal — installs into the user scope by default

$ claude mcp add --transport http sbox https://sbox-downloader.com/api/mcp

Cursor

click to open Cursor and confirm the install

Add to Cursor
$ open 'cursor://anysphere.cursor-deeplink/mcp/install?name=sbox&config=eyJ1cmwiOiJodHRwczovL3Nib3gtZG93bmxvYWRlci5jb20vYXBpL21jcCJ9'

VS Code · GitHub Copilot

needs VS Code 1.99+ with the MCP CLI flag enabled

$ code --add-mcp '{"name":"sbox","type":"http","url":"https://sbox-downloader.com/api/mcp"}'

Claude Desktop

no CLI yet — paste this block into claude_desktop_config.json

{
  "mcpServers": {
    "sbox": {
      "type": "http",
      "url": "https://sbox-downloader.com/api/mcp"
    }
  }
}

Other client? Point it at https://sbox-downloader.com/api/mcp with transport streamable-http.

Verify it works with curl
curl -X POST https://sbox-downloader.com/api/mcp \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Caps you can predict

256 KB per file, 6 MB per response. Files above the cap are reported as truncated, never silently dropped.

No magic, no telemetry

Stateless POSTs over HTTPS. No session, no cookies, no auth. Rate-limit is the only thing tracked, per IP, in memory.