prompt-to-scene
Prompt-to-Scene is an MCP server that connects AI hosts to Blender and Unity/Unreal to build, style, import, organize, and play-test game-ready 3D props, scenes, and gameplay.
Set persistent art direction and style: presets, palette, quality, reference images, and image-based style matching using the AI host's vision.
Design and build assets: custom Blender Python, nine parametric prop recipes, matching prop sets, real 3D variants, and interactive props like doors, chests, and pickups.
Import and prepare external models: local GLB/glTF/FBX/BLEND files, Poly Haven CC0 search/download, LODs, collision, triangle/texture budgets, source retention, and preview-before-publish.
Generate models optionally via Meshy or self-hosted providers, with explicit paid-credit authorization.
Edit and refine assets: named-part edits and locks, imported part grouping/replacement, shared recipe revisions, and restoration of prior revisions.
Place and compose scenes: arrange props around anchors, save/place reusable layouts, build and furnish matching scene kits, and construct modular levels with clearance checks.
Configure gameplay: attach door/chest/pickup behavior, protect native material slots and sockets, and retain Unity prefabs or UE Blueprints.
Review and verify work: native before/after captures, quality review with limited repairs, performance inspection, and real Play/PIE playchecks.
Manage project assets: organize and rename assets by type, scan an intake inbox, set project conventions, and tag/search/reuse existing native assets.
Describe assets visually: capture thumbnails and evidence, save descriptions with optional vision endpoints, and configure a vision provider.
Adapt existing materials on Unity prefabs or UE static meshes with preview, selective apply, and undo.
Connect and inspect projects: discover/connect Unity or Unreal projects, locate Blender, install the bridge, and inspect scene/engine state.
Operate long-running workflows: poll status, cancel tasks, resume interrupted workflows, and undo scene edits.
Open a unified MCP Apps workbench for tasks, selection, previews, generation, and review without requiring an embedded UI.
Enables building and revising 3D props through AI-authored Blender Python scripts executed in background Blender. It retains editable .blend source revisions and can publish existing .blend files created by other Blender tools for import into Unity.
Provides a Unity package bridge that imports validated FBX assets, creates materials and prefabs, places props in the active scene with colliders, preserves stable asset identities across revisions, and returns import receipts with request IDs, GUIDs, mesh counts, and bounds.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@prompt-to-scene build a wooden crate in Blender and place it at [2,0,3] in Unity with a collider"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Prompt-to-Scene
v0.14: coherent art and playable game flows. An original apothecary set, explicit existing-game adapters, collect/craft/use/save rules, dynamic native inventory and image-backed project asset reuse. Workflow, examples and limits.
Build styled props in Blender with your AI, compare real 3D drafts, refine parts, and send the result straight to Unity or Unreal.
简体中文 · Download · Beginner setup · Asset organization · Verified results
Connect Codex / DeepSeek Harness → Blender → Unity / Unreal Editor. Your existing AI client interprets the request; Blender runs locally. The bridge prepares materials, imports native assets, places instances and verifies the result. Python is bundled in the download. No additional modeling subscription is required.
v0.14 supports styled props, linked game items, game images, three native UI templates, interaction, room furnishing and asset organization. Modeling needs Blender; image import and organization need only the engine editor. Image generation uses an available host image tool or an explicitly configured provider.

Actual retained Blender geometry in the workbench. The connected item includes a matching rendered icon, native data and pickup.
Install
Windows x64 · macOS Apple Silicon
Extract the download and open Prompt-to-Scene. Keep both Windows EXE files together.
Select an engine project and click Connect / 连接并准备项目. The app locates Blender and installs the bridge.
Click Install Codex plugin or Install Harness plugin, restart that client and start a new chat.
Keep the editor open outside Play mode. Restart UE once after installing the bridge. Say:
“Use Prompt-to-Scene. Set a cozy art style for this project and show me three chair designs before publishing one.”
Or open 进入创作工作台 → 模型创作, describe your asset, and use 生成制作指令 to copy the brief into your AI chat. Ordinary requests can build directly without a mandatory selection step. Generate example crate / 生成示例木箱 tests the complete pipeline without AI.
Community binaries are unsigned on Windows and ad-hoc signed, not notarized, on macOS. First-launch guidance and client setup: beginner guide. Source users can run uv sync --locked and uv run prompt-to-scene-app. Other MCP clients can use manual setup.
Related MCP server: Blender MCP
v0.13: from assets to usable game pieces
Open 我的作品 / Creations to describe a new item or try the complete bundled herbalist potion without a paid API. create_game_item runs model → icon → native data/pickup; create_game_ui creates ordinary editable inventory, HUD or pause controls. Updates keep stable references and manual data/layout edits. Local image edits preserve every pixel outside the selected rectangle. Art samples retain accepted/avoid decisions and feed subsequent briefs.

These are integration templates: Unity includes example pickup counts; UE exposes ItemData and OnInteracted for the project's inventory. Settings, persistence and arbitrary menu/ability systems remain game-specific. The 3D workbench approximates materials; use native rendering for final appearance. Host image generation remains capability-dependent.
v0.9: a project workshop inside the engine
Save naming, folders, geometry/texture budgets, LODs and collision once per project.
Drop source models into the designated inbox; settled revisions are prepared and imported automatically while the editor/app is running. Unchanged files are skipped and failed items can be retried.
Open the Unity EditorWindow or UE Editor Utility Widget from the engine menu or asset context menu. Work on the current selection, review naming plans and undo changes.
Capture native thumbnails and measurements, let the connected AI describe them, correct labels and search by intended use. An optional vision endpoint supports batch descriptions; no filename-only visual recognition claims.
Preview reference colors, roughness and texture scale on separate variants, compare actual renders, then selectively apply material slots or restore original assignments.
项目管家教程与边界. Unity material adaptation targets prefabs; UE targets static meshes with supported material parameters. The UE widget is bundled as an engine-only asset built with UE 5.7.2; users do not need the maintainer C++ builder.
v0.8: automatic project asset naming and organization
Open Workshop → 整理 / Organize → Scan and preview → Apply. Scan the whole Unity Assets or UE /Game, or a single imported pack.
Native asset types determine folders and prefixes: models, materials, textures, prefabs/Blueprints, animations, audio and more. For example,
oak albedo.png → Textures/T_Oak_BaseColor.png.Review every old/new path and skip reason. Preserve source groups, exclude folders, supply semantic names or move without renaming.
Resolve collisions with numbered suffixes. Unity retains GUIDs; UE uses one native rename batch to maintain references. Library annotations follow moves and undo.
Persistent history supports undo after editor restarts. Changed assets and occupied destinations stop the operation. Scripts, scenes, special loading folders and managed plugin assets stay in place.
Tell Codex or DeepSeek Harness: “Organize this project's assets by type and normalize their names. Keep ThirdParty in place.” No extra AI service is needed. Default names use filenames and native type information; you or the current AI host can supply semantic overrides. Custom code/config path strings are not rewritten. Complete guide and limits.

v0.7: build, reuse and test a playable scene
Feature | Implemented behavior |
Interactive props | Beveled, textured door/chest/pickup templates; separate moving geometry; Unity prefab components and UE child Blueprints. Range checks, aim-and-E demo input and project event hooks. |
Protected updates | Preserve native material assignments, interaction settings, root attachments and instance identity. Preview missing-slot conflicts before publication; incompatible updates stop before replacing native content. |
Scene looks | Four lighting/sky/color presets, a fixed presentation camera, native comparisons and restoration of saved lighting. Built-in, URP and UE adapters. |
Modular levels | Rooms, corridors and stairs with matched ports, connected graphs, dimensional validation and native sampled capsule clearance. Staged replacement keeps the old blockout if validation fails. |
Real play checks | Enter Unity Play / UE PIE, exercise interactions and clearance, capture before/after, measure actual frame intervals, collect runtime errors and return to Edit mode. |
Project asset reuse | Search local models, prefabs and compatible Blueprints by name/tags/size; native thumbnails, original-reference placement and source/license annotations. |
Try “Make an interactive wooden door, apply a warm scene look and check that it opens in Play mode”, or “Find an existing chest in this project before generating another one.” Workbench tabs: 玩法 / 关卡 / 素材库, with scene looks in 视觉. Complete guide.
UE users need no C++ compiler. The shipped Blueprint template was saved with UE 5.7.2 and must remain available through the plugin's content. This is template instantiation, not arbitrary Blueprint generation. Levels are blockouts, not NavMesh/controller traversal guarantees. Asset search uses keywords, not image embeddings. Play measurements describe the current editor/machine.
v0.6: one workbench, six workflow improvements
Feature | Implemented behavior |
Unified workbench | Local UI plus optional MCP App; shared task cards, editor object selection, real previews, cancellation and workflow resume. Normal tools also work without an embedded UI. |
Furnished scene kits | Build and arrange three matching kits, arbitrary upright yaw, surface alignment, face-anchor placement, saved layout reuse and undo. |
Art review loop | Persistent reference images/notes, native diagnostics, same-camera evidence and at most two concrete repairs with automatic recapture. No fabricated aesthetic score. |
External part editing | Group source meshes, edit or replace one part, independent locks, preserved untouched geometry, validated bake reuse and native material-only updates. |
Usage-aware preparation | Native geometry/material/texture/LOD measurements; mobile, scene and hero presets. Texture memory is labeled as an estimate; no inferred FPS. |
Optional model generation | Meshy text/image adapters or a documented self-hosted API, 1–3 candidates, saved remote IDs, preview → preparation → native import. Paid provider use is explicit. |
Say “Make and furnish a reading corner rotated 35 degrees”, “Only change this imported model's rim”, or “Compare this prop to our saved art reference and fix the specific differences.” Full v0.6 guide · Provider contract and test boundaries.
v0.5: existing models into game assets
Improvement | What is implemented |
Asset intake | Local GLB/glTF, FBX and Blender files, plus credited Poly Haven CC0 search/download. Models produced by another AI tool enter the same workflow. |
Game preparation | Retained original; size/axis correction; measured simplification; opaque PBR and source-normal baking; native Unity LODGroup / UE LODs; box/convex/no collision. Failed geometry budgets never enter the import queue. |
Better visual iteration | Three curated matching kits, three structural variants for each of nine recipes, consistent source studio framing, native before/after captures with a saved camera, and selection-driven recipe edits. |
Try: “Prepare this GLB for 8,000 triangles, make its largest dimension 1.5 meters, generate LODs and send it to Unity.” Or “Find a Poly Haven ceramic vase and show its prepared preview before importing.” File intake never bills generation services. The optional v0.6 generation adapter is a separate, explicitly selected workflow. Usage guide.
Six foundation authoring features
Feature | What it does |
Project art direction | Persistent Cozy, Heritage or Workshop defaults, palette, wear and quality. Adopt a retained recipe's style or bind existing engine materials without editing them. |
Designed prop library | Nine parametric recipes: crate, table, chair, sign, stool, bench, barrel, cabinet and shelf. Silhouette alternatives, bevels, supports and hardware. |
Automatic material preparation | UV generation and actual base-color, roughness, metallic and tangent-normal baking for curated wood/metal/paint/stone. Packed Unity metallic/smoothness maps and explicit UE material inputs. |
Semantic edits and locks | Change the backrest, seat, legs or other named parts. Geometry and material locks remain independent through whole-asset revisions. |
Contextual placement | Real scene bounds; around/along/under/right/front layouts, conservative overlap checks, optional under-anchor fitting, repeated instances and placement undo. |
Draft comparison | Two or three real 3D alternatives with studio/front/back views. Drafts stay outside engine assets and scenes; the chosen design is baked and published. |
These features are available through both AI hosts and the local workshop. Installed clients expose three entrypoints; game_workflow discovers and invokes all 69 tools. Legacy full discovery remains available for manual clients. Tool contract.
Refine by conversation
“Make a matching table, chair and cabinet set.”
“Make this chair's backrest 15% taller; keep the seat and legs.”
“Lock the backrest geometry before changing the project style.”
“Put four chairs around the table I selected, then show the actual engine preview.”
“Fit the stool under the selected table.”
“Tint only the selected instance green.”
“Undo that placement,” or “Restore this asset's previous model.”
Semantic edits update shared assets. Instance transforms and tints run directly in the editor. Revisions preserve native asset identity, existing instance transforms and tool-created tint overrides. Unity prefab-root components and Unreal Actor labels/tags survive. Save your scene normally.
Background jobs, exact-request receipts, cancellation, source history and engine PNG previews remain available. Source restore and instance undo have different scopes; neither provides whole-project rollback.
Supported scope
Static meshes, PBR with emission/alpha-cutout/ordinary alpha blending, Unity Built-in/URP, and UE native Static Mesh assets. Custom shapes use AI-authored Blender Python or existing GLB/glTF, FBX and Blender files. Each revision retains source/provenance and reports geometry/material/UV/budget checks.
Automatic baking covers recipe surfaces and common Principled PBR graphs. Refraction, mixed shaders, skeletal rigs/animation, HDRP and arbitrary Blueprint generation are outside this release. Image-to-3D requires an optional external provider; no inference model is bundled. Shape error uses bidirectional surface sampling, not a guaranteed maximum distance; inspect textures and silhouettes. Collision is approximate: UE falls back to a native 26-DOP convex hull with an explicit warning if decomposition produces no hulls. Recipe candidates are deterministic structural alternatives; service candidates depend on the provider. Layout supports upright yaw with conservative oriented bounds, not exact concave collision. Reports do not score beauty. Generated Python is trusted local code.
Asset contract · Unreal details · Authoring walkthrough in Chinese
Verification and development
Real Blender 4.2.0, Unity 2022.3.62f3c1 Built-in + URP 14.0.11, and Unreal 5.7.2 are exercised on macOS Apple Silicon. The tests cover baked maps, actual unchanged-part geometry, material reuse, identity, instance overrides, layout/undo, isolated drafts and native previews. Host tests invoke real Codex app-server and Harness ToolRuntime tools without an LLM request.
Portable Windows/macOS binaries are checked separately. Windows package checks do not establish Windows Unity/UE compatibility. Exact matrix and reproduction commands.
uv sync --locked
uv run prompt-to-scene-app
uv run pytest -q
uv run ruff check .MIT licensed. Contributions and reproducible engine compatibility reports are welcome.
Available Tools
69 toolsadapt_asset_materialsA
Preview a reference look on Unity prefabs or UE static meshes; selectively apply/undo material slots.
Reference can be a native material or model. Fields: color, roughness, texture_scale. Preview creates separate material/asset variants and real before/after renders. Inspect unsupported-field warnings; do not claim visual equality across different shaders. Apply uses selected row IDs, preserves geometry/textures, and refuses changed assignments.
Inputs: mode, paths, fields, plan_id, +2 more.
apply_usage_presetB
Prepare a retained source for mobile_prop, scene_prop or hero_prop with measured LODs.
Uses the preset's triangle budget, texture resolution and LOD ratios. Reduction may fail explicitly when its deviation limit cannot be met; existing imported geometry stays usable.
Inputs: asset_id (required), preset.
arrange_propsA
Place managed props relative to a selected real scene anchor, with collision checks/undo.
items: [{asset_id, count=1, object_id?}], up to 32 instances. Relations: around, along, under, right, front. fit can shrink under-anchor props. Uses oriented bounds for upright objects and any horizontal anchor yaw. Existing instances move, extra ones are duplicated. If inspection is queued, retry with inspection_request_id. If arrangement is queued, poll its exact request with get_task_status; do not submit the layout again.
Inputs: items (required), fit, gap, relation, +4 more.
build_assetA
Execute trusted bpy code in background Blender; save .blend and queue engine import.
Use stable asset_id (lowercase letters/digits/_/-) to update the same asset. Position is engine XYZ meters, applied ONLY when first placing the asset. Each script builds a complete asset from scratch. Delete default scene objects, create an Export collection, link meshes to it. Static PBR, emission and alpha mask/blend; supported designed graphs bake automatically. Unsupported materials fail explicitly. No paid model API or additional Blender MCP required.
Inputs: asset_id (required), blender_python (required), collider, position.
build_levelA
Plan/build/check/remove a connected modular level with real collision clearance.
settings: modules=[{cell:[grid_x,grid_y,floor],kind:room|corridor|stair,direction:0..3}], cell_size, story_height, door_width/height, player_radius/height, max_step, position, yaw. Directions: south/east/north/west. Stairs need a lower and upper connected landing. Max 24 modules. Disconnected/too-small plans fail before editor mutation. Native checking uses sampled standing capsules, not a baked NavMesh or a complete character-controller simulation.
Inputs: level_id (required), mode, settings.
cancel_taskC
Request cancellation. A native import already in progress may finish; check status.
Inputs: request_id (required).
capture_reviewA
Capture a native before/after comparison with identical saved camera framing.
Capture before, wait for completion, modify asset, then capture after with the same review_id and view. get_review lists capture tasks; get_preview(request_id) returns images. Engine project lighting remains visible; Blender source previews use the studio rig.
Inputs: asset_id (required), view, stage, review_id.
choose_variantC
Publish the selected draft at final quality with automatic textures and engine import.
Inputs: index (required), study_id (required), quality, position.
compose_sceneA
Build and furnish a small scene, or save/place a reusable layout in this project.
create builds a matching kit then places it around its table; selected upright anchors supply position/yaw. An explicit position is metres in engine axes. mode=save records selected instances (or asset_ids) as template; mode=place duplicates saved instances. Poll the returned workflow ID. Interrupted workflows resume without repeating completed stages. Result has undo_id. Arbitrary horizontal yaw is supported, tilted anchors are not.
Inputs: kit, yaw, mode, prefix, +4 more.
configure_asset_visionC
Configure an optional OpenAI-compatible vision endpoint. Credentials stay in the OS store.
Inputs: model, api_key, endpoint.
configure_interactionB
Attach/update door/chest/pickup behavior. Pivot/offset are local engine XYZ meters.
A door/chest requires a separate prepared moving asset. The first UE attachment converts the plain managed StaticMeshActor to a native Blueprint; later revisions keep that Actor.
Inputs: kind (required), asset_id (required), uses, angle, +9 more.
connect_projectB
Connect the chosen project for both clients and install its bridge with a backup.
Unity takes a project folder; UE takes a folder or .uproject. Restart UE after installation.
Inputs: project_path (required), blender_path, install_bridge.
create_interactive_propA
Build a door, chest or pickup with Blender geometry and native gameplay behavior.
Dimensions are width/depth/height in meters; position uses target engine axes. Retains separate base/moving meshes and a reusable Unity prefab or UE Blueprint. Poll this workflow until completed. Aim the game camera and press E for the optional demo, or bind your own input.
Inputs: kind (required), asset_id (required), color, position, +1 more.
create_propB
Create an art-directed prop using the saved project style and automatic PBR baking.
inspect_library lists nine recipes, parameters, parts and quality settings. Omit quality to inherit the project. New assets are placed near the camera; revisions keep transforms.
Inputs: kind (required), asset_id (required), quality, collider, +2 more.
create_prop_setB
Create up to eight matching designs with one saved style. Each needs kind and asset_id.
Optional fields: parameters, position, collider. Poll every returned task; after all imports use arrange_props for copies/placement. Partial submission reports already-started tasks.
Inputs: items (required).
create_style_kitB
Create a curated reading_corner, village_market or makers_workshop set.
Each uses matching art direction and purpose-designed structures, placed in a spaced row. A new prefix is required. Does not change project-wide defaults. Poll each task to imported.
Inputs: kit (required), prefix (required), quality.
create_variantsA
Generate two or three real 3D drafts with identical studio lighting and three views.
Drafts stay outside the engine assets/scenes. Use only when exploring alternatives is useful; normal create_prop publishes directly. Wait with get_variants, view get_studio_preview, and publish the user's chosen candidate with choose_variant.
Inputs: kind (required), asset_id (required), count, parameters.
describe_project_assetsB
Capture actual model thumbnails and metadata. Optional vision labels require a configured endpoint.
Without a provider, poll this job, call get_asset_evidence on each evidence request_id, inspect the image, then save_asset_description. Never claim content recognition from filenames alone.
Inputs: paths (required), allow_remote, use_provider.
design_assetA
Save/read an asset design tied to the game's context and reference notes.
Omit description to read. role: environment/interactable/hero. Supply concrete decisions (silhouette, structure, materials, story, avoid) derived from gameplay and world context. Default route is custom Blender modeling; specify recipe_kind only if a listed form fits. Build the same asset_id to retain this immutable brief with its source revision. Existing recipe revisions keep their original design; planning alone does not rebuild geometry. Follow the returned design, then inspect a real render. No model API or beauty score is used.
Inputs: asset_id (required), role, decisions, description, +2 more.
edit_imported_partA
Group, edit, lock or replace parts of an imported static model.
inspect_asset.report.parts lists source parts. members groups existing named parts into part. Changes: scale/offset/rotation XYZ in Blender Z-up, linear color RGB, roughness, metallic. replacement_path is a local GLB/glTF/FBX/BLEND fitted to the chosen part bounds. Unlock explicitly before changes. Untouched parts and engine instances retain identity. A single fused mesh is one part: this tool does not invent semantic segmentation.
Inputs: part (required), asset_id (required), changes, members, +3 more.
edit_prop_partA
Edit or lock one named part of a recipe or imported model; inspect_asset lists parts.
Changes: scale XYZ factors, offset XYZ meters, rotation XYZ degrees, color linear RGB, material wood/metal/paint/stone, roughness and wear. Part coordinates are Blender Z-up. Recipe transforms pivot at the bottom center; imported parts use their bounds center. Locks retain their saved geometry/material on later changes; explicitly unlock before changing locked properties.
Inputs: part (required), asset_id (required), changes, lock_geometry, +1 more.
edit_sceneA
Direct engine edit: transform, tint, ground or focus, without a Blender rebuild.
selected scope changes selected managed instances only. asset scope changes all LOADED instances of asset_id in this scene. transform values: move=[x,y,z] meters, rotate=[x,y,z] degrees, scale=[x,y,z] multipliers. tint values: color=[r,g,b] linear, optional material= original Blender material name. Result contains undo_id for restoring the edit.
Inputs: operation (required), scope, values, asset_id.
edit_selected_propA
Resolve the engine selection and edit a named recipe part without typing an asset ID.
Changes the selected asset's shared recipe (all its instances). Requires exactly one selected managed asset. If inspection is queued, resume with inspection_request_id. Imported static models also support named-part geometry/material edits and locks.
Inputs: part (required), changes, lock_geometry, lock_material, +1 more.
game_art_directionA
Read/save gameplay, world, style_notes, view and construction for this game.
Interpret the user's description with the current AI host; do not require a form. view: isometric/top_down/third_person/first_person. construction: handcrafted/salvaged/machined. Partial updates retain omitted fields. detail: auto/readable/balanced/closeup; match_game_style learns from actual reference images. Text guides custom modeling; structured choices also affect recipe geometry/surfaces. This changes future briefs, not already imported assets. Use set_project_style for palette.
Inputs: settings.
game_workflowC
One entry for a game-development task. Search/describe only the capability needed.
Start with context and find_assets/find_designs, then produce a saved plan containing recipe/custom/source/template/interactive items. A single task tracks building, importing, gameplay attachment, optional room furnishing and review. Retry with resume, not a new plan. review_images returns actual images; inspect them before saving feedback or repairing parts. Existing tools are also available by their exact action name through this gateway.
Inputs: query, action, values, operation.
generate_modelA
Generate 1-3 textured GLB candidates, then use the existing preparation/import pipeline.
Configure providers in the local app. Meshy consumes credits: allow_paid only when user authorization covers this provider/count. Self-hosted adapter implements docs/PROVIDERS.md. Optional 1-4 PNG/JPEG references. Default candidates stay outside the scene for review; publish_prepared selects one. Saved provider IDs survive interruption without resubmission. Cancellation stops local work; an already submitted provider task may still consume credits.
Inputs: prompt (required), asset_id (required), position, provider, +5 more.
get_art_referenceA
Return the saved reference image for client visual review; notes are in open_workbench.
Inputs: no named parameters.
get_asset_evidenceC
Return the native thumbnail that supports an asset description.
Inputs: evidence_id (required).
get_asset_statusA
Read an engine receipt, optionally wait up to 30s for a specific build request.
Pass the build's request_id to prevent stale success. A wait timeout remains queued/unknown; superseded means another revision is current. Imported includes paths, geometry and scene.
Inputs: asset_id (required), request_id, wait_seconds.
get_previewB
Return an engine PNG. Retry queued captures with their request_id.
For a completed playcheck with captures, view='before' returns the initial image; the default returns the post-interaction image.
Inputs: view, asset_id, request_id.
get_project_styleB
Read persistent art direction shared by Codex, Harness, new props and prop sets.
Inputs: no named parameters.
get_reviewC
Return before/after native capture task states without creating another capture.
Inputs: review_id (required).
get_studio_previewA
Return an actual Blender source render (studio/front/back), including isolated drafts.
Clearly label as Blender studio, not an engine screenshot. get_preview shows the game scene.
Inputs: asset_id (required), request_id (required), view.
get_task_statusB
Query or wait up to 30 seconds for any editor action, preview or build task.
Inputs: request_id (required), wait_seconds.
get_variantsC
Read each candidate's exact status, report and preview views; no aesthetic score.
Inputs: study_id (required).
import_assetA
Prepare and import local GLB/glTF/FBX/BLEND or a selected Poly Haven model.
source={provider: local, path: absolute_file} or {provider: polyhaven, id: catalog_id}. settings: triangle_budget, texture_size (256/512/1024/2048), max_deviation_percent, lod_ratios (decreasing list), collision (convex/box/none), target_size (largest dimension in meters), unit_scale, up_axis (auto or +/-X/Y/Z), ground. File importers honor format axes; up_axis is an explicit correction AFTER that conversion. Original file is unchanged. Common opaque Principled PBR graphs and glTF ORM inputs are baked; rigs/transparency/mixed shaders fail explicitly. preview_only makes an isolated prepared draft; use its source with publish_prepared when accepted. Poll the exact request, inspect report and before/studio views. Poly Haven downloads retain CC0 provenance. No generation service is billed.
Inputs: source (required), asset_id (required), position, settings, +1 more.
inspect_assetB
Read source script, recipe parameters and successful revisions before editing.
Inputs: asset_id (required).
inspect_libraryC
List curated styles, quality budgets, recipe parameters and semantic part names.
Inputs: no named parameters.
inspect_performanceA
Read actual native triangles, vertices, material slots, textures and LOD counts.
If queued, retry with request_id. Presets mobile_prop/scene_prop/hero_prop expose budgets. Texture bytes are an RGBA8+mip estimate, not measured VRAM. Shared meshes are identified; FPS and draw calls require an actual engine profiler and are never inferred here.
Inputs: preset, asset_id, request_id, wait_seconds.
inspect_sceneB
Read the active scene and actual selected managed props to resolve 'this object'.
Inputs: no named parameters.
inspect_targetC
Inspect engine, coordinates, Blender, editor heartbeat and pending/completed assets.
Inputs: no named parameters.
list_generation_providersA
List optional configured Meshy/self-hosted generation adapters; never return secrets.
Inputs: no named parameters.
list_projectsA
Discover saved/local projects, Blender and recipe defaults without a connection.
Inputs: no named parameters.
manage_asset_inboxC
Scan the designated source inbox, inspect jobs, or explicitly retry failed revisions. Originals are retained.
Inputs: mode, paths.
match_game_styleA
Recognize this project's look using actual images and the current AI host's vision.
First pass evidence IDs from describe_project_assets, or use_reference for set_art_brief's saved image. Returns the images and a source_token. Inspect them; then call again with that token and analysis using the returned schema. Applies inferred palette, material roughness, shape parameters, detail density and art notes to future designs. Confidence below 0.6 keeps current defaults. No external vision service is invoked and existing assets are not changed. The host interprets images; the tool validates/saves the interpretation, not a beauty score.
Inputs: analysis, evidence_ids, source_token, use_reference.
open_workbenchA
Show the unified task, selection, preview, generation and review workbench.
MCP Apps-capable hosts can display this in chat. Other clients can use all normal tools and the double-click local app; an embedded UI is never required for the workflow.
Inputs: no named parameters.
organize_project_assetsA
Automatically name/classify project assets through native Unity/UE moves; supports undo.
scan: inventory Assets or /Game, optionally one subfolder; poll get_task_status. plan: use scan_id equal to the completed scan request_id. settings: destination, rename (bool), group_by ('type' or 'source'), exclude (project paths), overrides ({old_path:semantic_name}), rules ({kind:{folder,prefix}}). inspect: paginated exact plan; history: recent plans. apply/undo: use the saved plan_id then poll. Applies collision-resolved names, verifies stale candidates, preserves GUID/native references and records inverse moves. Native files are saved; unrelated scene edits are not rolled back. Protected folders, scripts, scenes/data/unknown types stay in place with reasons. Unreal keeps required redirectors. Code/config string paths are not rewritten; exclude those resources. No model provider, visual AI guessing or paid calls.
Inputs: mode, limit, scope, offset, +3 more.
prepare_assetB
Reprocess an imported asset from retained source with measured simplification and LODs.
Uses import_asset settings. A failed error/budget check queues nothing. Existing engine identities/instances survive successful reimport. Geometry locks apply to recipe edits; explicit preparation may reduce geometry. Review source before/studio and engine captures.
Inputs: asset_id (required), settings.
project_conventionsC
Read/save shared naming, folder, preparation and intake defaults, or suggest prefixes from a native scan.
Inputs: mode, scan_id, settings.
protect_assetB
Inspect/set/clear custom material overrides and persistent root attachment points.
bindings: [{slot, material_path}] in Assets/ or /Game/. sockets: [{name, position, rotation}] use engine XYZ meters/degrees. Missing protected slots block later imports. Generated material property edits and arbitrary generated hierarchy changes are outside the preservation contract.
Inputs: asset_id (required), mode, sockets, bindings.
publish_blendB
Publish the Export collection of an existing saved .blend without modifying the original.
Use this after another Blender tool has modeled and saved an asset. Same material contract and queued/result semantics as build_asset. Blender file auto-execution is disabled. Use publish_prepared for a reviewed import_asset preview to retain preparation/provenance.
Inputs: asset_id (required), blend_file (required), collider, position.
publish_preparedB
Send an accepted isolated import_asset preview to the engine, retaining its original.
Pass the completed preview's asset_id and request_id. Materials, LOD settings and source attribution survive publication; the retained original remains available for reprocessing.
Inputs: asset_id (required), request_id (required).
repair_qualityA
Apply a concrete part repair to a completed quality review, then recapture and recheck.
At most two repairs including automatic grounding; rejects assets changed outside this review. Wait for the returned review request, then inspect its fresh before/after images.
Inputs: part (required), changes (required), request_id (required).
restore_assetC
Reimport a previous successful source, retaining scene instances.
Inputs: asset_id (required), revision.
resume_workflowC
Resume an interrupted composition, quality or generation task using its saved stages.
Inputs: request_id (required).
reuse_project_assetB
Preview or place an existing project model/prefab/Blueprint by its returned native path.
Reuses the original native asset; does not duplicate asset files or claim new authorship. get_preview(request_id) reads the preview PNG after the action completes.
Inputs: path (required), mode, position.
review_asset_updateD
Read native protected slot conflicts before publishing a completed prepared candidate.
Inputs: asset_id (required), candidate_request_id (required).
review_qualityB
Measure native issues and capture same-camera before/after with a two-repair limit.
auto_fix aligns to a detected collision surface only when the measured gap is <=0.5m. Visual findings need client vision, using get_preview and get_art_reference. No aesthetic score or visual-pass claim is generated. repair_quality applies concrete part edits and refreshes the comparison automatically. Poll the exact workflow via get_task_status.
Inputs: asset_id (required), preset, auto_fix.
revise_propA
Change shared recipe dimensions or apply the current project style; preserve locked parts.
This changes every instance using this asset. For one instance use edit_scene instead. apply_design uses this asset's saved design_asset brief, including construction details. Omit it to retain the original design. Geometry/material locks remain independent.
Inputs: asset_id (required), quality, parameters, apply_design, +1 more.
run_playcheckB
Run interaction/range/geometry and optional level-clearance checks in real Play/PIE.
Requires Edit mode. Restores Edit mode after completion/cancellation; existing game scripts run normally. Poll the same ID; inspect development.passed, checks and warnings. Frame deltas are measured on this editor/machine, not a target-device benchmark. No paid AI is used.
Inputs: capture, duration, level_id, asset_ids.
save_asset_descriptionA
Index a visual description: name, object_type, description, materials[], style, uses[], confidence.
Keep uncertainty visible. Only set corrected for an explicit user correction. Corrections are protected from later automatic runs. This updates search metadata, not native filenames. To rename, use the saved name as an organize_project_assets override for the selected path.
Inputs: description (required), evidence_id (required), corrected.
search_assetsA
Search CC0 Poly Haven models by English tags; returns credited sources and thumbnails.
Uses a cached catalog, no API key. Choose a result and import_asset with source={provider: polyhaven, id: returned_id}. Search never downloads model files.
Inputs: limit, query, offset.
search_project_assetsA
Index project meshes/prefabs, then rank names, tags, materials, notes and desired size.
First call queues the native index. Poll then call again with the same request_id and query. Returns paths, dimensions, measured geometry and declared license. Preview before placement using reuse_project_asset(mode='preview'). This is local keyword search with Chinese aliases.
Inputs: size, limit, query, request_id.
set_art_briefC
Persist a reference image and art direction; optionally adopt a recipe style/palette.
Use the client's vision for interpretation. Images are reference evidence, not a claim of automatic style extraction or reconstruction. Existing assets require explicit edits.
Inputs: notes, overrides, image_path, reference_asset.
set_project_styleA
Remember art direction for future assets; existing assets change only on explicit revision.
Presets: cozy, heritage, workshop. Quality: draft/mobile/desktop/hero. Overrides: palette (wood/metal/paint/stone linear RGB), roundness/taper/wear 0..1, material_bindings (role -> existing Assets/ or /Game/ material path). Reused materials remain untouched. reference_asset adopts an existing recipe's style. Use client vision for reference images, then propose concrete palette/shape values; this tool does not reconstruct images.
Inputs: preset, quality, overrides, reference_asset.
set_scene_lookA
Apply/inspect/capture/restore warm_cartoon, cool_scifi, moonlit or neutral scene lighting.
Owns a native lighting/sky/post-process/camera rig; saves prior lighting for restore. The presentation camera stays fixed across preset changes. Poll request; get_preview(request_id) reads captures. Existing scene lights are disabled while the owned look is active.
Inputs: mode, preset, position.
tag_project_assetC
Save searchable local annotations and user-declared source/license for an asset path.
Inputs: path (required), tags, notes, source, +1 more.
undo_scene_editC
Restore a tool edit's instance transforms/material overrides in its original scene.
Inputs: undo_id (required).
workbench_actionD
Perform a workbench button action. Uses the same validated workflows as normal tools.
Inputs: action (required), values.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 69 tools
Heavy overlap across creation tools (create_prop, create_prop_set, create_variants, generate_model, build_asset, design_asset, create_style_kit, create_interactive_prop), editing tools (edit_scene, revise_prop, edit_selected_prop, edit_prop_part, edit_imported_part, adapt_asset_materials), and publish/review tools (publish_blend vs publish_prepared vs import_asset; capture_review vs review_quality vs repair_quality vs get_preview vs get_studio_preview). Long descriptions help somewhat but an agent must read carefully to pick correctly. Boundaries are genuinely blurred between many of these.
Almost everything follows a snake_case verb_noun pattern (create_prop, edit_scene, inspect_asset, list_projects, get_preview). A few noun-phrase names deviate (game_art_direction, project_conventions, game_workflow, open_workbench), but the convention is otherwise predictable and readable.
69 tools is far beyond what any single-purpose server should expose, and the surface splits one pipeline across many near-duplicate verbs. The count alone would be an extreme mismatch even for a broad asset pipeline, and overlap compounds the problem.
Coverage of the game-asset lifecycle is unusually thorough: create, design, import, prepare, edit, arrange, review, performance-check, protect, resume, undo and restore are all present. Minor gaps exist (no explicit asset deletion or PR-like review-comment analog), but agents have workarounds.
Maintenance
Related MCP Connectors
Blender-as-a-service for agents: search 3D assets, run Blender Python, or brief the studio agent.
Connect your AI assistant to Blender for 3D modeling, Geometry Nodes, materials, lighting, animation, rendering and export. Inspect real scenes and viewport images, refine the result and restore checkpoints. OAuth connects your chat to Blender Bridge Desktop on an online Windows 10/11 x64 computer running Blender 4.2+. The chat can run on another device. Requires an active Blender Bridge account; 7-day trial available. AI model access is separate.
Control Unreal Engine to browse assets, import content, and manage levels and sequences. Automate…
Build, test, publish, and run Kovca workflows from AI agents over remote MCP.
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables AI assistants to control Blender via MCP tools for scene manipulation, material assignment, rendering, and Python script execution.227121 PyPI34MIT
- AlicenseAqualityCmaintenanceEnables AI assistants to control a Blender instance through MCP tools, supporting scene creation, editing, and asset exchange via HTTP and background CLI processes.26Apache 2.0
- AlicenseCqualityBmaintenanceEnables AI agents to build game assets in Blender by modeling, lighting, rendering previews to inspect and correct, validating against engine budgets, and exporting to GLB/FBX.126MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to drive a live Blender session over MCP by creating and transforming primitives, building and assigning materials, inspecting scenes and objects, capturing viewport screenshots, and executing arbitrary bpy Python. Commands are relayed over a local TCP bridge to a Blender add-on and executed on Blender's main thread, supporting multiple simultaneous AI clients.MIT