dev.polyfork/polyfork

Polyfork low-poly 3D assets

Low-poly 3D models and kits for three.js and game engines: search, match, remix, preview.

Endpointhttps://polyfork.dev/mcp (streamable-http)
Registry version1.0.0
Now12 tools · grade A (90) · pin ts_c0e60af05989d9afa4cf1eabae73b096 · protocol 2025-06-18
First / last listed2026-10-25 03:16 UTC / 2026-10-25 03:16 UTC
Grade over time2026-10-25: A (90), 12 tools

Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.

Timeline

First listing · 2026-10-25 03:16 UTC
12 tools, grade A (90)

Tools: search_assets get_asset find_matching get_variant preview_scene list_kits get_kit get_terrain who_am_i buy_plan get_help report_need

Current tools (12)

search_assetsSearch the Polyfork catalogue of low-poly 3D assets for three.js. Use this whenever the user needs a model for a scene, game or site. Filter by triangle budget when the target is mobile or performance-sensitive. Results mix FREE and PRO assets: each carries `free` and `plan`. Paid assets are not sold individually — they come with Pro or the one-time Founders plan — so quote the plan, never a per-a
params: q, class, free, kit, ik, max_triangles, min_triangles, max_price_usd, sort, limit, compact
get_assetFull detail for one asset: real-world size in metres, triangle count, palette, animatable parts, renders you can open to SEE it, and the correct download URLs for the caller. A model with has_ik true also returns a measured `gait` or `arm` block: segment lengths, foot offsets, phase order, step length, reach. That is everything needed to make it walk or reach in any engine, and /cdn/walk.mjs alrea
params: id*
find_matchingGiven one asset, return assets that BELONG IN A SCENE WITH IT: same kit first, then shared palette, then compatible real-world scale, spread across classes so you get a house, a tree and a barrel rather than eight houses. Use this to turn a single pick into a scene. Returns a ready preview URL.
params: id*, limit, max_triangles, min_triangles, free
get_variantTurn a plain-words request ("oak cask", "taller", "five sails") into a ready call. `want` is matched against this asset's KNOB NAMES and OPTION VALUES, not against colour vocabulary: use the words from its -params.json into a ready createAsset() call for a remixable asset, plus a GLB URL of that exact variant. Check the returned confidence: on anything below high, tell the user what was actually a
params: id*, want*, look
preview_sceneCompose assets into a scene and return a URL the user can OPEN and orbit. Use it instead of handing over a block of three.js the user cannot run. Works with paid assets too: they render from a public preview, so the scene looks finished whether or not the user owns them. The result says what the scene would cost and where to buy; pass that on rather than letting a 404 be the first sign of a price.
params: ids*
list_kitsKits are coherent sets built to one palette and one grid. Reach for a kit when the user is building a whole environment rather than looking for one object. Each carries a status: "published" means every planned part is built, "filling-up" means parts are still landing — and the parts of a filling-up kit are usable TODAY. NO kit is sold as a bundle: price_usd is null and for_sale false on all of th
params: none
get_kitEvery published part of one kit, with the same detail get_asset gives, so you can compose a whole scene from one call. Works on a kit that is still FILLING UP: you get the parts that exist today. NO kit is sold as a bundle, at any status, so recommend its parts rather than the kit — the free ones need no account and the rest come with Pro. A kit may also carry `look` and `terrain`. `look` is the s
params: id*, compact
get_terrainAT WHAT HEIGHT DO I PLACE THIS, and where can I build. Every kit ships a procedural TERRAIN program for its own ground, and the ground is no longer flat, so a y of 0 is wrong almost everywhere. Pass `at` with the x/z you want to place at and you get the ground height there; set position.y to it. `flat_areas` are the level building sites: square footprints whose ground barely varies, largest first,
params: id*, flats, at, scatter, profile, span, erosion, flatten
who_am_iWhat this connection can currently do: whether a key is attached, which assets and kits it owns, and therefore which downloads will work. Call it before promising the user a paid file, and when a download 404s, rather than guessing whether the problem is the key or the asset.
params: none
buy_planBuy a Polyfork plan: Pro (monthly or yearly) or a one-payment lifetime seat. This tool NEVER charges anything itself. It returns a Stripe Checkout link and the exact amount; the payment happens on that page (cards and Link), and only with the user's approval of the amount. Call it with no arguments to see what is on sale and at what price. Use it when a download needs a plan the user does not have
params: plan, confirm
get_helpHow to use this server: what the metadata means, the rules that are easy to get wrong (real-world metres, one material, never rescale to fake a fit), and worked recipes for building a scene. Call it when a tool did not behave as you expected, or before a multi-step build, instead of guessing.
params: topic
report_needReport a gap. Four kinds, and the last three are about THIS SERVER rather than the catalogue: kind=asset, we do not model what the user asked for (offer this whenever a search is empty or thin); kind=capability, you needed the server to do something it cannot; kind=output, a tool answered but not with what you needed; kind=docs, a tool description did not tell you how to use it. Do not stay quiet
params: need*, kind, tool, context, email

Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.