Skip to main content
Glama
Berrio
by Berrio

Berrio Blender MCP

Servidor MCP y complemento de Blender para preparar personajes de videojuegos de forma segura, repetible y verificable.

El proyecto se concentra en operaciones de alto nivel. No expone una herramienta para ejecutar Python arbitrario dentro de Blender.

Estado

Versión 0.3.0 (alpha). La API del puente usa el contrato versionado 1.0.

Related MCP server: dcc-mcp-blender

Arquitectura

Cliente MCP (Codex, inspector, IDE)
                │ stdio / Streamable HTTP local
                ▼
     Servidor Python FastMCP
       ├─ política de rutas
       ├─ dry-run por defecto
       └─ herramientas estructuradas
                │ JSONL + token, 127.0.0.1:9876
                ▼
       Complemento de Blender
       ├─ cola hacia el hilo principal
       ├─ operaciones permitidas
       └─ checkpoints de archivos .blend

Herramientas MCP

Herramienta

Función

blender_status

Comprueba conexión, versiones y capacidades

blender_scene_summary

Resume escena, armaduras, mallas y acciones

blender_list_objects

Lista objetos sin modificar la escena

blender_validate_character

Valida rig, clips, límites, materiales y dimensiones

blender_create_humanoid_character

Genera un Forjador del Éter original, riggeado y animado, compacto o semirrealista

blender_import_asset

Importa FBX, GLB, GLTF u OBJ

blender_normalize_character

Normaliza altura, centro y contacto con el suelo

blender_rename_actions

Convierte nombres de clips a un contrato estable

blender_export_character_glb

Exporta armadura, mallas y animaciones a GLB

Las operaciones que cambian archivos o escenas usan dry_run=true de manera predeterminada.

Requisitos

  • Python 3.11 o posterior.

  • uv para un entorno reproducible.

  • Blender 4.2 o posterior para el complemento.

Preparar el servidor

uv sync --extra dev
uv run pytest
uv run python scripts/build_addon.py

El último comando genera dist/blender_mcp_bridge-0.3.0.zip.

Arquetipos originales

Arquetipo

Uso recomendado

Complejidad aproximada

ether-forger

Fallback compacto y prototipos

18 huesos, 12.396 triángulos, 8 materiales

ether-forger-v2

Héroe semirrealista para el juego

39 huesos, 40.522 triángulos evaluados, 12 materiales

V2 añade proporciones humanas mejoradas, dedos, rasgos faciales, cabello por mechones, ropa dividida, armadura laminada, huesos de torsión y abrigo, y microdetalle procedural en los materiales. Sigue siendo un activo semirrealista optimizado para juego; no sustituye un flujo de escultura y texturizado humano fotorrealista.

Para instalar una copia portátil verificada de Blender 4.5 LTS dentro de .tools:

powershell -ExecutionPolicy Bypass -File scripts\install_blender_portable.ps1

El script descarga desde download.blender.org, compara la suma SHA-256 oficial y solo después extrae el programa. .tools está excluido de Git.

Instalar el complemento

  1. En Blender, abre Edit → Preferences → Add-ons.

  2. Selecciona Install from Disk e instala el ZIP generado.

  3. Activa Berrio Blender MCP Bridge.

  4. Opcionalmente configura un token en las preferencias.

  5. Abre 3D View → Sidebar → Blender MCP y pulsa Start MCP Bridge.

El puente solo acepta conexiones de loopback. Si se configura un token, el servidor MCP debe recibir el mismo valor en BLENDER_MCP_TOKEN.

Ejecutar mediante stdio

uv run blender-mcp

Configuración MCP genérica:

{
  "mcpServers": {
    "blender-character-pipeline": {
      "command": "uv",
      "args": [
        "--directory",
        "C:\\ruta\\a\\blender-MCP",
        "run",
        "blender-mcp"
      ],
      "env": {
        "BLENDER_MCP_WORKSPACE_ROOTS": "C:\\ruta\\a\\Repos",
        "BLENDER_MCP_TOKEN": "el-mismo-token-de-blender"
      }
    }
  }
}

También puede ejecutarse mediante Streamable HTTP restringido al equipo local:

uv run blender-mcp --transport streamable-http --host 127.0.0.1 --port 8000

Skill de personajes para Codex

La skill versionada en skills/blender-character-pipeline enseña a Codex a diagnosticar por capas, ejecutar cambios primero como simulación y distinguir problemas del activo Blender de fallos de animación, navegación o control dentro del motor.

Instálala en el perfil actual de Codex:

powershell -ExecutionPolicy Bypass -File scripts\install_codex_skill.ps1

Registra después este servidor MCP con el mismo nombre declarado por la skill:

codex mcp add blender-character-pipeline `
  --env BLENDER_MCP_WORKSPACE_ROOTS=C:\ruta\a\Repos `
  -- uv --directory C:\ruta\a\blender-MCP run blender-mcp

Reinicia Codex después de instalarla o actualizarla. Invócala explícitamente con $blender-character-pipeline, aunque también puede activarse al trabajar con personajes .blend, FBX, GLB, GLTF u OBJ.

Seguridad

  • Solo se permite 127.0.0.1, localhost o ::1.

  • No existe una operación de código arbitrario.

  • Las rutas se restringen con BLENDER_MCP_WORKSPACE_ROOTS.

  • Las mutaciones comienzan como simulaciones.

  • Importar, normalizar y renombrar pueden crear checkpoints del .blend guardado.

  • Los mensajes tienen límites de tamaño y tiempo.

Un proceso local que comparta la cuenta del sistema sigue teniendo acceso a los mismos archivos. Usa un token cuando convivan procesos que no sean de confianza.

Flujo recomendado para personajes

  1. Consultar estado y resumen de escena.

  2. Simular la generación ether-forger, ether-forger-v2 o la importación y luego ejecutarla explícitamente.

  3. Validar armadura, mallas, presupuesto y clips.

  4. Simular y ejecutar la normalización.

  5. Renombrar clips a Idle, Walk, Run, Attack, Dodge, Hit y Death.

  6. Validar otra vez.

  7. Simular y ejecutar la exportación GLB.

  8. Conservar el archivo fuente y la licencia del activo.

Desarrollo

uv run ruff check .
uv run pytest --cov=blender_mcp --cov-report=term-missing
uv run python scripts/smoke_mcp.py

La prueba de humo inicia el servidor por stdio, negocia una sesión MCP real, enumera las herramientas y comprueba blender_status. Las pruebas del puente usan un Blender simulado; las operaciones bpy deben comprobarse adicionalmente dentro de Blender.

Con la copia portátil, la integración real se comprueba en modo de fábrica y sin interfaz:

& '.\.tools\blender-4.5.10-windows-x64\blender.exe' `
  --background --factory-startup --python scripts\blender_integration_test.py

El contrato JSONL entre el servidor y el complemento está documentado en docs/BRIDGE_PROTOCOL.md.

Licencia

MIT. Las licencias de modelos, texturas y animaciones procesados por este servidor permanecen bajo sus términos originales.

Available Tools

9 tools
blender_create_humanoid_characterB

Plan or generate an original rigged humanoid with seven canonical game actions.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoStable character name used as the Blender object prefixEtherForger
dry_runNo
height_mNo
archetypeNoether-forger
blend_filepathNoOptional destination .blend file inside an allowed workspace
create_checkpointNo

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose side effects, but it only says 'plan or generate,' leaving unclear whether it modifies the Blender scene, creates files, or respects dry-run semantics. No mention of checkpoints, file writes, or other behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence with no filler. Every word contributes to the core purpose, making it highly concise and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite the tool's complexity (6 parameters, no output schema, no annotations), the description provides minimal context. It omits return values, side effects, relationship to sibling tools, and the meaning of 'plan' vs 'generate,' leaving the agent under-informed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 33%, and the description fails to explain parameters like height_m, archetype, dry_run, or create_checkpoint. The mention of 'seven canonical game actions' hints at output but does not clarify parameter meanings.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function with a specific verb ('plan or generate') and resource ('original rigged humanoid'), and adds specificity with 'seven canonical game actions.' This distinguishes it from sibling tools like import, validate, and export.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied: this is for creating a new humanoid character, contrasted with siblings for importing, validating, exporting. However, there is no explicit 'when to use' or 'when not to use' guidance, nor mention of alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

blender_export_character_glbB

Plan or export one armature and its bound meshes as an optimized game-ready GLB.

ParametersJSON Schema
NameRequiredDescriptionDefault
dry_runNo
filepathYesDestination .glb path inside an allowed workspace
armature_nameNo
include_animationsNo

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of disclosing behavior. It adds useful context about the tool's scope ('one armature and its bound meshes' and 'optimized game-ready') but does not explain behavioral traits such as whether dry_run actually writes a file, whether existing files are overwritten, or what occurs when armature_name is null. The description mentions 'Plan or export' but leaves the dry-run behavior vague.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that front-loads the core action ('Plan or export') and specifies the resource ('one armature and its bound meshes'). There is no fluff, and every word contributes to understanding the tool's purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 4 parameters, no annotations, and no output schema, the description is under-specified. It does not explain the behavior of 'Plan' mode, what 'optimized' means in practice, whether animations are included by default, or what the tool returns after execution. This is insufficient for an AI agent to confidently invoke the tool without additional clarification.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 25% (only filepath has a description). The description adds some meaning for armature_name ('one armature') and hints at dry_run ('Plan or export'), but it does not clarify include_animations or the exact role of dry_run. With low schema coverage, the description should compensate more thoroughly, but it does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Plan or export one armature and its bound meshes as an optimized game-ready GLB.' This is a specific verb+resource description that distinguishes it from siblings like import, validate, or normalize. The word 'export' and 'GLB' make the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide explicit when-to-use or when-not-to-use guidance, nor does it mention alternatives like blender_validate_character or blender_normalize_character. It implies usage through 'Plan or export' but lacks clear context for selecting this tool over others, and no prerequisites or exclusions are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

blender_import_assetB

Plan or import a supported character asset. Mutation requires dry_run=false.

ParametersJSON Schema
NameRequiredDescriptionDefault
dry_runNo
filepathYesFBX, GLB, GLTF, or OBJ path inside an allowed workspace
create_checkpointNo

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses the critical behavioral trait that mutation occurs only when dry_run=false, which is valuable. However, it omits other behavioral details like side effects on the scene, potential naming conflicts, or what the planning mode actually does.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with a critical qualifier. It front-loads the core purpose and adds the essential behavioral note without any fluff or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 3 parameters, no output schema, and no annotations, the description provides the core purpose and a key behavioral gate, but it lacks details on the planning semantics, checkpoint behavior, or return values. It is adequate but not fully complete for an agent to use safely and effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 33% (only filepath has a description). The description adds meaning to dry_run by stating mutation requires false, but it does nothing for create_checkpoint or further clarify filepath. This is insufficient to compensate for the low schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific action ('plan or import') and resource ('supported character asset'), which distinguishes it from sibling tools like export or create. However, 'plan' is somewhat ambiguous and could be clearer, so it doesn't earn a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to use this tool versus alternatives, such as blender_validate_character or blender_create_humanoid_character. The description implies a planning mode but doesn't state scenarios or prerequisites, leaving the agent without clear selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

blender_list_objectsA

List Blender scene objects without modifying the scene.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
object_typeNoOptional Blender type such as MESH or ARMATURE

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the burden. It discloses that the operation does not modify the scene, which is a key behavioral trait. However, it does not describe the return format, whether it returns a simple list of names or full object data, or any other side effects/limitations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with no filler. It communicates the core purpose and a safety qualifier efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list operation with no output schema, the description adequately explains what the tool does and its non-destructive nature. It lacks detail about return values or use cases, but given the tool's low complexity, it is sufficient. However, it could mention that results can be filtered by object_type or limited.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description does not mention the 'limit' or 'object_type' parameters. The schema covers one of two parameters with a description (object_type), and limit's name/constraints are self-explanatory, so the description adds no extra meaning. With 50% schema coverage, this is borderline; a parameter explanation would help.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('List') and the resource ('Blender scene objects'), and adds a safety qualifier ('without modifying the scene') that distinguishes it from mutation tools like blender_create_humanoid_character or blender_export_character_glb. The verb is specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus siblings such as blender_scene_summary or blender_status. The 'without modifying the scene' implies a safe read operation, but there is no mention of alternatives, exclusions, or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

blender_normalize_characterC

Plan or normalize a character's height, horizontal center, and ground placement.

ParametersJSON Schema
NameRequiredDescriptionDefault
dry_runNo
center_xyNo
armature_nameNo
place_on_groundNo
target_height_mNo
create_checkpointNo

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, but it only says 'normalize,' which implies modification without explaining whether it is destructive, requires an armature, or how dry-run works. No additional behavioral context is disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that conveys the core purpose without wasted words. However, it could be slightly longer to include crucial behavioral or parameter context without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With six parameters, no annotations, and no output schema, the description is clearly insufficient. It fails to explain the normalization process, the role of dry_run, armature selection, or what happens after execution, leaving major gaps for an agent to use it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It mentions height, horizontal center, and ground placement, which loosely map to target_height_m, center_xy, and place_on_ground, but ignores dry_run, armature_name, and create_checkpoint entirely. The mapping is implicit and incomplete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it normalizes a character's height, horizontal center, and ground placement, which distinguishes it from sibling tools like validate or export. However, the verb 'plan' is somewhat ambiguous and not as direct as a single action verb.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like blender_validate_character or blender_create_humanoid_character. The description does not mention prerequisites, context, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

blender_rename_actionsB

Plan or rename Blender actions to stable game-facing clip names.

ParametersJSON Schema
NameRequiredDescriptionDefault
dry_runNo
mappingYesCurrent action name to canonical action name
create_checkpointNo

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'Plan or rename' but does not explain what 'plan' means, whether actual renaming is destructive, how checkpoints work, or any side effects. This leaves the agent without essential safety information for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with clear verb-object structure and no extraneous words. It is front-loaded with the action and resource, making it efficient and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 3 parameters including a nested object and a dual-mode behavior, yet the description is minimal. It lacks guidance on required inputs, the meaning of 'plan' vs. 'rename', and the effects of boolean flags. With no output schema or annotations, this under-specification leaves a critical gap in understanding the tool's workflow.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 33% (only 'mapping' is described). The description adds meaning for mapping by explaining the target as 'stable game-facing clip names', but it completely omits the roles of 'dry_run' and 'create_checkpoint'. The agent cannot infer their semantics from the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'rename' and identifies the resource 'Blender actions', clearly stating the goal: 'to stable game-facing clip names'. This distinguishes it from sibling tools like blender_import_asset or blender_list_objects, which handle different operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'Plan or rename' implies a dual mode of operation, but it does not explicitly state when to use planning vs. executing or provide alternatives. There is no clear context for when this tool should be chosen over other Blender tools, though the purpose itself strongly implies its use case.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

blender_scene_summaryA

Summarize the open Blender file, object counts, armatures, meshes, actions, and save state.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses what the tool reports (object counts, armatures, meshes, actions, save state) but does not explicitly state that it is read-only or safe, and there are no annotations to cover this. The term 'summarize' implies non-mutating behavior, but side effects and operational details are not addressed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that front-loads the verb and resource, then lists the key summary points efficiently. Every word adds value and there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no parameters and no output schema, the description sufficiently covers what the tool does and what information it provides. It could benefit from mentioning typical use cases or a note about the return format, but for a simple summary tool, the information is largely complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, which earns a baseline of 4 per the rubric. The description adds no parameter-level detail, but none is needed since there are no parameters to explain.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool summarizes the open Blender file and lists specific aspects (object counts, armatures, meshes, actions, save state), making its function evident. However, it does not explicitly distinguish itself from sibling tools like blender_status or blender_list_objects, though the summary nature is implied.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. It does not mention that it should be used for a high-level overview before detailed operations, nor does it contrast with blender_status or blender_list_objects. Agents are left to infer appropriate contexts.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

blender_statusA

Check whether the local Blender add-on bridge is running and report its capabilities.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the burden of behavioral disclosure. It states the operation checks and reports, implying a read-only action, but it does not explicitly confirm that it has no side effects, nor does it describe what happens if the bridge is not running (e.g., error vs. false status). More detail on expected behavior would be helpful.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence that front-loads the core purpose and immediately communicates the tool's function. No wasted words or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given its simplicity (no params, no output schema, no annotations), the description covers the essential purpose and the kind of information returned ('capabilities'). It could be slightly more explicit about the output format or prerequisites, but it is largely complete for a status-checking tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the description does not need to explain parameter details. The baseline for 0 parameters is 4, and since the description correctly implies no inputs are required, it fully lives up to that baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('check') and identifies the exact resource ('local Blender add-on bridge'), with the added purpose of reporting capabilities. It clearly distinguishes itself from sibling tools like blender_import_asset or blender_scene_summary, which perform different operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage as a preliminary status check before other Blender operations, but it does not explicitly state when to use it versus alternatives or exclude any cases. There is no mention of when-not to use or what other tools might be more appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

blender_validate_characterA

Validate a humanoid for game export: rig, meshes, actions, bounds, triangles, and materials.

ParametersJSON Schema
NameRequiredDescriptionDefault
armature_nameNo
material_budgetNo
triangle_budgetNo
required_actionsNo

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry the behavioral burden. 'Validate' implies a non-destructive check, but it does not explicitly state side effects, return format, or what happens on failure. It lists aspects checked but not behavioral guarantees.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that front-loads the verb and resource, then compactly lists the validation areas. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 4 parameters, no output schema, and no annotations, the description is too sparse. It lacks information about return values, prerequisites, side effects, or edge cases, making it insufficient for an agent to fully understand the tool's behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, and the description only loosely maps to parameters (triangles -> triangle_budget, materials -> material_budget, actions -> required_actions, rig -> armature_name). It does not explain defaults, constraints, or how the parameters are used, leaving significant ambiguity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'validate' applied to a 'humanoid for game export', and enumerates the validation scope (rig, meshes, actions, bounds, triangles, materials). This distinguishes it from sibling tools like create, normalize, and export.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'for game export' provides clear usage context, implying this is a pre-export validation step. However, it does not explicitly mention alternatives or when not to use it, lacking exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 9 tool updatesv0.3.0
    • First observedblender_create_humanoid_character
    • First observedblender_export_character_glb
    • First observedblender_import_asset
    • First observedblender_list_objects
    • First observedblender_normalize_character
    • First observedblender_rename_actions
    • First observedblender_scene_summary
    • First observedblender_status
    • First observedblender_validate_character

TDQS

A3.5/5.0

Scored across 9 tools

Disambiguation5/5

Each tool targets a distinct stage or aspect of the character pipeline: status, scene info, object listing, import, creation, validation, normalization, action renaming, and export. There is no meaningful overlap between tool purposes, and descriptions clearly distinguish read-only actions from mutating ones.

Naming Consistency4/5

All tools share the 'blender_' prefix and use snake_case, with most following a verb_noun pattern (import_asset, list_objects, validate_character). The exceptions are blender_status and blender_scene_summary, which use noun-only or noun_noun naming, creating a minor inconsistency.

Tool Count5/5

With 9 tools, the set is well-scoped for the stated domain of Blender character preparation and export. Each tool covers a necessary step without redundant or excessive additions, fitting comfortably within the ideal 3-15 range.

Completeness4/5

The toolset covers the core lifecycle for character assets: import, create, validate, normalize, rename actions, and export. Minor gaps exist (e.g., no tool for direct editing of meshes or armatures), but the provided suite is sufficient for a complete character pipeline from import to game-ready export.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    B
    maintenance
    An MCP server that enables AI assistants to control Blender through 108 specialized tools for 3D modeling, animation, and rendering. It provides a secure, thread-safe interface to execute validated operations in Blender using natural language commands.
    100
    138
    AGPL 3.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    Connects MCP-compatible clients to a live Blender scene for AI-assisted 3D workflows, enabling inspection and controlled operations on objects, materials, cameras, lights, render settings, animation, UVs, Geometry Nodes, imports, exports, and Python execution.
    1
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables safe, structured control of Blender on Windows via a standalone STDIO MCP server, providing seven tools to inspect scenes, list and edit materials, transform objects, add modifiers, set smooth shading, and export assets without arbitrary code execution.
    7
    Apache 2.0