Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
POLYPIZZA_API_KEYNoOptional API key for Poly Pizza. Poly Haven requires no key; Sketchfab downloads and Poly Pizza require a key. Can also be configured via `uv run roxy-blender-mcp configure`.
SKETCHFAB_API_TOKENNoOptional API token for Sketchfab downloads. Poly Haven requires no key; Sketchfab downloads and Poly Pizza require a key. Can also be configured via `uv run roxy-blender-mcp configure`.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_statusA

Blender connection (versions, file, engine, scratch folder) plus which asset libraries are configured. Call it once at the start.

get_scene_infoA

Scene overview: every object's location, world size, bbox, modifiers, materials, plus camera/lights and the overall model bounding box. Use before editing an existing scene.

inspect_objectB

Everything about one object: transform, world bbox, topology (tris/quads/ngons), shading, modifier settings, material slots, UVs, children.

lookA

See the model: renders several angles into ONE contact-sheet image (orthographic views report their frame width in metres). Call it after every few modeling steps - it is how you catch wrong proportions, gaps and intersections. With frames=[...] it shows an animation over time.

viewport_screenshotA

Screenshot of the user's 3D viewport exactly as they see it (GUI Blender only). For judging the model itself prefer look(), which is independent of the user's view.

create_primitiveA

Create a primitive built at its TRUE size (mesh data, scale stays 1, so bevels stay even). Returns its world bounding box so you can place the next part precisely.

create_latheB

Surface of revolution around the local Z axis - the best tool for anything round: bottles, vases, cups, bowls, lamp bases, knobs, wheels, columns, chess pieces, light bulbs. Example vase: profile=[[0,0],[0.06,0],[0.09,0.06],[0.1,0.13],[0.05,0.24],[0.04,0.28],[0.05,0.3]], cap=false, thickness=0.004.

create_extrusionA

Extrude a 2D outline into a solid with clean quad sides - for anything defined by a silhouette: chair/shelf side panels, brackets, plates with holes, table aprons, logos, gears, cookie-cutter shapes. Draw in the plane you think in (front elevation = XZ). Holes, rolled rims and crowns are built as a well-formed surface (even triangles, real quarter-round rims): give the shape here instead of adding a big Bevel or pushing vertices afterwards. Holes must lie inside the outline (checked).

create_sweepB

Sweep a profile along a 3D path: mug/bag/door handles, pipes, cables, hoses, bent tubular chair frames, picture frames (closed + rect), rails, springs, horns (taper).

create_loftB

Skin a smooth surface through cross-sections - for forms whose section changes along their length: fuel tanks, seats, square-to-round bottles, hulls, fuselages, vehicle bodies, trunks, organic product shells.

create_pipeB

One continuous tube whose radius changes along a curved path - exhaust header + reducer + muffler in one piece, horns, bottle necks, hoses with sleeves, branches. No separate cylinders butted together.

create_textC

3D text (converted to a mesh) with beveled edges.

edit_meshC

Edit mesh geometry with world-space selections (no edit-mode needed). Typical: extrude the top of a box into a neck, inset+extrude a panel recess, bevel just the rim of a face, soft_move to sculpt organic forms, loop_cuts before deforming, bisect+clear_outer to keep one half for a mirror modifier.

add_modifierB

Add a modifier with quality defaults (exact booleans with the cutter hidden, even-thickness solidify, clipped mirror, angle-limited bevel with hardened normals). The stack is auto-ordered so booleans/mirror/ solidify run before bevel and subdivision.

manage_modifiersB

List / tweak / remove / apply modifiers. Applying a boolean deletes its (hidden) cutter if unused.

transform_objectC

Move/rotate/resize objects. dimensions= is the safe way to resize (keeps bevels even).

place_objectA

Snap an object against another using exact world bounding boxes - no floating cups or sunken legs. e.g. place_object('Lamp', 'on_top', 'Desk', align='keep') keeps its XY and sets its base on the desk.

duplicate_patternC

Repeat an object in a pattern; the original becomes the first item. Legs, spokes, chairs around a table, shelves, bolts, tiles, fence posts.

organize_objectsC

Housekeeping: rename, delete, duplicate, join meshes, parent, group under an empty (moves as one unit), move to collection, hide/show, select (highlights for the user), shade smooth/flat/auto, set_origin, apply_transform, convert curves/text to mesh.

apply_materialB

Physically based materials with procedural detail (grain, veins, micro-roughness, bump) and optional weathering, no UVs needed. Identical specs are shared automatically. Prefer presets over plain colours; real objects mix materials (wooden top + metal legs, ceramic body + cork lid).

list_material_presetsB

All material presets with a one-line description.

uv_unwrapA

UV-unwrap meshes for export/painting (presets and texture_maps work without UVs; make_game_asset unwraps by itself). Returns per-object islands, packing efficiency, stretch and texel-density spread.

uv_reportB

Measure UV quality: islands, packing efficiency (share of the texture used), area stretch, angle error, texel-density spread between islands, seam length and overlaps. Good game UVs: stretch < 3 %, efficiency > 55 %.

setup_lightingA

Replace the lighting with a calibrated rig scaled to the subject (AgX-friendly energies, colour temperatures, HDRI reflections). Run it again any time; previous Roxy lights are removed.

create_backdropC

Seamless studio backdrop or floor sized to the subject, sitting at its lowest point.

setup_cameraC

Create/aim the scene camera so the subject fills the frame (exact fit to its geometry).

render_imageB

Final render through the scene camera (auto-created if missing) with AgX colour management; returns a preview image and the saved file path. Use cycles for glass/liquids/interiors when quality matters.

add_surface_detailA

Secondary detail is what makes hard-surface models read as manufactured: seams, fasteners, vents. Screws/rivets are snapped onto the actual surface and parented to the object; panel lines are real grooves (bevelled by the object's bevel modifier); vents are a live boolean.

add_planksA

Turn a solid (box, lid, extrusion) into real boards/staves with gaps - crates, chests, floors, fences, barrels, doors. Live Geometry Nodes modifier 'Roxy Planks' (editable sliders); every board gets its own 'roxy_board' value so wood materials vary in tone per board. Bevel/chips/weathering apply per board. make_game_asset bakes the gaps into the normal map (the game mesh stays a clean solid).

add_masonryA

Real bricks, blocks, stone courses or tiles cut from a solid (walls, chimneys, floors, steps): joints are real gaps with a mortar bed behind, every unit varies in depth and tone. Live Geometry Nodes modifier 'Roxy Masonry' (sliders) + a '_Mortar' child. add_damage chips the arrises; make_game_asset bakes it.

scatterB

Natural scatter (Poisson spacing, random spin/size, aligned to the surface). Live 'Roxy Scatter' modifier; the source items are hidden and kept in a collection for editing.

add_damageA

Real chipped edges (wood, stone, concrete, painted props): flakes sliced off convex edges as geometry, rims softened by the bevel, wear shading follows the chips. Live Geometry Nodes modifier 'Roxy Damage' (editable sliders). make_game_asset bakes it into the normal map. Not for clean new products.

create_cushionB

Upholstered soft goods built like the real thing (rounded-rectangle plan, bulging sides, crowned faces, seam piping, optional buttons). Origin at the bottom centre; returns top_z for stacking.

review_modelA

AAA-standard critique: scores edges, silhouette smoothness, secondary detail, material variety and surface breakup, weathering, integrity (floating/normals) and presentation, and returns prioritised concrete fixes. Run it before declaring a model finished and work down the list.

make_game_assetA

Turn a finished Roxy model into a UE5-ready game asset: game mesh (low/mid-poly, triangulated, smoothing groups, pivot at bottom centre), UVs at the target texel density, a Cycles bake of EVERY Blender-only effect (Poly Haven projections, procedural recipes, weathering, bevels, small parts) into BaseColor / Normal (DirectX) / ORM (R=AO G=Roughness B=Metallic) PNGs, transparent parts on a separate glass slot, UCX_ collision, and an FBX. Takes 1-4 minutes. Run review_model(objects=['SM_...'], purpose='game') afterwards.

animateC

Keyframes with designer-grade easing per segment (After Effects Easy Ease, CSS cubic-bezier, back/bounce/ elastic). Returns a curve check (speed spikes, loop seams).

animate_presetB

Prop motions with the principles of animation built in - the quickest way to a lively lid, door, drawer, lever, fan or pickup. Each preset becomes its own action (clip).

rig_propB

Mechanical rig for props: root bone + one bone per moving part at its hinge, limits, rigid skinning - a UE5-ready skeletal mesh. Children (rivets, handles) follow their parent part.

export_skeletalA

UE5 export of a rigged prop: SK_.fbx (skeletal mesh) + A__.fbx per clip, centimetre scale, no leaf bones, root bone 'root'; easing is baked per frame so timing matches exactly.

rig_characterA

Automatic humanoid rig for a finished character in T- or A-pose (facing -Y, Z up): joints found from the mesh itself, a UE5 Mannequin-compatible skeleton (pelvis, spine_01-05, neck_01/02, head, clavicle, upperarm, lowerarm, hand, fingers, thigh, calf, foot, ball, twist and ik_ bones), weights from a watertight proxy transferred to every mesh (garments smoothed, hair/hats rigid to the head, max 4 influences). Then export_skeletal for UE5 and retarget Mannequin animations with the IK Retargeter.

check_animationB

Find sudden speed changes and loop seams (hitches) in animation curves.

compare_referenceA

Compare the model's silhouette with a reference photo/concept: proportions only (both normalised to their height). Returns IoU, overall aspect difference and per-height corrections ('at 70-80 % height the model is 18 % narrower', with world z), plus an overlay image (red = only in reference, blue = only in model). Fix the listed bands (edit_mesh scale/soft_move on that z range) and compare again. Use corresponding reference/model views and separable backgrounds. Normalized silhouette agreement cannot verify absolute dimensions, apertures, attachments, materials or AAA fidelity.

check_contactsA

Which parts really touch (evaluated surfaces, embedded parts count), every part or group detached from the main assembly with its gap and nearest assembly part, and elongated parts with loose ends. Bounding-box checks miss these in dense models. Touching is not proof of the right mount - check the real partner.

attach_partB

Close the gaps check_contacts measured, using the measured closest points (no guessed coordinates).

declare_freeA

Record intentional separation so check_contacts and the delivery gate do not flag it.

analyze_qualityB

Find what makes a model look wrong: floating or sunken parts, flipped normals, non-manifold/internal faces, duplicate verts, faceted shading, razor-sharp unbeveled edges, unapplied scale, missing materials, intersecting parts, missing camera/lights. Each issue comes with a fix hint.

cleanup_meshB

Merge duplicate verts, remove loose geometry and degenerate faces, make normals consistent.

modeling_progressA

Scene-persistent per-part completion checklist. Start a plan, inspect each stage and record evidence. Passing requires all earlier stages passed and no unresolved findings. Rechecks invalidate later stages and scene delivery checks (recording delivery itself preserves other delivery checks). After geometry/material/reference changes, invalidate the earliest affected stage before rechecking. report lists blockers; ready_for_delivery means recorded checks passed, NOT certified AAA quality. Define reference shape/attachment features before recording stages. Passing stages requires their comparisons; failed comparisons require recorded repairs and fresh model images before passing. Fingerprints detect changes to declared target geometry, material inputs and saved evidence. No image-content analysis, evidence-truth verification or complete dependency tracking. reset explicitly discards only the checklist, not the model. Stored in the Blender scene and saved with the .blend file. Use one active plan per scene.

inspect_connectionsA

Measure explicit attachment points against evaluated world-space geometry, including holes and modifiers. Reports gaps or misplaced endpoints that bounding-box checks miss. Tolerances must be justified from the design/scale. This does not discover correct partners, certify photo fidelity, compute signed penetration, sweep collisions or simulate mechanisms. Inspect close-ups too.

checkpointB

Snapshot the scene before risky edits and roll back if they go wrong (restore replaces the current scene's objects with the snapshot; the user's .blend file is untouched).

clear_sceneB

Delete every object in the scene (start fresh). Ask the user first if the scene has their work.

execute_pythonA

Escape hatch for anything the dedicated tools don't cover (geometry nodes, drivers, particles, custom bmesh work, animation). Prefer the dedicated tools - they carry the quality defaults.

batchA

Run many tool calls in one round-trip (e.g. all the parts of a chair). Results come back per step. Not for look/render_image (their images are dropped).

get_guideB

Modeling know-how on demand: workflow, dimensions (real-world sizes), hard_surface, organic, furniture, product, detailing (construction, joints, close-up checks), reference_fidelity (feature contracts, repair loops and measured connections), japan (strict Japanese regional policy), materials, lighting_render, assets (libraries and imports), game_assets (UE5 export), animation_rigging (easing, prop rigs, character rigs), recipes (worked examples), troubleshooting.

search_assetsA

Search ready-made assets. Results carry an id for import_asset, plus licence/author, real-world size (Poly Haven) and face counts.

import_assetA

Download an asset found with search_assets and bring it in scene-ready. Models: cleaned, real size, grounded, credited. Textures: a PBR material box-projected at the texture's real-world size (no UVs needed). HDRIs: world lighting.

import_model_fileC

Import a model file from disk with the same clean-up as library assets.

export_modelC

Export models for other software, game engines, the web, AR or 3D printing.

Prompts

Interactive templates invoked by user choice

NameDescription
model_objectModel an object with the detailed quality workflow and close-up verification.

Resources

Contextual data attached and managed by the client

NameDescription
Animation, prop rigs and character rigs (UE5)Eased keyframes (After Effects / CSS curves), prop presets with anticipation and overshoot, hinge rigs, automatic Mannequin-compatible character rigs, UE5 skeletal export.
Asset libraries and importsWhen to model vs download; Poly Haven/Sketchfab/Poly Pizza; blockout replacement; licences; import clean-up.
Detailed modeling and close-up verificationBuild convincing construction, joints and surface details at real size, then verify them in close-ups.
Real-world dimensionsTypical sizes (metres) of furniture, tableware, electronics, architecture, vehicles and people.
Furniture and interiorsConstruction logic for tables, chairs, shelves, cabinets and rooms - joinery, proportions, assembly order.
Game assets for UE5 (PC)Build at real size with full detail, then make_game_asset bakes it into an engine-ready mesh + PBR texture set + collision + FBX.
Hard-surface techniqueBevels, booleans, panel lines, insets, mirror, stack order and shading for mechanical/product parts.
Strict Japanese regional modeling policyRequired Japanese context, reference evidence, regional checks and handling unknown specifications.
Lighting, camera and renderingPresets, camera angles and lenses, composition, render engines and settings.
MaterialsChoosing presets, colours, roughness, combining materials and using image textures.
Organic and soft formsSubdivision modeling, lofts, quad spheres, soft_move sculpting, creases - for characters, plants, food, soft goods.
Product design objectsConsumer products, packaging and electronics - radii, shells, buttons, screens, labels, presentation.
Worked recipesComplete, tested batch payloads (mug, wine glass, table, chair, smartphone, perfume bottle) to copy and adapt.
Feature-level reference matching and connection repairDefine distinctive shapes and attachments from real references, compare close-ups, repair differences and recheck with fresh evidence.
TroubleshootingFixes for connection errors and for the usual visual problems (gaps, dark patches, facets, bad booleans).
Quality modeling workflowThe step-by-step process that separates convincing models from blocky AI output. Read first.

TDQS

B3.2/5.0

Scored across 58 tools

Disambiguation3/5

With 58 tools, several clusters overlap—quality checks (review_model vs analyze_quality, check_contacts vs inspect_connections), import/export variants (import_asset vs import_model_file, export_model vs export_skeletal vs make_game_asset), and capture tools (look vs viewport_screenshot). The verbose descriptions explicitly distinguish them, but the sheer number and proximity of related operations will still force careful reading to avoid misselection.

Naming Consistency4/5

Tool names are overwhelmingly snake_case with verb_noun or noun_verb patterns, and prefixes like create_*, add_*, setup_*, uv_*, rig_*, export_*, import_* are used consistently. A handful of single-word verbs (look, scatter, animate, batch) and noun-first names (viewport_screenshot, modeling_progress) are minor deviations.

Tool Count1/5

58 tools far exceeds the typical 3–15 well-scoped range and even the 25+ 'too many' threshold, placing it in extreme mismatch territory for a single MCP server. Although each tool has a specialized role, the cognitive load and selection risk are very high.

Completeness5/5

The surface covers the full 3D lifecycle: scene inspection, primitive and advanced mesh creation, editing, modifiers, materials, UV, lighting, camera, rendering, procedural detail, animation, prop/character rigging, game-asset baking/export, asset libraries, and quality analysis. execute_python also acts as an escape hatch, so there are no obvious dead ends.

Maintenance

ActivityMaintained
ResponsivenessNo issues