Skip to main content
Glama
649,985 tools. Updated 2026-10-10 16:53

"Blender" matching MCP tools:

  • Run arbitrary Blender Python (bpy) against a base revision and commit the result as a new immutable revision. Policy-gated: an owner must enable scripting on the deployment first. Runs in a credential-free, network-restricted throwaway container; the runner loads the scene before your script and commits it after. Assign a JSON-serializable value to a variable named `result` to get it back in job_get result.scriptResult with full finite JSON retained in an immutable report up to 8 MiB. Use job_report section=report for complete stored bytes; non-JSON or oversized results are explicitly unavailable. The result variable is not predeclared: no assignment records hasResult=false, while result=None records hasResult=true with JSON null. print() output returns as result.scriptStdoutTail — both are returned in the job_get/job_wait text, so use them for introspection instead of encoding findings into object names. A script that raises commits NOTHING: the revision is only written after the whole script succeeds, so failures leave the base revision untouched. The runner evaluates the depsgraph before your first statement, so world transforms of pre-existing objects are correct on entry; objects your script CREATES keep an identity matrix_world until you call bpy.context.view_layer.update(), so measure world positions only after that call — otherwise obj.matrix_world reads zeros and any floor, bounds or framing number you derive from it is silently wrong. The environment is FIXED (Blender 5.2 LTS) — verify identifiers with docs_bpy_lookup (free, instant) instead of a probe job. Call docs_operations FIRST: the validated DSL already covers 298 operations including booleans, lathe, loft, UV unwrap, modifiers, materials, lights, cameras and render settings, and scene_apply is cheaper and safer for all of them. Reach for scripting only for shader node graphs, novel parametric generators, and computation.
    Connector
    Destructive
    API key
  • Create a project from a template. Choose executionEngine=ngplant for plants and procedural vegetation; use vegetation_create/edit to author its native model, while Blender packages standard previews and exports. Blender is the default for other scenes. Returns a stable liveUrl for signed-in users to watch job progress and completed previews, plus a durable job handle. Share the returned liveUrl with the user immediately as a clickable Markdown link in a progress message, before waiting for initialization or building the scene. Use the exact returned URL and mention that sign-in is required. Do not wait until the final render; an empty project shows progress before its first preview exists. Poll job_get — the first immutable revision exists once the job completes. template=empty skips preview generation by default, because an empty scene's preview is a 132-byte GLB of nothing and a blank thumbnail; generatePreview overrides that in either direction.
    ConnectorAPI key
  • Validate a revision against a profile; returns issues with codes, severities, and suggested candidate operations. Default: synchronous, from the stored scene summary. deep=true opens the scene in Blender for real mesh analysis (non-manifold, watertight, degenerate, overhangs) and returns a job handle (idempotencyKey required). General deep validation checks evaluated watertightness (open surfaces warn) and zero-area faces/zero-length edges (errors). additionalChecks can add interior_faces and uv_layers. The queued response states requested coverage; completed reports state actual object counts and skipped/partial checks, including pair-budget limits. intersectionMaxPairTriangleWork can raise cumulative pair work from 8 million to at most 64 million; time and memory caps stay fixed. Validation can be scoped with objectNamePattern/excludeNamePattern. intersectionMaxDepthSamples separately raises optional penetration sampling from 32,000 to at most 256,000 within the same time cap. Sampling completion is separate from candidate-pair coverage. resumeFrom with deep=true continues remaining depth samples on the source's exact revision/settings without repeating collision detection. Only the per-job depth sample budget may change; historical reports without checkpoints cannot resume. Repair suggestions can be alternatives: read suggestedOperationsMode and suggestedOperationsNote before applying them. job_get/job_wait return checked totals plus reportArtifactId. Use job_report with this jobId for complete summary totals and ordered issue/object/print-object pages or section=report for all JSON bytes. Inline details may be truncated; profile three_d_print carries a print report (dimensions mm, volume, filament estimate, bed fit). If a deep run does not give you what you need, mesh.analyze_quality is the SECOND route to the same class of measurement: it reports non_manifold, zero_area_faces, degenerate_edges, sharp_angles, stretched_uvs and interior_faces, and it runs INSIDE a scene_apply batch, so you can measure and repair in one job. A build whose deep validation returned nothing downloaded the GLB and wrote its own topology checker instead, because nothing said this existed.
    ConnectorAPI key
  • Change execution limits, approvals or scripting for an existing deployment; omitted fields remain unchanged. Requires owner/admin and deployments:admin scope for narrowed credentials; only the owner may toggle dangerousScriptingEnabled. May restrict future work or enable arbitrary Blender Python. Validates platform and plan ceilings, records a policy version, and rejects concurrent policy edits. Use deployment_update to rename or enable/disable the workspace, or deployments_list to find its slug. Returns policyVersion and scriptingEnabled.
    Connector
    Destructive
    API key
  • Generate a 3D mesh (GLB) with Tripo3D from a reference image (image-to-3D) or a text prompt (text-to-3D). Use when the user wants a 3D model, mesh, game asset, printable object, VTuber/character base, or "turn this picture into 3D". Pass `image_url` (a GCS url from `popcraft_media_import_url`, `popcraft_media_upload`, or a prior `popcraft_generate_image` result) for image-to-3D — a single clean subject on a plain background, front or 3/4 view, works best; for a character use an A-pose/T-pose front view. Omit `image_url` and pass `prompt` for text-to-3D. Defaults: `model_version` "tripo-v2.5" (best quality/cost), `texture` true, `pbr` true, `quad` false (triangles — set true for a quad mesh that is easier to edit/rig in Blender; Tripo then returns FBX), `geometry_quality`/`texture_quality` "standard" ("detailed" costs more). `smart_low_poly` produces a game-ready low-poly mesh. `style` applies a Tripo preset (e.g. "person:person2cartoon", "object:clay", "object:steampunk") — list them via `popcraft_models_explore` with `type:"3d"`. Set `get_cost:true` to preflight the exact credit cost WITHOUT submitting — always do this the first time so the user can confirm. Generation takes ~1–3 minutes. On success an interactive result card is shown and refreshes itself — do NOT poll in a loop; call `popcraft_job_display` at most once if no card is visible. The finished result URL is a downloadable GLB (or FBX when quad=true) that also appears on the Popcraft /model-3d workspace, where it can be refined further with `popcraft_postprocess_3d` (retopology, retexture, stylize, mesh completion, format conversion). The result includes `project` — mention where it was saved when the user did not pick a project. Never tell the user how long the job will take or quote any estimate of generation time — the result card shows progress.
    ConnectorOAuth
  • Run a Tripo3D post-process on an existing Popcraft 3D model: "convert_model" (export FBX/OBJ/STL/USDZ/GLTF/3MF, optional quad + face_limit + texture_size — the cheap way to get a Blender-friendly FBX (fbx_preset "blender") or a decimated mesh; the source is already a GLB, so use FBX/GLTF rather than GLB as the target), "highpoly_to_lowpoly" (retopologize to a low-poly game/rig-ready mesh, params quad/face_limit/bake), "refine_model" (upgrade a draft to higher detail), "texture_model" (re-texture with texture_prompt / style_image_url, texture_quality, pbr), "stylize_model" (style "lego" | "voxel" | "voronoi", block_size 32–128), "mesh_segmentation" (split into named parts), "mesh_completion" (fill holes; optional part_names). `source` is the `job_id` returned by `popcraft_generate_3d` / `popcraft_job_display`, or a 3D asset id from the /model-3d workspace — only Tripo-generated models can be post-processed. `params` is the per-operation object described above (omit for defaults). Set `get_cost:true` first to preflight the credit cost WITHOUT submitting — refine/stylize/completion/lowpoly are variable-cost and reconcile to Tripo's actual usage on completion. On success an interactive result card is shown and refreshes itself — do NOT poll; call `popcraft_job_display` at most once if no card is visible. The output is a new 3D asset (lineage-linked to the source) whose URL you can download or import into Blender. Never tell the user how long the job will take or quote any estimate of generation time — the result card shows progress.
    ConnectorOAuth

Matching MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    MCP server for AI-assisted Blender automation, providing layered tools for perception, declarative and imperative writing, and fallback operations.
    29
    32 PyPI
    5
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Connects Blender 3D to AI assistants via the Model Context Protocol, enabling natural language driven 3D scene creation, manipulation, and rendering.
    15
    MIT

Matching MCP Connectors

  • Blender-as-a-service for agents: search 3D assets, run Blender Python, or brief the studio agent.

  • Blender cloud GPU render farm for AI agents (MCP/API): .blend, bpy, glTF/FBX/USD in; frames/MP4 out

  • Returns a partial-pressure blending plan from what a cylinder holds to a target mix and pressure: bleed, helium, oxygen and top-up steps with the gauge pressure to stop at, the mix after each step, the cooling step, the mix achieved, the gas drawn from each bank and alternative plans. Use this when a diver or blender asks how to fill nitrox or trimix ("fill my twin 12s to 21/35 from 60 bar of 18/45") or whether their banks can reach a mix. Not for a fill already done (mix_result), continuous-flow blending (blend_continuous) or decanting (decant). current is the cylinder as analysed now: oxygen_pct, helium_pct, pressure, and preset or cylinder_size as in plan_dive (default AL80 size). target: oxygen_pct, helium_pct, pressure. banks default to unlimited air, oxygen and helium; a finite bank needs pressure and cylinder_size together. A target the banks cannot reach returns feasible false with the reason and the partial plan, not an error. To verify, send mix_result_current and mix_result_additions to mix_result; then gas_specs, and plan_dive with the analysed mix. Oxygen above 40% needs oxygen-clean equipment and blender training. No engine call. Example: {"current":{"oxygen_pct":21,"pressure":50,"preset":"twin_12l"},"target":{"oxygen_pct":21,"helium_pct":35,"pressure":220}}
    ConnectorNo auth
  • Generate a 3D mesh (GLB) with Tripo3D from a reference image (image-to-3D) or a text prompt (text-to-3D). Use when the user wants a 3D model, mesh, game asset, printable object, VTuber/character base, or "turn this picture into 3D". Pass `image_url` (a GCS url from `popcraft_media_import_url`, `popcraft_media_upload`, or a prior `popcraft_generate_image` result) for image-to-3D — a single clean subject on a plain background, front or 3/4 view, works best; for a character use an A-pose/T-pose front view. Omit `image_url` and pass `prompt` for text-to-3D. Defaults: `model_version` "tripo-v2.5" (best quality/cost), `texture` true, `pbr` true, `quad` false (triangles — set true for a quad mesh that is easier to edit/rig in Blender; Tripo then returns FBX), `geometry_quality`/`texture_quality` "standard" ("detailed" costs more). `smart_low_poly` produces a game-ready low-poly mesh. `style` applies a Tripo preset (e.g. "person:person2cartoon", "object:clay", "object:steampunk") — list them via `popcraft_models_explore` with `type:"3d"`. Set `get_cost:true` to preflight the exact credit cost WITHOUT submitting — always do this the first time so the user can confirm. Generation takes ~1–3 minutes. On success an interactive result card is shown and refreshes itself — do NOT poll in a loop; call `popcraft_job_display` at most once if no card is visible. The finished result URL is a downloadable GLB (or FBX when quad=true) that also appears on the Popcraft /model-3d workspace, where it can be refined further with `popcraft_postprocess_3d` (retopology, retexture, stylize, mesh completion, format conversion). The result includes `project` — mention where it was saved when the user did not pick a project. Never tell the user how long the job will take or quote any estimate of generation time — the result card shows progress.
    ConnectorOAuth
  • Run a Tripo3D post-process on an existing Popcraft 3D model: "convert_model" (export FBX/OBJ/STL/USDZ/GLTF/3MF, optional quad + face_limit + texture_size — the cheap way to get a Blender-friendly FBX (fbx_preset "blender") or a decimated mesh; the source is already a GLB, so use FBX/GLTF rather than GLB as the target), "highpoly_to_lowpoly" (retopologize to a low-poly game/rig-ready mesh, params quad/face_limit/bake), "refine_model" (upgrade a draft to higher detail), "texture_model" (re-texture with texture_prompt / style_image_url, texture_quality, pbr), "stylize_model" (style "lego" | "voxel" | "voronoi", block_size 32–128), "mesh_segmentation" (split into named parts), "mesh_completion" (fill holes; optional part_names). `source` is the `job_id` returned by `popcraft_generate_3d` / `popcraft_job_display`, or a 3D asset id from the /model-3d workspace — only Tripo-generated models can be post-processed. `params` is the per-operation object described above (omit for defaults). Set `get_cost:true` first to preflight the credit cost WITHOUT submitting — refine/stylize/completion/lowpoly are variable-cost and reconcile to Tripo's actual usage on completion. On success an interactive result card is shown and refreshes itself — do NOT poll; call `popcraft_job_display` at most once if no card is visible. The output is a new 3D asset (lineage-linked to the source) whose URL you can download or import into Blender. Never tell the user how long the job will take or quote any estimate of generation time — the result card shows progress.
    ConnectorOAuth
  • Prepare a model for an animated walkthrough / video export by verifying the manifest is complete, then starting a secondary Model Derivative job that produces OBJ geometry (suitable for ingestion into offline rendering pipelines, Blender, or Unreal Engine). Also returns the list of available named views so the operator can stitch them into a camera path. Does NOT itself produce an mp4 — video encoding happens in the downstream UE/Twinmotion pipeline. When to use: when a user wants a walkthrough/flythrough video of a BIM model (e.g. 'make a 30-second tour of Tower A') — this tool gets the geometry into a UE-ingestible form (.obj, plus suggests FBX/glTF/USD naming like TowerA_walkthrough.fbx for the exported asset) and enumerates named views to guide camera path authoring. When NOT to use: not to actually encode video (no runtime renderer in this worker — output must be finished in Unreal/Twinmotion/Blender), not before tm_import_rvt, not if the manifest is still 'inprogress' (the tool will short-circuit and return status='pending'). Not for still images (use tm_render_image) or clash animations (use navisworks-mcp). APS scopes required: data:read data:write viewables:read. Write scopes are needed because this kicks off a new Model Derivative translation job (OBJ + thumbnail). Rate limits: APS default ~50 req/min; Model Derivative translation jobs ~60 req/min. OBJ derivatives of large BIM models can be multi-GB and take 10–45 min — rely on manifest polling with exponential backoff, not re-calling this tool. Errors: 401/403 = token/scope (data:write commonly missing); 404 = URN not found; 409 = OBJ derivative already queued (treat as success); 422 = input format does not support OBJ output (some IFC variants / proprietary formats — fall back to FBX/glTF via a different derivative format); 429 = back off 60s; 5xx = APS upstream. Side effects: STARTS a new translation job on an existing URN (consumes APS cloud credits). Writes usage_log. NOT idempotent per-call (each call creates a new job record), but APS will dedupe identical output requests internally if manifest already contains the derivative.
    ConnectorNo auth
  • Check what the account can do right now: whether Blender execution (renders, scene edits, imports) is available, compute budget usage, open job counts, and the bound deployment's policy limits. Also returns the versioned live snapshotPolicy when cached tool descriptions differ. Call before queueing work to fail fast.
    ConnectorAPI key
  • Returns the mix and pressure a cylinder ends with after gases are added in order: each addition's pressure and mix before and after, the cooling step, and the final O₂ %, He % and pressure. Use this when a diver or blender asks what a fill produced ("50 bar of air, 40 bar of oxygen, then air to 200"), or to check a plan_blend plan: send its mix_result_current as current and its mix_result_additions as additions. Not for planning toward a target (plan_blend) or joining two cylinders with a whip (decant). Pressures are gauge (bar or psi, per units); mixes are O₂ % and He %. environment sets altitude and the ambient and fill temperatures (defaults sea level, 20 °C, fill equal to ambient); a hot fill settles lower. Real-gas mixing. Analyse the cylinder once it has cooled: the analysed mix, not this one, goes into plan_dive. No engine call. Example: {"current":{"oxygen_pct":21,"pressure":50},"additions":[{"oxygen_pct":100,"pressure_added":35},{"oxygen_pct":21,"pressure_added":115}]}
    ConnectorNo auth
  • Queue a bounded Blender recipe, never arbitrary Python. Saves GLB and .blend in the workspace as an unvalidated work version with a shared Scene Studio link. Read gripforge_scene_schema for recipe fields. Supports original primitive/custom meshes, PBR colors and keyed transforms. Poll gripforge_generation_read; final visual approval must use GripForge rendering, not Blender screenshots.
    ConnectorNo auth
  • Create a NEW private draft character/enemy from a completed creature analysis and optional corrected anatomy. Blender builds the skeleton, surface-smoothed skin weights and procedural starting/diagnostic clips. Grounded leg chains get in-place walk/run with IK. Returns job_id; poll gripforge_generation_read for the Character Studio link, skinned GLB, editable .blend, anatomy and deformation report. Never automatically replaces or validates the source. Every anatomy proposal requires explicit review; use generation_cancel/retry to control durable work. Finger/facial authoring and finished combat choreography are outside v1. 0 GripForge credits.
    ConnectorNo auth
  • Long-poll a job until it reaches a terminal state or the timeout elapses. Default 90s, which is what a cold-starting Blender container usually needs; up to 300s is accepted but read the parameter note first, because a long single call trades round trips for connection risk. Cheaper than a job_get loop; chain calls for longer jobs, or register a webhook (webhooks_set) and stop polling altogether. Validation results include a complete aggregate report summary plus exact job_report continuations; result retains the compatible inline sample. Inspect report.inlineComplete and coverageComplete; truncated details or skipped checks never establish full coverage.
    ConnectorAPI key
  • Repair generated automotive surfaces. Preferred: source (immutable static GLB with Body/Wheel_* groups) + repair recipe queues a persistent Blender job; guided glazing/panel regions, paint cleanup, coloured caliper extraction, measured replacement panels/curves with PBR and fitted boundaries, optional rebuilt wheels and rigid wheel rig. features.marks adds surface-fitted pinned PNG logos, relief badges and mesh lettering; wheel markings follow their wheel, named authored marks are replaced in the new work copy. For grilles or trim on a reconstructed recess, set curves.fitSurface.panel to its non-structural panel name to follow the final part. Returns a NEW private work version with GLB/Blend/optional FBX and GripForge review link. Does not promote or overwrite the source. Regions use +Y up/+Z forward metres, bounded displacement; region-only glass stays opaque, authored transmissive panes need an authored cabin. Poll/cancel/retry generation-jobs. 0 provider credits. Legacy id without repair uses one-time material/wheel finish and rewrites its Library file.
    ConnectorNo auth
  • Apply a batch of validated scene operations to a base revision. Mutating batches commit atomically into one new immutable revision (or nothing); query/select-only batches still execute in Blender and return operationResults, but create no revision and do not move the project head. Returns a durable job handle. Call docs_operations FIRST to see the vocabulary: there are 298 operations covering mesh editing, booleans, lathe/loft/sweep, curves, UV unwrap, modifiers, materials, lights, cameras, render settings, geometry nodes, and batch/query helpers — most modelling needs no scene_script at all. Prefer this over scene_script: operations are validated before dispatch and cost less.
    Connector
    Destructive
    API key
  • Read vehicle_schema first. Recommended recipe.workflow=body_wheels follows concept → references (five wheel-less body views + wheel) → geometry (stop/review) → topology (stop/review) → build (PBR + wheel + rig). Each geometry review uses scene_review with the returned assetRef and must be approved before the next paid step. Rigging preserves UVs and corner normals, GLB/FBX/Blend and measured Chaos setup. Top view is review-only. parts.body.geometry accepts unfinished Hunyuan/Blender GLB; parts.body.topology pins the reviewed reduced GLB; parts.<role>.source reuses finished meshes. Legacy modular_doors remains available for articulated doors. stage=plan quotes each stage without spending; paid stages require its budget. Durable job; poll generation_read. Work draft, real-render review and target-engine driving test required; no automatic publication/replacement.
    ConnectorNo auth
  • Search the free GLB catalogue on 3dassets.dev (three.js, Blender, Godot, Unity) by text, category (what it is), theme (what world) and style (what look). Returns direct CDN URLs (CORS *, immutable) that load with a plain GLTFLoader. Published models use CC0 1.0 Universal: free personal and commercial use without attribution. Licence metadata is retained in each result.
    ConnectorNo auth
  • Read the reusable creature anatomy/rig workflow, coordinate contract, limits and export formats. Detect anatomy before authoring; source GLB, asset instances and draft rig stay separate. Blender is the worker, GripForge is the review renderer.
    ConnectorNo auth
  • Finalize bytes sent to the signed PUT URL from upload_create: verify size/checksum, quarantine the asset and queue validation. Returns uploadId, assetId and quarantined/validated/rejected status; call again with the same uploadId to check deferred validation. Only validated assets may be used by asset_import or material tools. This does not import into a scene or return a Blender job.
    ConnectorAPI key