
Scenario for Blender MCP: Setup for Claude, Cursor and Codex
Lets Claude, Cursor or Codex inspect your open Blender scene and generate Scenario images, video, 3D and materials into it.
Scenario for Blender is Scenario's own Blender extension, and it runs a small server on your computer that Claude Code, Cursor, Codex and Claude Desktop can connect to. They can read your scene, take screenshots, set up camera moves and ask Scenario to make images, video, 3D models and materials. It needs Blender 5.0 or newer to be open, and a Scenario account with an API key. Generations spend your Scenario credits, and the server has no password, so any program on your computer can call it.
Good for
- 3D artists who want Claude to check a scene, frame a camera move or set up a render
- Game developers who generate textures, props and PBR materials with Scenario from inside Blender
- Technical artists who want an agent to script Blender, once they switch Python access on
- Teams with a Scenario account who tidy asset collections and tags from the assistant
Works in
4 supported · 8 should work
Tap an app to see how to set it up and any known problems.
Documented by Scenario. Use the Connect button or the add command, then run /mcp or start a new session. GitHub
Documented by Scenario. It runs a small bridge script, so use Connect or set Blender's Python path yourself. GitHub
Documented by Scenario. Use Connect or add the URL to the Cursor MCP file, then restart Cursor. GitHub
Documented by Scenario. Use Connect or the add command, then start a new Codex session. GitHub
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
The server only exists on your computer, and Scenario says a hosted agent cannot reach it. GitHub
Install Scenario for Blender MCP
Claude Code
- 1
Copy this prompt.
Add the Scenario for Blender MCP server to Claude Code. Run this command: claude mcp add --transport http scenario-blender http://127.0.0.1:9876/mcp Then check that it loaded and tell me if I need to sign in or restart.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires Blender 5.0 or newer, open, Scenario extension installed, Allow Online Access turned on.
Read-only mode: There is no read-only mode. Even with Python off, the assistant can change your scene and library and spend credits.
Install the extension in Blender first (steps below), and keep Blender open: the server runs inside it and starts when Allow Online Access is on. Pick the add command if you prefer the terminal, or the Connect button to let Blender write the entry. In a clone of the repository, the committed project file registers the same server. The server needs no sign-in, but generating needs your Scenario API key and secret in the extension's preferences. Extension setup: 1. Turn on Allow Online Access in Blender: Edit > Preferences > System > Network. 2. Open Edit > Preferences > Get Extensions > Repositories, choose Add Remote Repository and enter https://blender.scenario.com/repo/index.json. 3. Install Scenario from Get Extensions, then paste your Scenario API key and secret in Preferences > Add-ons > Scenario.
From the project README. Source.
Tools
Lists the objects, cameras and settings in your open Blender scene
Pages through the objects in your scene and can filter by type, collection, name or selection. It also reports the active object, cameras, frame range and units.
Try: “What meshes are in my scene, and how big is each one?”
Read ·
scene_summaryShows one object's position, size, modifiers and mesh counts
Looks up a single object by its exact name. You get its transform, parent, modifiers and custom properties, plus vertex and face counts for meshes and lens data for cameras.
Try: “Tell me about the object called Chair: its size, modifiers and material count.”
Read ·
object_detailTakes a picture of what your 3D viewport shows right now
Captures the largest open 3D viewport, overlays included, and hands the image to the assistant. It needs the Blender window open and does not save a file.
Try: “Take a screenshot of my viewport and tell me what looks off about the lighting.”
Read ·
screenshot_viewportRenders a quick still from your camera or viewport
Makes a fast OpenGL image of the scene at the size you pick, from the scene camera or the current viewport. The image goes back to the assistant and is not kept on disk.
Try: “Render a 1280 by 720 still from the scene camera and describe the composition.”
Read ·
render_stillRenders a labelled contact sheet of several views of your model
Renders front, side, top or three-quarter views, or several frames, onto one image so the assistant can check a model or camera move in one look. Your viewport, camera and render settings are left as they were.
Try: “Show me front, right and top views of the selected object on one sheet.”
Read ·
capture_viewsSelects the objects you name in Blender
Replaces the current selection with the objects whose names you give, and makes the first match active. An empty list clears the selection. Names that do not exist are reported back.
Try: “Select the objects called Lamp and Cube.”
Write ·
select_objectsMoves the timeline to a frame you choose
Jumps Blender's current frame and updates the scene to match. This changes the open scene, and it can make a price estimate you already requested out of date.
Try: “Go to frame 120.”
Write ·
set_frameBuilds an animated camera move such as an orbit or push-in
Creates keyframes on the scene camera from a preset, a short description like 'slow orbit, 8 s, 35mm', or waypoints you give. Explicit waypoints replace the existing markers. It edits the scene's camera and animation and does not generate a video.
Try: “Add a slow 8-second orbit around the subject at 35mm.”
Write ·
camera_pathRuns any Python code inside Blender (off until you allow it)
Runs the code the assistant writes with full access to Blender, using your user's permissions. It does nothing until you tick the preference that lets connected agents run Python. A short blocklist stops a few calls such as file deletion, but the project says it is not a security boundary.
Try: “Write a script that adds a ring of 12 cubes around the origin.”
Delete ·
execute_pythonCounts what is in your Blender file: meshes, materials, images and more
Returns the file path and counts for objects, meshes, materials, images, collections, cameras, lights and similar data, plus up to 40 collection names.
Try: “How many materials and images does this file contain?”
Read ·
datablocks_summaryBrowses the Scenario models you can generate with
Lists Scenario's models for a type of work (image, video, 3D, material, audio, render, panorama), with curated ones first and at most 40 results. It can also list your trained LoRAs and compositions.
Try: “Which image models can I use for a stylised game prop?”
Read ·
list_modelsGets the exact credit price for a generation before you spend
Runs a dry run for a model and its settings and returns the exact cost in Creative Units plus a quote. Nothing is charged. You need the quote to generate.
Try: “How many credits would that image cost at 1024 by 1024?”
Network ·
estimate_costStarts a paid Scenario generation using your credits
Submits the job to Scenario for the image, video, 3D, material, audio, render or panorama type you pick. It needs a quote from the estimate step and the exact approved cost. Only image results are imported into the scene automatically; other results wait for a separate approval.
Try: “Generate a wooden crate texture with the model we priced, at the approved cost.”
Write ·
generateLists your recent generations from Scenario's cloud history
Shows recent jobs from your account history, 20 by default, and can load older pages. Use a job ID from here to pull a finished cloud result back into Blender.
Try: “Show my last 10 generations and what each one made.”
Network ·
list_generationsPulls a finished cloud generation into your saved jobs
Reads one completed job from your Scenario history and adds it to Blender's saved jobs, so you can review and import it. Repeating it does not create duplicates. It does not import anything into the scene yet.
Try: “Bring back the result of job abc123 from my history.”
Write ·
recover_cloud_jobReads or saves your default trained-model choice for image forms
Gets, sets or clears the LoRA or composition that the Image or Render Image form starts with, for your account and project. It spends nothing.
Try: “Make my brand-style LoRA the default for image generation.”
Write ·
model_defaultsSets up the Render Image or Render Video form in Blender
Inspects the form, changes its settings (model, look, capture source, style references), captures or uploads the scene references, or removes a reference. It never submits a generation. Uploading a scene capture sends it to Scenario.
Try: “Set Render Image to use my viewport capture and a watercolour look.”
Write ·
render_formUploads a capture of your viewport, camera or selected meshes to Scenario
Captures a still or clip from the viewport or camera, or exports the selected meshes as one GLB file, and uploads it to your Scenario account as a reference. This sends scene content to Scenario.
Try: “Use my selected mesh as a reference for a 3D generation.”
Write ·
capture_referenceUploads a file you chose in Blender to Scenario as a reference
Uploads an image, audio, video or 3D file. Only files the extension saved itself, or ones you picked in Blender this session, are accepted. Any other path, including your Output Folder, is refused.
Try: “Upload the reference image I just picked and use it for the next image.”
Write ·
upload_referenceReviews where a finished result would go before you import it
Prepares the import of a saved image, video, audio, 3D model or material, a panorama World change, or a Render Video first frame, and shows the destination for your approval. Nothing changes until the apply step.
Try: “Show me where the finished 3D model would be placed.”
Read ·
prepare_result_applicationImports an approved result into your scene
Puts a reviewed result into Blender: adds images, strips or models, assigns a material to one slot, replaces or restores the World, or replaces a mesh you chose. Use it only after you approve the destination.
Try: “Apply the approved crate texture to the Crate material slot.”
Delete ·
apply_result_applicationShows previews of a finished job's results
Returns the same preview information Blender's tiles show, such as stills and sound waveforms, for a downloaded job. It generates and changes nothing.
Try: “Show me previews of the results from my last 3D job.”
Read ·
inspect_result_previewsPrices a prompt-writing helper before you use it
Gets the exact credit cost to write, rewrite or translate the prompt in the current form field. It changes no text.
Try: “How much would it cost to rewrite my prompt?”
Network ·
estimate_promptPays for and runs the prompt helper you priced
Spends the approved amount once and queues the job, which then updates the original prompt field if it is unchanged. It is marked destructive because it overwrites that text.
Try: “Go ahead and rewrite my prompt at the quoted price.”
Delete ·
approve_promptReads the text a prompt helper returned
Gets the full text from a saved prompt or translation job without spending or applying it. Results from an old scene can be read but are never silently applied to the current one.
Try: “Show me the rewritten prompt.”
Read ·
read_prompt_resultPrices a Blockout layout from your scene description
Reads the Blockout fields in the current scene and gets the exact free estimate for designing or refining the layout. It generates nothing and builds no geometry.
Try: “How much will it cost to design the greybox for my castle description?”
Network ·
estimate_blockoutPays for and runs the Blockout design you priced
Spends the approved amount once and requests a layout plan from a Scenario language model. The plan is saved to the scene. No geometry is built automatically.
Try: “Run the Blockout design at the quoted cost.”
Write ·
approve_blockoutReads a saved Blockout plan before you apply it
Validates one saved plan for the current scene and lists its elements, groups and whether it replaces an existing plan. It builds nothing.
Try: “Check the Blockout plan that just came back.”
Read ·
prepare_blockout_planStores a reviewed Blockout plan in your scene
Replaces the stored plan on the destination scene with the one you approved. It does not build geometry and spends nothing. Building the greybox is a separate step in Blender.
Try: “Apply the approved Blockout plan to this scene.”
Delete ·
apply_blockout_planPages through your Scenario asset library
Reads one page of your assets, or public ones, with names, types, tags and collection IDs. It returns no download links or file contents.
Try: “List my 20 most recent assets.”
Network ·
list_assetsSearches your Scenario assets by keyword
Searches asset metadata for a query and returns reusable asset IDs with an estimated total. It downloads nothing and does not start a generation.
Try: “Find my ceramic cup assets.”
Network ·
search_assetsLists your Scenario collections
Reads one page of collections with name, asset and model counts, and last update. Use a collection ID with the organise steps.
Try: “Which collections do I have, and how big is each?”
Network ·
list_collectionsPreviews adding, removing or tagging assets before it is sent
Reads the current tags and collections of up to 49 assets and prepares one change: add to a collection, remove from one, update tags or create a collection. Nothing is sent until you approve it in the next step.
Try: “Prepare adding my crate assets to the Props collection.”
Network ·
prepare_asset_organizationApplies an approved collection or tag change to your assets
Sends the reviewed change to your Scenario account. That can add or remove assets from a collection, change tags or create a collection. It costs no credits and Blender's Undo does not reverse it.
Try: “Apply the approved change that adds these assets to Props.”
Delete ·
apply_asset_organizationLists Scenario workflows you can run
Lists private or public workflows in your scope, filtered by a search word, without spending anything.
Try: “Which public workflows work with images?”
Network ·
list_workflowsShows the inputs a workflow needs
Reads one workflow's input definitions, including defaults and file inputs. It spends nothing.
Try: “What inputs does the product-shot workflow need?”
Network ·
workflow_schemaPrices a workflow run before you approve it
Gets a free exact price for a workflow with the inputs you give, tied to this scene and connection. It warns when the price may be understated, for example with loops.
Try: “How much would this workflow cost with a wooden cup as input?”
Network ·
estimate_workflowPays for and starts a workflow you priced
Spends the approved amount once and starts the workflow in Scenario. A running workflow cannot be cancelled. You can only stop it by rejecting a step that is waiting for a decision.
Try: “Run the workflow at the quoted cost.”
Write ·
run_workflowSends your approve, select or reject choice to a waiting workflow
Sends one decision you made for a waiting step. Approving or selecting lets the job run its remaining steps, which spend credits. Rejecting stops the workflow, and completed steps stay charged.
Try: “Select the second and first options and continue.”
Delete ·
decide_workflow_stepLoads or inspects the scene's Film recipe
Shows the current scene's Film production with its tasks, shots and saved quotes, loads a recipe from JSON, or starts a fresh production. It submits and prices nothing. Film is marked experimental.
Try: “Load this Film recipe and list its shots.”
Write ·
film_recipePrices one task in your Film recipe
Gets the exact server price for one model task using saved dependencies. It never submits.
Try: “What will the first shot's video cost?”
Network ·
estimate_film_taskPays for and submits one priced Film task
Spends the approved amount once and saves the job so it can be recovered. Results download through the usual job flow.
Try: “Approve the shot-one task at the quoted price.”
Write ·
approve_film_taskChecks your hero model picks and readies a shot build
Verifies the saved models you chose for each hero and prepares a review. Building the shot scene is a separate approval.
Try: “Prepare shot one with the dragon model I picked.”
Read ·
prepare_film_shotBuilds a new scene for a shot from your saved models
After your approval, creates a new shot scene in the open file from the verified hero models.
Try: “Build the shot scene now.”
Write ·
build_film_shotSets up a local still or video capture for a shot
Chooses the source scene, size and capture type (video or still, with a colour type) and readies it for a separate render approval.
Try: “Prepare a 1280 by 720 video capture for shot one.”
Read ·
prepare_film_captureRenders the approved Film capture on your computer
Starts one local render of the approved capture. The render stays on your machine and sends nothing to Scenario.
Try: “Render the approved capture.”
Write ·
render_film_captureUploads a finished Film capture to Scenario
Sends the reviewed capture bytes to your Scenario account after a separate approval, so they can be used as a reference.
Try: “Upload the finished capture as a reference.”
Write ·
upload_film_capturePicks a finished scene for each shot and readies the timeline
Takes your choice of source for every shot and prepares a timeline review. Building is a separate approval.
Try: “Use the second option for each shot and prepare the timeline.”
Read ·
prepare_film_timelineBuilds an editable sequence of your shots
After your approval, creates a new editable sequence of scene strips in the open file. The working scene is preserved.
Try: “Build the timeline now.”
Write ·
build_film_timelineCopies saved Film media so a review scene can be built
Copies and measures the saved media for a final or previs review and prepares it. It builds nothing and spends nothing.
Try: “Prepare a final review of the whole production.”
Write ·
prepare_film_reviewBuilds a review scene from your Film media
After your approval, creates a new review scene from the prepared private copies. It needs a Blender window in Object Mode.
Try: “Build the review scene.”
Write ·
build_film_reviewReadies a final or previs composition from saved Film media
Inspects saved media and prepares a composition for pricing. It spends nothing.
Try: “Prepare the final composition.”
Read ·
prepare_film_compositionPrices a Film composition
Gets the exact server price for one verified composition. It does not generate.
Try: “How much will the final composition cost?”
Network ·
estimate_film_compositionPays for and submits a priced Film composition
Spends the approved amount once and saves the master's identity before a single submission.
Try: “Approve the composition at the quoted price.”
Write ·
generate_film_compositionPicks a scene and a new MP4 destination to export
Binds a built review scene and a new .mp4 path inside your Output Folder for a separate render approval. It writes no file yet.
Try: “Prepare an MP4 export to my Film folder.”
Read ·
prepare_film_exportRenders the approved Film export to an MP4
After your approval, renders the video in an offline Blender process and writes a new MP4 to the approved path. An existing file is never overwritten.
Try: “Render the approved export.”
Write ·
render_film_exportPicks sources and a new ZIP destination for a case study
Binds a review scene, an optional timeline and a new .zip path inside your Output Folder for a separate build approval. It writes no file yet.
Try: “Prepare a case-study ZIP with the director timeline.”
Read ·
prepare_film_case_studyBuilds the approved case-study ZIP
After your approval, builds a portable ZIP in offline Blender processes and writes it to the approved path inside your Output Folder.
Try: “Build the case-study bundle.”
Write ·
export_film_case_studyUsed by the assistant behind the scenes
Looks up how a Blender Python function or type works
Reads the documentation and properties of a Blender API path in your running copy of Blender. It describes the function and does not run it.
Try: “How do I use bpy.ops.mesh.primitive_cube_add?”
Read ·
blender_api_helpShows the settings a Scenario model accepts
Returns the form fields for one model: names, types, defaults, allowed values and which are required. A trained LoRA has no settings of its own, so it is refused with a pointer to the base models it can run on.
Try: “What options does that model take for a 3D generation?”
Read ·
model_schemaChecks a generation's progress and cost
Reads one job's state, the cost that was approved and its results. Running jobs advance through Scenario's polling and downloads. It spends nothing.
Try: “Is my crate texture finished yet?”
Network ·
job_statusWaits for a generation to finish while Blender stays usable
Holds the request for up to 170 seconds (45 by default) until the job finishes, pauses for review or the wait runs out, then returns the status. If it times out, the assistant asks again.
Try: “Wait for the 3D model to finish, then tell me when it is ready.”
Network ·
wait_for_jobExplains that results must be applied through the saved-result flow
Does not import anything. It returns an error telling the assistant to use the saved-result steps, where you approve the destination first.
Try: “Import the finished texture into my scene.”
Read ·
import_resultShows how far a reference upload has got
Reads the progress of an upload until it is imported and gives the asset ID to use in a price estimate. It sends no new data.
Try: “Has my reference image finished uploading?”
Network ·
reference_upload_statusLists saved reference uploads, including after a restart
Shows the uploads Blender has on record for your credentials, with their state and suggested action. It makes no network request.
Try: “Which reference uploads are unfinished?”
Read ·
list_reference_uploadsChecks, restarts or cleans up a stuck reference upload
Can refresh an upload's status, cancel one that was only prepared, restart an unfinished one as a new upload, or clean up the private copy of a finished one. It never deletes your original file.
Try: “Restart the stuck upload from earlier.”
Delete ·
recover_reference_uploadLists the generation jobs Blender has saved
Reads the saved jobs for your key, with state, cost and the next action. It makes no network calls and works after a restart.
Try: “What jobs do I have saved, and which are still running?”
Read ·
list_local_jobsRefreshes, resumes or cancels a saved generation job
Takes one recovery action on a saved job: refresh, resume, stop a download, retry a receipt, find the matching cloud job, or cancel a running inference job. It never repeats a generation or imports into another scene.
Try: “Resume the download for my interrupted 3D job.”
Delete ·
recover_local_jobCancels a job that was prepared but never sent
Cancels a saved job that has not been submitted. It touches only local records and does not contact Scenario or stop a job already running there.
Try: “Cancel the job I prepared but did not send.”
Delete ·
cancel_prepared_jobReads the full text from a finished job's result
Returns the whole text of one result from a finished model job, even after a restart, instead of a cut-off preview. It does not spend credits or apply the text.
Try: “Read the full text the model returned for that job.”
Read ·
read_model_textChecks a prepared Blockout plan or discards its review
Shows the review's state, elements and groups, or discards a finished review. It changes no scene.
Try: “Is the Blockout plan ready to apply?”
Read ·
blockout_plan_statusChecks or discards an asset-organisation review
Shows where a review stands, including one whose apply call timed out, or discards one that is not being applied.
Try: “Did that tag change go through?”
Read ·
asset_organization_statusDrops a workflow price you decided not to use
Releases an unused workflow approval. It cancels no remote work and uploads nothing.
Try: “Forget that workflow quote.”
Write ·
discard_workflow_estimateShows the steps of a workflow that are waiting for you
Re-reads a saved workflow job's approval and selection steps so you can review them. It decides nothing.
Try: “What is the workflow waiting for me to decide?”
Network ·
workflow_job_stepsDrops a Film price so the task can be priced again
Releases an unsubmitted Film estimate. It does not cancel or change saved jobs.
Try: “Discard that Film quote.”
Write ·
discard_film_estimateLinks a finished upload to a Film task
Associates an imported reference upload with a Film upload task. No file bytes are sent.
Try: “Attach the uploaded reference to the reference task.”
Write ·
bind_film_uploadLists downloaded hero models you can use in a shot
Reads your saved GLB hero models for one shot. It downloads and builds nothing.
Try: “Which hero models are available for shot one?”
Read ·
film_shot_sourcesChecks, discards or retries a Film shot review
Shows a shot review's state, discards it, or retries saving its receipts.
Try: “Is the shot review ready?”
Write ·
film_shot_reviewLists scenes that can be captured for a Film shot
Finds the local scenes that match one shot before any render. It renders nothing.
Try: “Which scenes can I capture for shot one?”
Read ·
film_capture_sourcesChecks, cancels or discards a Film capture
Shows the capture's phase, size and output hash, cancels the local render, or discards it, which deletes its private snapshot, media and logs.
Try: “How far along is the capture render?”
Delete ·
film_capture_reviewLists scenes available for each shot in the timeline
Finds matching local scenes for every shot in the recipe. It builds nothing.
Try: “Which scenes match each shot?”
Read ·
film_timeline_sourcesChecks or discards a timeline review
Shows the review's scene, shot count and timing, or discards it. It builds nothing.
Try: “Is the timeline review ready?”
Write ·
film_timeline_reviewChecks, cancels or retries a Film review
Shows the review's phase, shots and media, cancels or discards it, or retries saving a known receipt.
Try: “What is the status of the Film review?”
Write ·
film_review_statusChecks, cancels or discards a composition review
Shows the review's phase, sources and price, or cancels or discards it.
Try: “Is the composition review ready to price?”
Write ·
film_composition_reviewLists built review scenes that can be exported as video
Shows which built Film scenes can become an MP4, with the default folder and encoder availability.
Try: “Which review scenes can I export to video?”
Read ·
film_export_sourcesChecks, cancels or republishes a Film export
Shows export progress, cancels or discards it, or saves the verified video to another new file if saving failed.
Try: “How far along is the video export?”
Write ·
film_export_reviewLists scenes and timelines that can form a case-study bundle
Shows built review scenes and director timelines that can go into a portable ZIP.
Try: “What can I bundle into a case study?”
Read ·
film_case_study_sourcesChecks, cancels or republishes a case-study build
Shows build progress, cancels or discards it, or saves the verified archive to another new file if saving failed.
Try: “Is the case-study ZIP finished?”
Write ·
film_case_study_review
Read from the source code
Permissions
high risk · 8 things to watch
High risk
A connected assistant can read and change your open Blender scene, change your Scenario asset library and spend your Scenario credits, and nothing asks for a password. Keep Python access off and make the assistant show you every price before it generates.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only mode
Watch out for
It can spend your Scenario credits
Generation, workflows and prompt helpers use your Creative Units. Each needs a price quote and the exact approved cost, but the assistant supplies that approval, so ask it to show you the price and wait for your yes. github.com
Any program on your computer can call it
The server listens on 127.0.0.1 only and asks for no credential. Other websites are refused, but a local page or program can reach every tool, so do not forward the port. github.com
Python access is a switch away from full control
With Allow connected agents to run Python off (the default), the Python tool refuses to run. Turn it on and the agent can run any code with your user's permissions. The project says its short blocklist is not a security boundary. github.com
It changes your scene and your Scenario library
Some tools change the selection, current frame or camera, import results and replace a mesh or World. Others add or remove assets from collections and change tags, and Blender's Undo does not reverse that. github.com
Server instructions steer which tools the assistant uses
The server tells the assistant: "Start with scene_summary, prefer the specific tools over execute_python, quote the CU cost (estimate_cost) before generating, and place results where the user is working." github.com
Scene captures and files are uploaded to Scenario
Capturing a reference or uploading a file sends your viewport, camera view, selected meshes or chosen file to your Scenario account. Cost previews also send prompts and settings to Scenario's API. github.com
Film tools write MP4 and ZIP files to your Output Folder
Exports create new files only inside your Output Folder, and an existing file is never overwritten. Python access, if enabled, can write anywhere. github.com
The server starts by itself
In a Blender window it starts when Allow Online Access is on, unless you pressed Stop MCP server. Anonymous usage data is a separate setting and is off by default. github.com
Security advisories
No published security advisories as of Nov 1, 2026.
Technical details
| Turning on read-only | No read-only mode is documented. Python execution is off by default, but scene-changing, library-changing and paid tools stay available. |
|---|---|
| Talks to | api.cloud.scenario.com (Scenario's API, for prices, generations and uploads). blender.scenario.com (only if you opt in to usage data or send feedback) |
| Sign-in and keys | The local server needs no credential. Your Scenario API key and secret are saved in Blender's preferences, not an operating system keychain. |
| Data retention | Prompts, job state and generated media stay in Blender preferences, extension storage and your Output Folder. Generation history also lives in your Scenario account. |
Questions
Is Scenario for Blender MCP official?
Yes. Scenario Inc. makes the extension and its built-in server and ships them from its own repository. It is not made by the Blender Foundation, whose Blender Lab has a separate Blender MCP server.
What is the Scenario for Blender MCP server URL?
It is http://127.0.0.1:9876/mcp by default. The server runs inside a Blender window, so Blender must be open, and it starts when Allow Online Access is on. You can change the port in the extension's MCP Port setting.
Which apps can connect to it?
Claude Code, Codex, Cursor and Claude Desktop each have a Connect button in the extension's Agents (MCP) panel. Other apps that accept a local server address can use the URL. Hosted apps such as ChatGPT cannot reach an address that exists only on your computer.
Do I need a Scenario account and API key?
The local server needs no sign-in, but generating anything does. You need a Scenario account with API access, plus an API key and secret from its organization settings, pasted into the extension's preferences. Reading your scene works without them.
Is it free?
The extension is free software under GPL-3.0-or-later. Generations, workflows and prompt helpers use your Scenario Creative Units, and the price of each one is shown by a free estimate before you approve it.
Can it run Python in Blender?
Only if you turn on Allow connected agents to run Python in the extension's preferences. It is off by default. When on, the agent can run any code with your user's permissions.
Can it run read-only?
No. There is no read-only switch. With Python off it can still change the selection, frame and camera, spend credits, and change your Scenario collections and tags.
How is it different from Blender's own MCP server?
Blender Lab's server is a separate program that talks to its own Blender add-on over a local connection. Scenario's server runs inside its extension over local HTTP and adds Scenario generation, workflows and asset tools. The two cover different jobs.
How is it different from the hosted Scenario MCP server?
The local server works on your open Blender scene. The hosted server at mcp.scenario.com handles collection rename and delete, training, workflow authoring and usage, and needs no Blender. Connect both if you need both.
Why can't my app connect?
Check that Blender is open with Allow Online Access on, and that the URL uses 127.0.0.1, because other host names are refused. Port 9876 may also be held by another Blender. Stop it or pick a different MCP Port.
Information
updated Nov 2, 2026
- Publisher
- Official
- Transport
- Streamable HTTP
- Auth
- None
- Version
- 0.12.0
- License
- GPL-3.0-or-later
- Last commit
- Oct 31, 2026
- Open issues
- 48
Other Blender MCP servers
Sources
Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.
Show all 8Hide
- Local MCP reference: client setup · github.com
- README · github.com
- Scenario for Blender: scene tools (release 0.12.0) · github.com
- Scenario for Blender: Scenario tools (release 0.12.0) · github.com
- Local server source · github.com
- Python sandbox source · github.com
- Privacy and data handling · github.com
- Protocol module (server instructions) · github.com