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
| Tool | What it does |
|---|---|
| search_models | Searches 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_model | One 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_matching | From 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_scene | A page you can open and turn, with up to 12 models side by side at their real sizes, before anything is downloaded. |
| get_collection | A whole collection: every model with its size, the shared light rig, code that lays them all out, and download links if asked. |
| download_model | A link to the GLB, in any of the model's colourways, valid 15 minutes. The assistant fetches it into your project. |
| list_categories | The categories, with how many models each holds. |
| list_collections | The collections: sets that share a texture atlas and are made to sit together. |
| list_tags | The tags in use, by kind: type, style, colour, material. |
| get_help | How-to by topic, for the assistant: loading Draco files, lighting, scenes, colourways, animations. |
| report_need | Tells 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. |
| whoami | The 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
- "Find a low-poly tree and a rock from 3DGarden and add them to the scene."
- "Build a small Halloween graveyard from 3DGarden, under 3,000 triangles a model. Show me before you download."
- "What goes with the spooky-house-01 model? Show me the set."
- "Which 3DGarden collections would fit a medieval village? Show me what is in the best one."
- "Download the bridge in its moss colourway into public/models and load it with GLTFLoader."
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.