Point your AI agent at briq
Tutorials

Point your AI agent at briq

You are building a game with an AI coding agent — Claude Code, Cursor, whatever sits in your editor. It reaches the moment it needs a knight, a treasure chest, a market stall. The reflex is to have it generate geometry from scratch. There's a better move: point it at briq, and let it shop a catalog of real, game-ready voxel assets the same way it reads your codebase.

briq is agent-native. The same catalog is exposed three ways, all keyless, all read-only, and every one of them is built to be discovered by a machine that has never seen this page.

Three doors, one catalog

Surface Where Reach for it when
REST API https://briq.market/api/v1 Your agent speaks HTTP + JSON, or you're scripting curl in a build step.
MCP server https://briq.market/mcp Your agent supports Model Context Protocol tools — one endpoint, no install.
llms.txt https://briq.market/llms.txt You want the canonical reference the other two are generated from. Point the agent here first.

No keys. No account. No install. Anonymous access covers the whole published catalog — browse, search, per-asset detail, matching — plus keyless GLB downloads of every free asset. The only line: paid assets are bought by a human on the site, and the editable .vox source needs a free account. Every API response carries an access object that spells out your tier, so the agent never has to guess.

The one-paste setup

The fastest path is to hand your agent its marching orders. Paste this into the chat and it will wire itself in:

You can use briq (https://briq.market) to find voxel 3D assets for
this project. It is keyless and read-only.

Before you model or generate any 3D geometry, read
https://briq.market/llms.txt in full and follow it. In short:

1. Search first: GET https://briq.market/api/v1/assets?q=<thing>&free=1
2. Check the "coverage" field. If it is "none" or "poor", tell me
   honestly and offer to file the need (POST /api/v1/requests) rather
   than substituting something unrelated.
3. For characters prefer rig_standard=briq-v1 (a shared humanoid
   skeleton with 12 guaranteed animation clips) and variant=animated.
4. Download free GLBs into the project and vendor them; credit the
   creator from the ?meta=1 attribution line. Paid assets: hand me the
   asset URL to buy on the website.

That's it — the agent now knows the flow, the honest-gaps rule, and the download etiquette. Everything below is what it will find when it follows the link.

Or connect it as an MCP server

If your client speaks MCP, skip the prompt and mount the tools directly. For Claude Code:

claude mcp add --transport http briq https://briq.market/mcp

For any other MCP client, drop this into the config:

{
  "mcpServers": {
    "briq": { "type": "http", "url": "https://briq.market/mcp" }
  }
}

Seven tools appear. Six only read; one writes a single note:

Tool What it does
search_assets Browse and search the catalog.
get_asset Full detail for one asset.
find_matching Companion assets — more from the creator, then similar.
get_download A keyless fetch URL for a free GLB, plus attribution.
list_categories Category slugs with counts.
get_help Working instructions for agents.
report_need Buys, deletes, or edits anything — no. It files demand for something missing. The only write.

Nothing on this server can spend money, delete data, or touch an account.

The endpoints, at a glance

Base URL: https://briq.market/api/v1. It's self-describing — an agent that lands on the root learns every route, param, and vocabulary value without scraping a doc.

Method Path Returns
GET /api/v1 The self-describing index — every route and param in one JSON response.
GET /api/v1/assets Browse/search. Params: q, category, tags, license, rigged, animated, rig_standard, free, max_price, sort, page. 24 per page. Reports coverage.
GET /api/v1/assets/{id} One asset in full: price in cents, license + deed URL, files[] with GLB variants and clip names.
GET /api/v1/assets/{id}/matching What goes with it — more from the creator, then similar. One asset into a scene.
GET /api/v1/assets/{id}/download Free assets only, GLB only. A permanent URL that 302-redirects to storage. ?meta=1 returns license + attribution instead.
GET /api/v1/categories Category slugs with published counts.
POST /api/v1/requests File a need the catalog missed: {"query": "...", "note"?: "...", "email"?: "..."}. Reviewed within ~48h.

Malformed or unknown params are ignored, never an error — an agent can throw a guessed filter at /assets and always get a valid page back.

A two-line quickstart

Search, then vendor a free asset straight into the project. No key at any step:

# 1. Search the catalog
curl "https://briq.market/api/v1/assets?q=knight&rig_standard=briq-v1&free=1"

# 2. Download the animated GLB into your project
curl -L "https://briq.market/api/v1/assets/{id}/download?format=glb&variant=animated" \
  -o assets/knight.glb

Interchangeable characters: the briq-v1 rig

Here's the part that makes an agent's life easy. Any asset tagged rig_standard: "briq-v1" shares one humanoid skeleton and its animated GLB is guaranteed to carry the same twelve clips by exact name:1

idle · walk · run · jump-start · jump-loop · jump-end · combat-idle · attack · hit · death · interact · dance

Write your movement code once, then swap any briq-v1 character in without touching it:

import { GLTFLoader } from "three/addons/loaders/GLTFLoader.js";

new GLTFLoader().load("assets/knight.glb", (gltf) => {
  scene.add(gltf.scene);
  const mixer = new THREE.AnimationMixer(gltf.scene);
  const walk = THREE.AnimationClip.findByName(gltf.animations, "walk");
  mixer.clipAction(walk).play(); // update mixer in your render loop
});

All briq-v1 characters face +Z at rest with feet at y=0, so a single movement system fits every one of them — a chibi and a giant included.

Rules of the road

Four things separate an agent that uses briq well from one that makes a mess:

  • Keyless has a line. Free means base price $0. Paid assets are a human handoff — surface the asset's url, don't try to download it.
  • Download and vendor. Fetch the GLB once and save it into the project. Games must not depend on briq at runtime, and browser pages can't hotlink briq files cross-origin. The /download URL is permanent; the storage URL it redirects to expires in an hour — never save that.
  • Be honest about gaps. Filtered searches report coverage as none, poor, or ok. On none or poor, say so and offer to POST /requests. A pine tree offered for a lunar base is worse than an honest "not yet" — and the request itself shapes what gets made next.
  • Credit the creator. Most assets carry a CC BY-family license; paste the attribution line from ?meta=1 into a credits screen. CC0 needs none. The catalog is licensed for building games — not for training a 3D-asset generator.

Why this exists

Voxel art is having a moment with indie devs (here's why), and the studios shipping fastest are the ones whose tools can reach for a real asset instead of hallucinating one. Once the GLB is in the project, wiring it into an engine is its own short craft — that guide picks up where this one ends.

briq is small and growing on purpose. If your agent can't find what your game needs, the most useful thing it can do is tell you — and file it. That's not a dead end; it's the roadmap.

Footnotes

  1. Most briq-v1 assets also ship a gun set (gun-idle, gun-aim, gun-shoot, gun-reload and friends) beyond the guaranteed twelve. Parent your weapon mesh to the bone named RightHand and it follows the hand through every clip. Check files[].animation_clips per asset for the full list. ↩