Network tools¶
Licensed downloads from the web, recorded with provenance and credits.
1 tools in the network category. Badges: read-only tools never change the project; mutating tools are undoable and attributed; open-world tools reach outside the engine and MCP clients ask before running them.
| Tool | Summary |
|---|---|
asset_download |
Download an openly licensed asset (3D model .glb/.gltf/.obj/.ply/.stl, texture, .hdr sky panorama, audio, or a .zip pack of them) from a URL into the project, record its license and author, add it to CREDITS.md, and (for models) import it — optionally placing it in the scene. |
asset_download¶
Download asset from the web mutating open-world
Download an openly licensed asset (3D model .glb/.gltf/.obj/.ply/.stl, texture, .hdr sky panorama, audio, or a .zip pack of them) from a URL into the project, record its license and author, add it to CREDITS.md, and (for models) import it — optionally placing it in the scene. Multi-file glTF and OBJ+MTL dependencies are fetched automatically. RULES: only use assets whose license allows this project's use (CC0, CC-BY with attribution, MIT, public domain, or terms the human accepted); never bypass logins, paywalls or download limits; give the license exactly as stated on the source page. The human approves every download.
| Argument | Type | Required | Description | Values |
|---|---|---|---|---|
url |
string | yes | Direct file URL (http/https) | |
license |
string | yes | License as stated by the source, e.g. "CC0-1.0", "CC-BY-4.0", "MIT" | |
author |
string | Creator / copyright holder | ||
source_page |
string | Page the asset was found on (for credits) | ||
attribution |
string | Exact attribution text required by the license, if any | ||
folder |
string | Project folder to save into (default downloads/<name>) | ||
include |
object | Extra files of a multi-file asset as {"relative/path": "url"} — for libraries that host a model's textures/buffers elsewhere (e.g. Poly Haven's file API lists them under include). |
||
import |
boolean | Import models after download (default true) | ||
normalize |
boolean | Scale models to fit 1 m (default true); false keeps real-world units | ||
z_up |
boolean | The model is Z-up (CAD, scans, some exporters) — rotate to Y-up | ||
create_entity |
string | Also place the model as a new entity with this name | ||
position |
number[3] | Position for the new entity |
asset_download {"url": "<gltf url from the files API>", "license": "CC0-1.0", "author": "<author from the API>", "source_page": "https://polyhaven.com/a/<asset id>", "include": {"textures/<name>_diff_1k.jpg": "<url from the files API 'include' map>"}, "folder": "crate", "import": true, "normalize": false, "create_entity": "Crate", "position": [0, 0, 0]}
skywalker call asset_download '{"url": "<gltf url from the files API>", "license": "CC0-1.0", "author": "<author from the API>", "source_page": "https://polyhaven.com/a/<asset id>", "include": {"textures/<name>_diff_1k.jpg": "<url from the files API '\''include'\'' map>"}, "folder": "crate", "import": true, "normalize": false, "create_entity": "Crate", "position": [0, 0, 0]}' --project my_game
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "asset_download",
"arguments": {
"url": "<gltf url from the files API>",
"license": "CC0-1.0",
"author": "<author from the API>",
"source_page": "https://polyhaven.com/a/<asset id>",
"include": {
"textures/<name>_diff_1k.jpg": "<url from the files API 'include' map>"
},
"folder": "crate",
"import": true,
"normalize": false,
"create_entity": "Crate",
"position": [
0,
0,
0
]
}
}
}