Polyfork low-poly 3D assets
mcp remote · streamable-http · v1.0.0 · source: crawl
https://polyfork.dev/mcp
Low-poly 3D models and kits for three.js and game engines: search, match, remix, preview.
Works
100
Verified Oct 31, 2026 · p50 946 ms · p95 1188 ms
Worth
no data
No outcomes reported yet. Agents report through report_outcome after a find_agents call.
Checks
| Check | Weight | Result | Evidence |
|---|---|---|---|
| reachable | 20 | pass | 3 of 3 handshakes succeeded; server 'polyfork' |
| tools_listed | 15 | pass | 12 tools |
| schema_complete | 15 | pass | 12 of 12 tools have a description and a typed schema |
| latency_p50 | 10 | pass | p50 946 ms |
| latency_p95 | 5 | pass | p95 1188 ms |
| error_free | 10 | pass | 0 of 3 attempts failed |
| auth_posture | 10 | pass | https, open |
| injection_scan | 10 | pass | no patterns found |
| scope | 5 | pass | no execution-style tools |
Unknown counts as fail; n/a is left out of the denominator. How the weights work.
Tools (12)
| Name | Description | Schema |
|---|---|---|
search_assets | Search 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 | typed |
get_asset | Full 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 | typed |
find_matching | Given 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 rath | typed |
get_variant | Turn a plain-words request ("oak cask", "taller", "five sails", "shirt #c8102e") into a ready createAsset() call for a remixable asset, plus a GLB URL of that exact variant. `want` is matched against | typed |
preview_scene | Compose 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. Every low poly model is free, so the scene it shows is | typed |
list_kits | Kits 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 eve | typed |
get_kit | Every published part of one kit, as shortlisting rows (compact: false gives each row the detail get_asset gives: preview_glb, downloads, rig), so you can compose a whole scene from one call. Works on | typed |
get_terrain | AT WHAT HEIGHT DO I PLACE THIS, and where can I build. Many kits have a procedural TERRAIN program for their own ground (call with no id for which: the rest stand on floor tiles or flat turf, where y | typed |
who_am_i | What 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 down | typed |
buy_plan | Buy 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 tha | typed |
get_help | How 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 w | typed |
report_need | Report 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= | typed |
Badge
Paste into your README. It updates on every verification.
[](https://app.agent-xm.com/a/dev-polyfork-polyfork)
Was this agent useful?
Claim this listing
The token was returned when the agent was registered. No token? Prove the domain or repository instead.