BlenderLens
MCP server that lets AI agents build, check, preview and export game assets in Blender
Connector by pzalutski-pixel · GitHub account verified by the MCP Registry
Chalk Labs
Need help deploying BlenderLens?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/pzalutski-pixel-blenderlens
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.
- Tools
- 8 read · 21 write · 4 delete · 7 not yet classified
- Secrets
- 1 (API keys, tokens or passwords)
- Install scripts
- Not scanned yet
- Runs as
- Node.js package
Tools by what they do 40
Read from the source code; the running server may list different tools.
Read 8 · Look things up without changing anything.
check_assetget_meshget_objectget_sceneget_statuslist_materialsmeasure_objectsrender_preview
Write 21 · Create, change, send or run things.
add_modifierapply_modifierapply_transformclose_sessioncreate_collisioncreate_filecreate_meshcreate_objectedit_meshexport_fileexport_glbimport_file
Show 9 more tools
open_sessionsave_fileset_collectionset_materialset_modifierset_objectset_parentset_transformset_vertex_color
Delete 4 · Delete, drop, revoke or wipe things.
delete_objectremove_modifierrun_pythonrun_script
Not yet classified 7 · We could not tell from the name and description.
animate_objectbake_textureduplicate_objectjoin_objectsopen_fileundo_changeunwrap_uv
Secrets and settings it asks for
Secrets: values you paste in that let it act as you.
BLENDERLENS_TOKEN
Other settings (environment variables or headers).
BLENDERLENS_ALLOWED_DIRSBLENDERLENS_ALLOW_PYTHONBLENDERLENS_HOSTBLENDERLENS_MODEBLENDERLENS_PORTBLENDERLENS_RENDER_DIRBLENDERLENS_RUNTIME_DIRBLENDERLENS_START_TIMEOUTBLENDERLENS_TIMEOUTBLENDER_BIN
Tools (40)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
add_modifierAdd a modifier to an object's stack. Returns: its settings, the stack, counts. WHEN TO CALL: for detail that stays editable.
animate_objectKey an object's transform and shape keys into a named clip on an NLA track, exported as one glTF animation; a call replaces the object's keys in it. Returns: channels, frames, seconds, Godot warnings. WHEN TO CALL: for doors, rotors, morphs.
apply_modifierBake a modifier into the mesh; refused for a shared mesh or in edit mode. Returns: the stack, counts. WHEN TO CALL: when edit_mesh must see its result.
apply_transformBake rotation and scale into the mesh, or move its origin, mesh and children staying put; refused for a shared mesh or in edit mode. Returns: the transform. WHEN TO CALL: after scaling, before bevel or solidify.
bake_textureBake a mesh's materials into a PNG through a UV map with Cycles (CPU), wired into them; render settings and selection are put back. Returns: path, size, seconds, image_driven channels. WHEN TO CALL: for procedural materials, AO.
check_assetCheck meshes as exported: topology, normals, scale, origin, UVs, textures, morphs, overlaps; and a project's rules or rules_file (the guide lists the keys). Returns: passed; per object stats, issues {code, severity, count, faces}. WHEN TO CALL: before export_glb.
close_sessionDisconnect: a background Blender exits, a live one stays open. Returns: the mode closed. WHEN TO CALL: when the work is saved.
create_collisionAdd a collision proxy over a mesh, wire-drawn and parented; named for Godot, three.js exports leave it out. Returns: its name, counts, closed, volume_ratio. WHEN TO CALL: for physics props.
create_fileStart a new, unsaved file in place of the open one. Returns: the scene. WHEN TO CALL: for a new model.
create_meshBuild a mesh object from vertices and faces in its own space. Returns: as create_object. WHEN TO CALL: for a shape no primitive gives.
create_objectAdd a primitive (tube, lathe and text too) or an empty, sized in the mesh so scale stays 1. Returns: its name (.001 on a clash), transform, counts. WHEN TO CALL: to start a part.
delete_objectDelete objects and unused mesh data. Returns: the names deleted. WHEN TO CALL: to remove parts.
duplicate_objectCopy an object with modifiers, materials and children. Returns: the copies. WHEN TO CALL: for repeated parts.
edit_meshRun one operation on the faces picked (faces, facing) or all. bevel: the picked faces' rim edges (all edges if all faces), or with angle the edges sharper than it. amount, offset, pivot: mesh space. Returns: result_faces (extrude: the cap; inset: inner faces), counts. WHEN TO CALL: to shape a primitive.
export_fileWrite FBX, OBJ, STL, PLY or USD (by extension), objects chosen as export_glb does; the file is read back in a scratch scene. Returns: path, bytes, read_back counts. WHEN TO CALL: for tools that take no glTF.
Show 25 more tools
export_glbWrite a .glb, Y-up (-Y front becomes +Z), for a target engine; what it cannot load is refused, as is edit mode. Returns: the file read back, with warnings for the target. WHEN TO CALL: to deliver.
get_meshList a mesh's faces. Returns: each face's index, center, normal, side, area, material slot. WHEN TO CALL: for face indices; again after faces change.
get_objectRead one object in full. Returns: transform, bounds, properties, counts before and after modifiers, modifier settings by Blender's names, slots. WHEN TO CALL: before set_modifier.
get_sceneRead the scene. Returns: file state, units, and each object's type, parent, location, dimensions, counts, materials, modifiers. WHEN TO CALL: before building; after not_found.
get_statusReport the attached Blender without starting one. Returns: the session (busy: what it runs), add-on, Blender, render_dir, recovery copies. WHEN TO CALL: first; after not_connected, connection_lost, busy.
import_fileImport a .glb, .gltf, .obj, .fbx, .stl or .ply, or append from a .blend what is named. Returns: what it added. WHEN TO CALL: for a reference, or to check an export.
join_objectsJoin meshes into the first, keeping each piece's materials and faces. Returns: the object, slots and their faces. WHEN TO CALL: to make one part of pieces.
list_materialsList materials. Returns: each one's values (linear, as glTF) and users. WHEN TO CALL: before set_material, to reuse one.
measure_objectsMeasure between objects' surfaces as exported, in world space, or cast a ray. Returns: per pair distance, closest points, touching, overlapping, overlap_faces, inside; ray object, location, normal, face. WHEN TO CALL: to fit parts, find gaps.
open_fileOpen a .blend in place of the open file. Returns: the scene. WHEN TO CALL: to resume work.
open_sessionAttach to the live Blender window or start a background one. Returns: the session. WHEN TO CALL: to pick a mode or file; else the first call attaches by BLENDERLENS_MODE.
remove_modifierRemove a modifier unapplied. Returns: the stack left, counts. WHEN TO CALL: to undo add_modifier.
render_previewRender a PNG of objects (and children) or all visible geometry, framed, others hidden, the scene unchanged. Returns: its path (open it, or inline). WHEN TO CALL: after each build step.
run_pythonRun Python in Blender (bpy, bmesh, mathutils); names persist; set result to return it. Returns: stdout, stderr, result. WHEN TO CALL: only for what no tool covers.
run_scriptRun a .py file in Blender as run_python does, with args; its folder, and parents up to a blenderlens.toml, are importable afresh each run. Returns: result, stdout, stderr, objects added, removed, changed. WHEN TO CALL: to build a model from its script.
save_fileSave the open file. Returns: path, size. WHEN TO CALL: at milestones; before closing a background session.
set_collectionMove objects into a collection. Returns: their collections. WHEN TO CALL: to group parts.
set_materialCreate or update a material, optionally on an object or its picked faces; all its users change; '' clears an image or vertex_color. Returns: its values, slot, faces. WHEN TO CALL: after shaping.
set_modifierChange a modifier's settings, place or visibility. Returns: as add_modifier. WHEN TO CALL: to tune one.
set_objectRename or hide an object, or set its display or custom properties (exported as glTF extras). Returns: its state. WHEN TO CALL: to name, hide or tag parts.
set_parentParent an object, or clear its parent. Returns: the transform. WHEN TO CALL: to assemble parts into one node tree.
set_transformSet an object's location, rotation, scale or dimensions; null keeps a component. Returns: the transform; after drop, landed_on and moved_by. WHEN TO CALL: to place parts.
set_vertex_colorPaint the faces picked (faces, facing) or all into a color attribute. Returns: faces painted, materials wired, and not_wired (setups not BlenderLens's). WHEN TO CALL: for colour without textures; exports as COLOR_0.
undo_changeStep back through undo steps, one per call that changed something; Python references go stale. Returns: steps undone, counts, unsaved_changes. WHEN TO CALL: to take back calls that went wrong.
unwrap_uvUnwrap a mesh into a UV map; projections are packed. Returns: islands, area used, overlapping and out-of-bounds faces, texel density (px/m at 1024). WHEN TO CALL: before texturing or baking; unwrap needs seams (edit_mesh mark_seams).
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Weekly downloads
- 42
- Last commit
- Oct 12, 2026 (18 days ago)
- Last release
- Oct 10, 2026 (19 days ago)
- Last package publish
- Oct 10, 2026 (19 days ago)
From GitHub (fetched Oct 24, 2026) and the package registry.
Details
- Registry name
io.github.pzalutski-pixel/blenderlens- Version
- 0.2.0
- Auth
- API key
- Packages
- npm blenderlens-mcppypi blenderlens-mcp
- License
- Apache-2.0
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
More from pzalutski-pixel
- 0.669score
JavaLens
pzalutski-pixel
75 semantic Java analysis tools via Eclipse JDT: navigation, refactoring, code intelligence.
ConnectorAFreshness: ALocal★ 45Claude Code +5 - 0.667score
SharpLens
pzalutski-pixel
67 semantic C#/.NET analysis tools via Roslyn: navigation, refactoring, codegen, audit.
ConnectorAFreshness: ALocal★ 37Claude Code +5 - 0.650score
GodotLens
pzalutski-pixel
Godot's own view of your GDScript project: code, scenes, and the running game
ConnectorAFreshness: ALocal★ 10↓ 187/wkClaude Code +5 - 0.589score
NetLens
pzalutski-pixel
Read any web page as clean, ad-stripped Markdown past robots.txt and bot blocks, plus web search.
ConnectorAFreshness: ALocalRead-only↓ 43/wkClaude Code +5
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get BlenderLens running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
BlenderLens MCP server. Agent Mart. https://agentmart.dev/connectors/pzalutski-pixel-blenderlens (last updated 2026-10-24)