727,998 tools. Updated 2026-10-31 08:07
"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.ConnectorDestructiveAPI key
- A re-uploaded Blender model is always its latest version; the user's projects keep the meshes they have until asked. This tool asks and answers that one question: choice update_projects without reportId shows which projects and entity templates use an older version (or an earlier import of the same file) and what changed; with the reportId and the projectIds / entityTemplateIds the user chose, it moves just those to the current version. Which ones move is the user's choice; "not now" means no call. Parts are matched by Blender OBJECT name: each takes its new mesh and placement; when only its shape changed it keeps the project's materials and the edits made to them in R3, when its materials changed in Blender it takes Blender's materials, and edits made in R3 to its materials are replaced. Objects new in the model are added under the copy's root Empty, parts the model no longer has are kept (removeGone: true removes them). Published releases never change. The plan only reads; moving projects needs the blender:update right.ConnectorDestructiveNo auth
- A one-time link to upload a local file into the media library, for a client that can run a command (Claude Code, Codex, Cursor): PUT the file to uploadUrl with the returned Content-Type (the result includes the curl command), then call import_media with url set to the returned mediaUrl. A Blender scene (.blend, contentType application/x-blender) is the exception: it skips import_media and its mediaUrl goes into a Blender Render node's Blend file field. The link expires in 15 minutes and signs one content type. If you cannot run a command, do not call this: ask the person to drop the file into their Treza library in the web app and find it with list_assets. Needs the pipelines:write scope. Spends no credits.ConnectorAPI key
- Start the authenticated Desktop-to-Blender Bridge service on the receiving computer. Requires existing account access and may start Desktop first. Reuses a healthy Bridge; recovery can stop and replace an unhealthy owned Bridge process, interrupting its connections. Returns the control action's status. Use when the user needs the Bridge running; get_app_state or check_connection inspects status without starting it, stop_bridge stops it, and open_blender separately launches Blender.ConnectorDestructiveOAuth
- App-only adapter for the panel's Restore and Undo restore buttons, used after the user chooses a history entry. Replaces the current scene with a checkpoint and can discard subsequent manual or AI edits. Supply checkpoint_id or before_request_id from the history records. undo_restore also requires expected_current_checkpoint_id to reject a changed current scene. Returns updated history and the restore result; cross-file restoration is refused. Use view_history to read the panel history, or scene_checkpoints for model-driven history actions.ConnectorDestructiveOAuth
- 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
Matching MCP Servers
- AlicenseAqualityDmaintenanceMCP server for AI-assisted Blender automation, providing layered tools for perception, declarative and imperative writing, and fallback operations.2964 PyPI6MIT
- AlicenseAqualityDmaintenanceConnects Blender 3D to AI assistants via the Model Context Protocol, enabling natural language driven 3D scene creation, manipulation, and rendering.15MIT
Matching MCP Connectors
- Blender BridgeOAuth
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.
- WillItBlenderOAuth
Blender-as-a-service for agents: search 3D assets, run Blender Python, or brief the studio agent.
- 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
- 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
- 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.ConnectorDestructiveAPI 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
- 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
- Delete one of the account's images, models, audio files, Blender models (kind blender: a whole uploaded .blend with every version; its meshes in use stay) or texture sets (kind textureSet: the set and its maps, r3_texture_create made it) — the same reference-guarded delete as the R3 app. With asset:delete:created, only an asset YOU created (this agent key or app connection; today: images made with r3_image_create); with asset:delete:owned, any of the user's assets, and only when the user asked for it: pass owned: true for one you did not create (an app connection is then asked for that right). Two calls, every time: without `confirm` nothing is deleted, and the answer says what would go and which of the user's projects use it; the same call with `confirm: true`, when that is what the user wants, deletes it. An asset another user's project uses can never be deleted. A model takes the images only it used with it, an HDR / EXR image its preview image. There is no trash and no undo. Ids come from r3_image_list, r3_audio_list and r3_blender_list.ConnectorDestructiveNo auth
- Close and relaunch the selected receiving Blender with its Blender Bridge extension after the user requests or agrees to a restart. Can interrupt current work; unsaved changes may require confirmation inside Blender. Desktop may start if its control service is unavailable. Returns restart/control status, not a completed scene. Use get_setup_status for passive diagnosis or ensure_blender_extension for installation/repair without requesting a full restart.ConnectorDestructiveOAuth
- Save a .blend copy of the current complete scene to the requested project destination while preserving the open project and its unsaved state. The destination options choose the project folder and filename; operation_name supplies the user-facing history title. Replacing an existing output requires explicit overwrite authorization. Returns copy/output status, possibly a running request_id for work still in progress. Use get_project_file to retrieve an existing result or export_model for an interchange format instead of a Blender scene file.ConnectorDestructiveOAuth
- App-only adapter for the connection panel's Sign in button, used after an explicit user click. A local/native connection creates a browser sign-in flow and returns its connection URL; the hosted connector returns an authentication challenge for the chat host. Credentials are entered only on the Blender Bridge account website, never as tool arguments. Starting another local flow can replace the pending flow. Models should use get_connection to inspect access; start_auth is the separate receiving/standalone MCP sign-in action.ConnectorDestructiveOAuth
- Show one of the user's OWN images, audio files or texture sets in the R3 Community, or hide it again: the same switch as 'Show in Community' in the R3 app. public: true makes it visible to every R3 member, who can then find it in the Community lists and use it in their own projects; public: false hides it again (call this tool again with public: false to undo). A texture set is shown or hidden with all its maps; a map of a texture set is not switched on its own (switch the set). Use it only when the user asked to share or hide that asset. Ids come from r3_image_list, r3_audio_list and r3_texture_read / r3_texture_create. Needs asset:share. Videos, Blender models and projects are shared in the R3 app.ConnectorDestructiveNo auth
- 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
- 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