Tridsy

Agents & API

Everything on Tridsy is machine-readable. Agents can discover assets, read typed knob schemas and export exactly the variant they need — over a remote MCP server or a plain REST API. There's also an llms.txt summary.

MCP server

Remote MCP over Streamable HTTP at https://tridsy.com/api/mcp. Works without a key for free assets (lower limits); add an API key from your account for Pro assets and higher quotas.

Claude Code

claude mcp add --transport http tridsy https://tridsy.com/api/mcp \
  --header "Authorization: Bearer $TRIDSY_KEY"

Claude Desktop, Cursor & other clients (JSON config)

{
  "mcpServers": {
    "tridsy": {
      "type": "http",
      "url": "https://tridsy.com/api/mcp",
      "headers": {
        "Authorization": "Bearer tds_your_key_here"
      }
    }
  }
}

Raw JSON-RPC

curl -s https://tridsy.com/api/mcp -H "content-type: application/json" -d '{
  "jsonrpc": "2.0", "id": 1, "method": "tools/call",
  "params": { "name": "search_assets", "arguments": { "query": "tree" } }
}'

Tools

search_assets

Search the catalog by free text and/or filters. Returns slugs, names, tiers and triangle counts.

querycategorykittierlimit
get_asset

Full description of one asset including its knob schema (types, ranges, defaults, options) and size in meters.

slug*
list_kits

Themed kits whose assets share palette, scale and grid. Use them to build coherent scenes.

export_asset

Configure an asset with knob values and get a download URL (valid 1 hour). Unknown knobs are ignored, out-of-range values are clamped; the resolved values are returned.

slug*paramsformat

REST API

GET/api/v1/assetsSearch: q, category, kit, tier, limit, offset
GET/api/v1/assets/{slug}Details + knob schema + defaults
GET/api/v1/assets/{slug}/exportformat=glb|usdz|obj|js plus knobs as query params
POST/api/v1/assets/{slug}/exportJSON body {"format": "glb", "params": {...}}
GET/api/v1/kitsKits with palettes, grids and asset lists
# Two-floor cottage with a blue roof, as GLB
curl -L "https://tridsy.com/api/v1/assets/cottage/export?format=glb&floors=2&roofColor=2f5d8a" -o cottage.glb

# Inspect the knobs first
curl -s https://tridsy.com/api/v1/assets/cottage | jq .params

Auth & limits

  • Send Authorization: Bearer tds_…. Keys are created and revoked in your account.
  • Without a key: free assets only, 30 exports per day per IP. Free accounts: 200/day. Pro & Lifetime: 5,000/day.
  • Pro assets answer 402 without a Pro plan; quota exhaustion answers 429. Errors are JSON: {"error": "..."}.
  • MCP export URLs are pre-signed and valid for one hour, so agents can hand them to any downloader.

Conventions

  • 1 unit = 1 meter, +Y up, front faces +Z, origin at the ground center of the footprint.
  • Assets in one kit share a palette and a grid size (listed per kit), so neighbors line up.
  • Every asset has a seed knob; same knobs + same seed = identical geometry.
  • Out-of-range values are clamped and unknown knobs ignored; responses include the resolved values.
  • Characters keep named joint nodes (hips, spine, head, arm_L, forearm_L, leg_L, …) in GLB exports.

Live ES modules

The js format returns the asset's generator itself. Import it and rebuild variants at runtime with your own copy of three.js — the knob schema ships inside the module.

import * as THREE from "three";
import create, { schema } from "./pine-tree.js";

for (let i = 0; i < 50; i++) {
  const tree = create(THREE, { seed: i + 1, height: 4 + Math.random() * 4 });
  tree.position.set(Math.random() * 40 - 20, 0, Math.random() * 40 - 20);
  scene.add(tree);
}