For AI assistants

The MCP server.

Connect your coding assistant to the library. Ask it for "a few market stalls for the town square" and it searches, looks at the renders, checks their real sizes, shows you the set in a scene you can turn, then downloads the GLB files into your project and writes the code that loads and lights them.

Connect

The server lives at https://www.3dgarden.app/mcp (Streamable HTTP). It uses your API key, sent as a bearer header: create one in your account and put it where these say YOUR_KEY. Keep the key out of files you commit.

Claude Code

claude mcp add --transport http 3dgarden https://www.3dgarden.app/mcp \
  --header "Authorization: Bearer YOUR_KEY"

Cursor

In ~/.cursor/mcp.json, or .cursor/mcp.json in a project:

{
  "mcpServers": {
    "3dgarden": {
      "url": "https://www.3dgarden.app/mcp",
      "headers": { "Authorization": "Bearer YOUR_KEY" }
    }
  }
}

VS Code

In .vscode/mcp.json. VS Code asks for the key once and stores it for you:

{
  "inputs": [
    { "type": "promptString", "id": "3dgarden-key", "description": "3DGarden API key", "password": true }
  ],
  "servers": {
    "3dgarden": {
      "type": "http",
      "url": "https://www.3dgarden.app/mcp",
      "headers": { "Authorization": "Bearer ${input:3dgarden-key}" }
    }
  }
}

Codex

With the key in the GARDEN_KEY environment variable, one line:

codex mcp add 3dgarden --url https://www.3dgarden.app/mcp --bearer-token-env-var GARDEN_KEY

or the same in ~/.codex/config.toml:

[mcp_servers.3dgarden]
url = "https://www.3dgarden.app/mcp"
bearer_token_env_var = "GARDEN_KEY"

Zed

In Zed's settings.json:

{
  "context_servers": {
    "3dgarden": {
      "url": "https://www.3dgarden.app/mcp",
      "headers": { "Authorization": "Bearer YOUR_KEY" }
    }
  }
}

Claude Desktop

Through mcp-remote (needs Node.js), in Settings, Developer, Edit Config:

{
  "mcpServers": {
    "3dgarden": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://www.3dgarden.app/mcp",
               "--header", "Authorization:${GARDEN_AUTH}"],
      "env": { "GARDEN_AUTH": "Bearer YOUR_KEY" }
    }
  }
}

Any other client: the URL above, transport HTTP (also called Streamable HTTP), and the header Authorization: Bearer YOUR_KEY. Then ask it to run whoami to check the connection.

What it can do

ToolWhat it does
search_modelsSearches by words, category, collection, tags, a triangle budget and animation, a page at a time. Says plainly when the library has nothing that fits, rather than offering a lookalike.
get_modelOne model in full, with its render as an image, so the assistant sees what it picks. Its size in metres, where its origin sits, triangles, draw calls, textures and animation clips, all measured from the file, and the light it was rendered under, as three.js.
find_matchingFrom one model, the ones that belong in a scene with it: its collection first, then shared style, material and colour, across categories, each with the reason.
preview_sceneA page you can open and turn, with up to 12 models side by side at their real sizes, before anything is downloaded.
get_collectionA whole collection: every model with its size, the shared light rig, code that lays them all out, and download links if asked.
download_modelA link to the GLB, in any of the model's colourways, valid 15 minutes. The assistant fetches it into your project.
list_categoriesThe categories, with how many models each holds.
list_collectionsThe collections: sets that share a texture atlas and are made to sit together.
list_tagsThe tags in use, by kind: type, style, colour, material.
get_helpHow-to by topic, for the assistant: loading Draco files, lighting, scenes, colourways, animations.
report_needTells us what was missing: a model you asked for that we do not have, or a rough edge in the server. We read every one.
whoamiThe account and key it is connected with.

Every tool but report_need only reads, and report_need only sends us a note. Nothing the assistant does can change your account or the library.

It also offers ready-made prompts (build a scene, add a model, use a whole collection) where your client shows them, and the guide and each model as resources. The same guide, as plain text for any assistant: /prompt.txt.

Things to ask

Limits

The same as the API: 60 requests a minute per key, shared between the API and MCP, and downloads count exactly as they do on the site. The account behind the key must have confirmed its email address to download. Revoking the key disconnects the assistant and voids its download links. The models are free to use in your projects under the licence; the one thing not allowed is selling the files themselves.