Codex and Blender: the agent isn't clicking — it's running bpy (plus the Sep-2026 map of agents that control your computer)
How the Codex app actually controls Blender: OpenAI's own published walkthrough says the scene was built through the Blender Python API (bpy) with scripts run in background mode via --python, and Computer Use only for visual inspection. Covers the official Blender MCP server (tool list, architecture, security warning), Codex's generic MCP support, why no OpenAI-first-party Blender connector exists (openai/codex#22149), the four control channels (API/MCP, headless script, programmatic tool calling, GUI computer use), the reliability and safety numbers behind 'prefer the API', and the wider computer-control landscape.
Research date: 10 Sep 2026. Every claim below carries the URL it was verified against on that date; community/secondary-sourced items are labeled as such and collected in the caveats. Companion articles: computer-use-landscape-2026-09-07.md (full computer-use baseline), codex-mcp-server-pattern.md.
TL;DR
- The Codex↔Blender demos are not screenshot-driven modeling. OpenAI’s own walkthrough of the
house that appears in the GPT-6 Astra launch video says the scene was built through the Blender
Python API (
bpy), that “Astra ran scripts through Blender’s own executable in background mode, using its--pythonoption”, and that Computer Use was used to inspect the result: “Astra also opened and inspected the scene in Blender through computer use, checking the application alongside the saved renders.” (Architectural visualization with Astra, Sept 2026) - Programmatic actuation, visual verification. That is also the shape of the official Blender
MCP server (built by the Blender project): MCP client ⇄ stdio ⇄
blender-mcp⇄ TCP socket ⇄ Blender add-on, whose central tool isexecute_blender_code, plus*_for_clitwins that run in a background Blender process. It ships screenshot tools too — but for looking, not clicking (blender.org/lab/mcp-server). - Codex can consume any MCP server (STDIO + Streamable HTTP,
~/.codex/config.toml), so a Codex↔Blender loop needs zero screenshots (Codex MCP docs). - There is no OpenAI-first-party Blender connector. The request openai/codex#22149 is open with 0 comments and no maintainer reply; Blender appears nowhere in OpenAI’s docs or the 90+ Codex plugins. The official connector is Blender’s, and because it is MCP it is client-neutral — Anthropic says so explicitly.
- Vendors all give the same rule: if an app exposes an API/MCP/plugin, use it; use pixels only
when you must see. OpenAI: “prefer that structured integration… Choose Computer Use when ChatGPT
needs to inspect or operate the app visually”; and for GPT-6 Astra “we recommend code
execution” over the
computertool. - Why: grounding is nearly solved (Astra ScreenSpot-Pro 92.7%) but long-horizon desktop control is not (OSWorld 2.0 ≈ 72.6% partial, ~40 min/task), and the GUI channel needs OS consent and the foreground. The programmatic channel is cheaper and replayable — but it executes arbitrary generated code inside your app, which is why Blender tells you to run it in a VM.
1. The answer, in OpenAI’s own words
The Astra launch post shows a Blender→Unreal house with no explanation of the mechanism (GPT-6 Astra). The developer blog for the same project does explain it:
“I asked Astra in Codex to turn that brief into an editable 3D scene in Blender.”
“Astra built an editable scene through the Blender Python API (
bpy). It created the architecture, joinery, furniture, planting, materials, lights, and cameras.”“For the cinematic studies, Astra ran scripts through Blender’s own executable in background mode, using its
--pythonoption. Those scripts placed the cameras, chose lenses, and rendered the views. Astra also opened and inspected the scene in Blender through computer use, checking the application alongside the saved renders.” — developers.openai.com/blog/architectural-visualization-with-astra
It even self-corrects from renders: “Astra produced views of the rooms and close studies of the materials, then used them to find and repair problems. One example was the steel sink: its surface normals… made a flat part of the bowl look pinched.”
So the honest one-liner: the agent writes Python; Blender executes it; the agent looks at pictures to judge the result. Any “AI clicks around in Blender” framing is describing the inspection step, or a deliberately GUI-only tutorial (e.g. bettertoken.ai, whose prompt literally says “Do not generate the geometry with a Python script” — reseller marketing page).
2. What Codex’s Computer Use actually is
It is a plugin — an MCP server plus a skill — inside the ChatGPT/Codex desktop app (docs):
- See: screenshots. Act: synthetic mouse/keyboard. macOS requires Screen Recording + Accessibility (the privacy entry is named “Codex Computer Use”); Windows “runs on the active desktop. It can’t operate in the background… expect ChatGPT to move the pointer, type, and take over the foreground.”
- Consent: per-app approvals with an “Always-allowed apps” list; admins can restrict app access; file/shell actions still follow the task’s sandbox and approval settings.
- Launch framing (April 2026, “Codex for (almost) everything”): “Codex can now use all of the apps on your computer by seeing, clicking, and typing with its own cursor… helpful for iterating on frontend changes, testing apps, or working in apps that don’t expose an API” (openai.com). Blender exposes one.
- Real-world friction: on Windows, Computer Use can refuse the Blender window over an owner
mismatch — “
window id <HWND> no longer belongs to blender.4.5; current owner is blender.4.5” — and in one test captured a window listed as File Explorer whose screenshot actually contained Blender (openai/codex#36335, open, 31 Jul 2026).
3. Blender’s programmatic surface
3.1 Official Blender MCP server (Blender Lab)
Page: blender.org/lab/mcp-server · Source: projects.blender.org/lab/blender_mcp (created 2026-02-21; v1.0.0 released 2026-04-27; v1.0.2 corrective release 2026-09-08; 24 Gitea stars on 2026-09-10). Announced by Blender itself in the Q1 2026 Lab report: “some exploration of LLM powered tools has started, with an implementation of an MCP connector for Blender.”
MCP Client ⇐ MCP/stdio ⇒ blender-mcp ⇐ TCP socket ⇒ Blender Add-on
Requires Blender 5.1+; add-on installed by dragging its link into Blender (twice — once to add
the Blender Lab repository, once to install); a .mcpb bundle exists for clients that accept it.
Selected tools (full list in readme_tools.rst):
| Tool | Purpose |
|---|---|
execute_blender_code | run Python inside the live Blender instance |
execute_blender_code_for_cli | run Python in a background Blender process |
get_objects_summary, get_object_detail_summary | scene graph as data |
get_blendfile_summary_* (+ _for_cli) | data-blocks, missing files, linked libraries, path info, usage guess |
get_python_api_docs, search_api_docs, search_manual_docs | grounded API/manual search |
get_screenshot_of_window_as_image / _as_json | PNG or structured JSON of the window |
jump_to_tab_by_name, jump_to_view3d_object_by_name | move the UI/viewport for the human |
render_thumbnail_to_path, render_viewport_to_path | render to disk |
Note what is absent: no click_at, no drag, no press_key. Control is code; pixels are
input. The Blender page is also blunt about the risk:
“The MCP server will execute LLM generated code in Blender without any guards… recommended to use a virtual machine, or a system without access to sensitive information.”
and about scope: “Blender does not have any built-in functionality for connecting to LLMs.” Blender’s policy line, after the Anthropic-donation backlash: “No generative AI functionality is currently available or planned to be integrated in Blender.” (AI policies, 1 May 2026)
3.2 The community server most people install
ahujasid/blender-mcp — 28,084★, created 2025-03-07, pushed 2026-09-07. Same shape (add-on opens a socket server inside Blender, JSON over TCP, port 9876; MCP server bridges to it), plus asset integrations (Poly Haven, Sketchfab, Poly Pizza, Hyper3D Rodin, Hunyuan3D) and an “Execute any Python code in Blender” tool. Codex is a documented client:
[mcp_servers.blender]
command = "uvx"
args = ["blender-mcp"]
or codex mcp add blender -- uvx blender-mcp. Its own warning: “ALWAYS save your work before using
it”; opt-in BLENDER_MCP_SAFE_MODE=1.
4. Wiring Codex → Blender takes three lines
Codex (app, CLI and IDE extension) shares one MCP config
(docs): STDIO or Streamable HTTP servers, bearer/OAuth,
~/.codex/config.toml (or project .codex/config.toml), codex mcp add, /mcp to list. So:
- Install the Blender add-on (community or Blender Lab) and start its server from Edit → Preferences → Add-ons → BlenderMCP.
- Add it to Codex (
~/.codex/config.tomlor Settings → MCP servers → Add server). - Ask for a scene. The agent calls
execute_blender_code, reads structured summaries back, and only opens a PNG when it needs to judge how something looks.
Anthropic’s Claude path is the same idea, shipped productized: “The Blender developers have created an MCP connector, which is now officially available for Claude… And because the connector is built on MCP, it is accessible to other LLMs in addition to Claude” (Claude for Creative Work, 28 Apr 2026; setup in Claude Academy).
5. Why there is no OpenAI Blender connector
- openai/codex#22149 “Blender Connector / MCP-style integration for Codex” — opened 2026-05-11, open, 0 comments, no maintainer reply, 10 👍: “I recently saw Anthropic introduce the Blender Connector for Claude… Are there any plans for official Blender integration support? Would MCP-style tool connectivity be the recommended direction?”
- No “blender” in OpenAI’s docs index or cookbook; none among the 90+ Codex plugins announced with computer use. OpenAI’s only Blender artifact is a use-case blog post.
- Meanwhile Anthropic became a Blender corporate patron (28 Apr 2026).
This is absence of evidence, not a vendor statement — but it matches the strategy: OpenAI ships a generic computer-use + MCP substrate; the connectors are the app vendors’ job (or the community’s).
6. Four channels — and how to spot them in a demo
| # | Channel | Actuation | Perception | Shape | Blender example |
|---|---|---|---|---|---|
| 1 | API / MCP / plugin | typed tool calls, app-side code execution | structured results (+ optional PNG/JSON) | cheap, deterministic, replayable | execute_blender_code |
| 2 | Generated script, headless | bpy script in background Blender | files, logs, renders | cheap, parallel, no UI | blender --python (Astra), *_for_cli tools |
| 3 | Programmatic tool calling / code-exec CUA | model writes JS/Python orchestrating tools or PyAutoGUI/Playwright | tool output + screenshots | batched, fewer round-trips | PTC, CUA guide |
| 4 | GUI computer use | synthetic mouse/keyboard | screenshots (+ a11y tree) | most expensive/step, needs consent, foreground on Windows | Codex Computer Use |
OpenAI’s own selection rule for 1/3 vs 4: “If the target app exposes a dedicated plugin or MCP
server, prefer that structured integration for data access and repeatable operations. Choose
Computer Use when ChatGPT needs to inspect or operate the app visually”
(docs); and on the API: “For GPT-6 Astra, we
recommend code execution. The computer tool remains supported as an alternative.”
For 3 vs 1: use programmatic calling when control flow is predictable and code can return a smaller
structured result; keep direct calls for “writes or approval-sensitive actions… to preserve a
clear authorization boundary” (PTC guide).
The tell in any demo: if the artifacts are .py/.blend and renders, it’s channel 1–2. If the
artifact is a screen recording, it’s channel 4.
7. The numbers behind “prefer the API”
- Grounding ≈ solved: GPT-6 Astra ScreenSpot-Pro (no tools) 92.7%.
- Long-horizon control is not: OSWorld 2.0 (v2026.08.08, offline set, partial score) Astra 72.6% vs GPT-5.6 Sol 65.7%, Claude Fable 5 70.2% — and “Astra achieves higher computer-use performance in about 47% less time per task… roughly 40 minutes per task vs ~75 minutes” (openai.com/index/gpt-6-astra). ⚠️ Vendor-reported partial scores on an offline subset; do not compare with the OSWorld 2.0 paper’s binary numbers without the metric.
- Safety: internal computer-use safety benchmark (lower better) Astra 2.4% (1.8% with AutoReview) vs Sol 22.0%, Fable 5.1 9.5%, Fable 5 18.3%, Opus 5 11.5%.
- 3D-as-code is strong: BenchCAD (rebuild 3D objects from multi-view renders by generating CAD code) Astra 95.9% vs Sol 83.3%, Fable 5.1 84.3%, Opus 5 82.1%.
- Failure modes differ by channel. GUI: window/permission mismatches (codex#36335). Code: procedural over-fragmentation — a community benchmark of “codex… using MCP and computer use” reports a chair built from “137 mesh objects and 1,492 vertices, which suggests a procedural assembly of simple parts rather than a compact mesh” (codex-blender-bench, community source).
8. The landscape: agents that control the computer
8.1 Every vendor now documents a tool ladder — and says start at the top
| Tier | What it is | Cost / reliability |
|---|---|---|
| 1 | Programmatic — MCP servers, app APIs & scripting, CLI/SDK, OS intents/actions, in-page site tools | cheapest, replayable, auditable |
| 2 | Semi-structured — accessibility tree / DOM / UIA | cheap, but app-specific gaps |
| 3 | Pixels — screenshot → synthetic click/type | most expensive, needs OS consent, foreground on Windows |
The vendors say this in writing:
- OpenAI: “prefer that structured integration… Choose Computer Use when ChatGPT needs to inspect or operate the app visually”; for GPT-6 Astra “we recommend code execution” (computer-use docs, API guide).
- Anthropic: “Claude will reach for the most precise tool first, starting with connectors to services like Slack or Google Calendar. When there isn’t a connector, Claude can directly control your browser, mouse, keyboard, and screen”; and “working through your screen is slower than using a direct integration” (Dispatch and computer use, 23 Mar 2026). Its newer browser tool “adds page structure, so agents target web elements more reliably than with pixels alone” (20 Aug 2026).
- AWS, in the plainest sentence anyone has published on this: “Computer-use agents and APIs solve fundamentally different problems. When an API exists, agents should — and do — use it. But the majority of enterprise software — legacy ERP systems, thick-client applications, proprietary tools — simply doesn’t have API access.” (The Register, 6 May 2026)
- Microsoft doesn’t ship a pixel product; it ships a registry: MCP on Windows / the Windows On-device Agent Registry (ODR) — “a secure, manageable interface to discover and use agent connectors”, where “MCP servers are contained in a separate environment by default and can only access approved resources, limiting vulnerability to threats like cross-prompt injection attacks”, plus default Windows connectors including a File Explorer MCP server (docs, last updated 4 Jun 2026); and App Actions (URI/COM activation) — Windows’ answer to Apple’s App Intents.
- Apple likewise: App Intents, on-screen awareness, and MCP in Xcode 27 — no third-party screen-driving (newsroom, 8 Jun 2026).
- Google is the one major vendor with no published “prefer an API” sentence in its computer
use docs — I searched the full page. Its substitute is safety machinery: a per-action
intentfield,safety_decision∈ {allowed, require_confirmation, blocked}, and opt-in screenshot prompt-injection detection (defaultfalse) (ai.google.dev).
8.2 Creative and 3D apps: the connector wave is entirely programmatic
NVIDIA’s SIGGRAPH 2026 write-up states the trend plainly:
“Leading creative applications are opening Model Context Protocol (MCP) connections that let AI agents work inside the tools where scenes, shots, timelines, assets and edits come to life — while creators stay in control.” — NVIDIA blog, 20 Jul 2026
Its roll-call, same source: Adobe (creative agent across Firefly/Express/CC plus an Adobe Express Developer MCP Server), Affinity by Canva (AI Connector for Claude, MCP-based), Blender (“offers a lightweight MCP server through Blender Lab… a strong example of how open creative tools can become agent-accessible without changing the creative center of gravity”), Boris FX Silhouette (FX Scripting API as first-class MCP tools; interactive online mode plus offline headless instances), Foundry Griptape (MCP orchestration across Blender and Nuke), SideFX Houdini 22 (MCP via the new APEX Script workflow, initially rigging), Unreal Engine (connect AI clients to the editor through MCP). Anthropic’s version is the 28 Apr 2026 connector drop. Not one of these integrations is screenshot-driven.
8.3 Pixels are being absorbed into the programmatic namespace
The neatest 2026 pattern: computer use is increasingly an MCP server. Codex’s Computer Use is
literally “an MCP server + a skill” you toggle in Plugins. AWS WorkSpaces gives agents “a managed
MCP endpoint that provides governed access to desktop tools such as screenshots, mouse control,
and text input”. The popular community Windows server is UIA-tree-based and vision-optional
(“doesn’t rely on any traditional computer vision techniques”; ~7k★). trycua/cua (~22.5k★) calls
the genre “Computer-Use 2.0… an agent moving between code, APIs, and graphical interfaces within
the same task.”
And the newest structural piece — WebMCP, a Draft Community Group Report dated 9 September 2026, edited by Microsoft and Google engineers:
“The WebMCP API enables web applications to provide JavaScript-based tools to AI agents… Web pages that use WebMCP can be thought of as Model Context Protocol servers that implement tools in client-side script instead of on the backend.” — webmachinelearning.github.io/webmcp
Its repo argues the case explicitly in anti-pixel terms (“UI Disintermediation & Context Loss”), and it is already live: supported in ChatGPT Desktop (“Site tools”, shipped 25 Aug 2026), origin trials in Chrome 149 and Edge 150, experimental in Brave; no Firefox/Safari support yet. That is Blender’s story repeated for the web: give the agent tools, not pixels.
8.4 What is new since the 7 Sep 2026 baseline
- Meta Muse (8 Sep 2026) — a personal agent on “Muse Secure VM, a dedicated secure computer with its own browser”, with a separate Sentinel agent that must approve anything reaching the internet (about.fb.com) — the sandbox-per-agent pattern, productized.
- Claude in Chrome GA and a built-in browser in Cowork (both 26 Aug 2026).
- ChatGPT desktop app for Linux in preview (11 Aug 2026) — and “Some features, including Computer Use, aren’t yet available in the Linux preview”.
- Codex Apple Messages plugin (20 Aug 2026) — reads/chats/sends through Messages, “sends messages only after you approve” — again programmatic, not GUI.
- Unity official plugin for Claude Code (10 Sep 2026) — press-reported.
- MCP spec is still 2026-07-28; “stateless MCP” is press-reported and not yet a published release.
8.5 What the channels actually cost
- Long-horizon GUI work is still the weak spot, and the failures are cognitive. OSWorld 2.0’s own page: under binary completion at 500 steps, the best model “completes only 20.6% of tasks at a 54.8% partial score”; agents fail because they “lose track of constraints, miss information that arrives mid-task, guess rather than ask the user, and skip verification” — not because they can’t click (osworld-v2.xlang.ai). Vendor numbers in the 62–73% range are partial scores on different releases/budgets — never quote them next to 20.6%. For a like-for-like binary comparison, Simular’s own chart (28 Aug 2026) puts Sai at 28.25% binary vs 23.14% for GPT-5.6 Sol.
- Pixels cost tokens. Reflex’s benchmark: “a browser-use vision agent needed half a million tokens to click on a dropdown menu”, concluding agents can be “45 times more expensive than using an API” — a single-scenario vendor benchmark that AWS publicly disputes (The Register, 6 May 2026).
- Mix shift, measured at scale. The UK AI Security Institute analysed 177,436 MCP tools (Nov 2024 → Feb 2026): “the share of action tools in monthly downloads rose from 24% to 65%…, driven by growth in computer use and browser automation tools”, and warns that consequential actions increasingly happen “rather than through restricted, secure API integrations” (AISI, 26 Mar 2026). The same study: MCP servers with payment execution grew from 46 to over 1,200 in a year, and 55% of MCP servers published in Jan 2026 show AI assistance in their creation (Claude Code accounts for 66% of those) — the connector ecosystem is now largely agent-written.
- Security posture differs by channel. Pixel channels need screenshot injection classifiers (Anthropic runs them automatically and steers the model to ask for confirmation; Google’s is opt-in, default false). Structured channels trade that for containment: Windows ODR sandboxes servers; WebMCP gives “each tool invocation… a safety review before it runs”, “tied to its originating page and tool registration” — while opening a new text-level injection surface in tool descriptions and names.
Synthesis: the frontier labs ship generic perception + actuation; app vendors ship the
connectors; the community fills the gaps; and the pixel channel is being standardized into just
another MCP endpoint. Blender is the template case — an open app that became agent-accessible by
exposing a protocol next to its Python API, without putting AI inside the product (its policy still
says “No generative AI functionality is currently available or planned to be integrated in
Blender”). Agents that “control your computer” are converging on controlling your applications'
APIs, and reaching for the mouse only where no API exists. Per-OS substrate, mobile coverage, the
protocol stack and the full benchmark table are in the companion baseline
computer-use-landscape-2026-09-07.md (research date 7 Sep 2026).
9. Caveats
openai.comblocks scripted fetches (403); the launch-page texts were read via a text mirror of the canonical URLs — descriptions are OpenAI’s words, but dates (Codex computer use: macOS 16 Apr 2026, Windows May 2026; Astra: 3–4 Sep 2026) are secondary/community-reported. The arch-viz post exposes no machine-readable date.- OSWorld 2.0 figures are vendor partial scores on an offline subset, not paper binary scores.
bettertoken.ai(API-key reseller) andvagon.io(cloud-PC vendor) are marketing sources; their value here is that they paraphrase primaries I read directly.- The Medium walkthrough (23 Jul 2026) is fetch-blocked and was read via a mirror; “headless” there is inference, not a quote.
- Vendor self-published: 3D-Agent, Mixar (a fork of Blender with an in-app agent).
- Unverified, HN-only: a claim that the community Blender MCP maintainer’s GitHub account was
compromised (HN 49238028, 10 Aug 2026) — worth
checking before
uvx blender-mcp. - Never quote OSWorld numbers without the metric. Paper: 20.6% binary / 54.8% partial
(best model, 500 steps). Vendor claims of 62–73% are partial scores on other releases and step
budgets; Astra’s 72.6% in §7 is a partial score on the offline
2026.08.08set. - The 45× / 500k-tokens figure is one vendor benchmark on one browser scenario, publicly disputed by AWS; treat it as directional.
- Google: its computer-use docs contain no “prefer an API/MCP” statement — absence of evidence, not a claim.
- WebMCP is a Draft Community Group Report, not a W3C Standard; support is uneven (ChatGPT Desktop yes, Chrome 149 / Edge 150 origin trials, no Firefox/Safari).
- Press-reported only (no vendor page resolved): Unity plugin for Claude Code (10 Sep 2026); Unreal 5.8 MCP; Adobe’s own posts for 28 Apr / 6 Aug 2026. Meta Muse is vendor-verified at about.fb.com.
- Houdini: the NVIDIA blog (20 Jul 2026) is the primary source for MCP-in-Houdini-22; there is no
official SideFX docs page for it (careful —
sidefx.com/docs/.../mcp.htmlis Houdini’s movie-conversion CLI, unrelated to MCP), and trade coverage describes it as a Labs-bound sneak peek focused on APEX Script rigging rather than a shipping core feature. - Claude Fable 5.1 / Mythos 5.1 (1 Sep 2026) are press-indexed only — no canonical URL or benchmark numbers were verified, so none are cited here.
- “No official OpenAI↔Blender connector” is absence of evidence across docs, cookbook, plugin list and issue tracker, not a vendor denial.