Independent Blender MCP connector by ArchBench: local scene context and optional native Python for MCP clients.
Three tools with clear verb-noun naming and proper schemas. Tool descriptions are adequate (60-120 chars) but lack actionable context for LLM selection. All tools have input schemas with type definitions. Critical gap: no output schema documentation, LLMs cannot predict what fields to expect from responses. The destructive tool (blender_execute_code) has a confirmation parameter but lacks dry-run capability. Parameter descriptions are present but minimal. Error handling is generic (try/catch with error.message) without recovery guidance.
Run user-requested Python directly inside Blender. This is unsandboxed native API access, requires scripts enabled in the host, and can affect files or the network. Set result to a JSON-compatible return value.
Read basic Blender document and selection information, capped at 100 selected objects.
Check the public Blender bridge, version, and whether scripts are enabled.
No output schema documentation. LLMs cannot predict response structure (fields, types, nesting). Responses are JSON-stringified text, forcing LLMs to parse unstructured output.
Destructive tool (blender_execute_code) lacks dry-run or preview capability. Confirmation parameter only checks boolean flag, not user intent. No guidance on partial failure recovery.
Error handling returns raw error.message without recovery guidance. LLM receives 'Connection failed' with no hint to retry, check bridge status, or call get_status first.
Parameter 'confirm' in blender_execute_code uses enum [true] instead of boolean type. This is non-standard and forces LLMs to pass a literal true value rather than understanding it as a confirmation flag.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 65 | 2026-07-28+ | v2 |
Tool descriptions lack WHEN-to-use context. 'Read basic Blender document and selection information' does not explain when to call this vs get_status, or what downstream tools expect from the response.