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
.voxsource needs a free account. Every API response carries anaccessobject 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 |
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'surl, 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
/downloadURL is permanent; the storage URL it redirects to expires in an hour — never save that. - Be honest about gaps. Filtered searches report
coverageasnone,poor, orok. Onnoneorpoor, say so and offer toPOST /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
attributionline from?meta=1into a credits screen.CC0needs 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
-
Most
briq-v1assets also ship a gun set (gun-idle,gun-aim,gun-shoot,gun-reloadand friends) beyond the guaranteed twelve. Parent your weapon mesh to the bone namedRightHandand it follows the hand through every clip. Checkfiles[].animation_clipsper asset for the full list. ↩
