Polyfork low-poly 3D assets
dev.polyfork/polyfork · 1.0.0
Low-poly 3D models and kits for three.js and game engines: search, match, remix, preview.
Nobody here has read this server's code, because it publishes none. The description above is the maker's own, from the registry. A connection test shows whether it answers and what tools it says it has; it never calls a tool, so it cannot show what one does with your data.
Where it sits in the directory's order
What can be seen from outside, weighed as the directory publishes.
Observable signals: 45 of 100 points (at most 60 here)
| Input | Points | What was seen |
|---|---|---|
| Source published | held at 0 | No entry here publishes source: that is what puts it in this directory. |
| Licence stated | held at 0 | With no files, there is nothing for a licence to be stated in or held against. |
| Advisory state | held at 0 | Advisory databases index packages, and these entries publish none, so there is nothing to look up. |
| Auth declared | 0 of 15 | The registry entry declares no key. That is what it declares, not a finding that it has no protection. |
| Latest connection test reached it | 20 of 20 |
Where it answers
https://polyfork.dev/mcpstreamable-http
Connection test
The MCP handshake, then a request for the tool list, with no key and no data of yours. Run nightly, and by anyone, at most once every ten minutes per server.
It completed the handshake and listed 12 tools.
- Protocol
- 2025-06-18
- Calls itself
- polyfork 1.0.0
- Handshake time
- 358 ms
- HTTP status
- 200
The tools it lists (12, as of 27 hours ago)
The tool-description rules found nothing in these descriptions. They look for instructions aimed at a model and for hidden characters; they cannot see what a tool does when it runs.
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-asset price. you should say which is which when recommending one, rather than letting the user discover it at download time. If coverage comes back "none" or "poor", tell the user we do not have it and
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 already does it for three.js. If the asset is paid and this connection does not own it, the reply carries the price and a buy link instead: quote both.
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.
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 applied instead of presenting it as exact.
How this entry becomes a listing
For the maker. The catalogue lists what it can read, and this server publishes nothing to read yet. There are two routes, and only the first is open today.
Publish the source Open today
- Put the server's source in a public repository on github.com, with a licence.
- Keep a server.json in that repository naming this server,
dev.polyfork/polyfork, and declare the repository in it:"repository": { "url": "https://github.com/owner/repo", "source": "github" }, adding"subfolder"when the server lives in a folder. - Publish that version to the official MCP registry.
- The nightly registry sweep records the declaration. This page stays, dated, and says the source is declared but not yet read.
- The catalogue reads declared repositories at a pinned commit, in batches run by hand, and lists the servers that meet the batch's rules (among them a server.json at that commit naming the server, an https endpoint and a licence). When it lists this server, this page links to the listing. There is no schedule, so no date can be promised.
List it through the maker studio Not open yet
From the official MCP registry, last updated there 56 days ago. The registry entry · polyfork.dev