Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
STONECUT_BB_PORTNoPort on 127.0.0.1 the Stonecut Bridge plugin in Blockbench listens on. Must match the port set in the Blockbench plugin settings.38790
STONECUT_BB_TIMEOUT_MSNoHow long the MCP server waits for Blockbench to answer a call, in milliseconds (default 3 minutes).180000
STONECUT_BB_TOKEN_FILENoPath to the secret token file (32 random bytes, new every time the bridge starts) that every request must carry. Points elsewhere if the plugin's token file is in a different location..stonecut_blockbench_token in your home folder

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": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
pingA

Checks that Blockbench is open, the Stonecut Bridge plugin is listening and the token is right. Returns the plugin version.

statusA

Whether the GeckoLib plugin is installed, the allowed folders (output, assets), the open project (format, bones, cubes, textures, animations, and for Java models the display transforms) and every open tab with its edit count. Call this first.

new_projectA

Opens a new tab with an empty GeckoLib animated entity model (a Bedrock entity model if the GeckoLib Blockbench plugin is missing; the reply then has a warning). 16 units = 1 block; the model stands on y=0 and faces north (-Z).

open_modelA

Opens an existing Bedrock/GeckoLib .geo.json in a new tab (converted to GeckoLib format when that plugin is installed), optionally with its .animation.json and texture PNG. If the file is already open it switches to that tab instead.

close_tabA

Closes extra copies of a tab, keeping the first. A copy is closed only when it matches the kept tab (name, format, element and texture count) and has no edits, so no work is lost.

add_bonesA

Adds bones (groups). Only bones animate, so every GeckoLib cube goes in a bone. Start with one root bone, then body, head, legs... with pivots where the joints are. Names must be unique. Nothing is created if any entry is bad.

add_cubesA

Adds cubes. Give "from"+"to" or "origin"+"size". GeckoLib models use box UV: give each cube its own uv_offset so UV islands do not overlap. Java models may use "faces" for per-face UVs and need no bone. Nothing is created if any entry is bad.

texture_createA

Creates the project texture, or resizes it (the canvas grows or shrinks and old pixels stay at the top-left). Also sets the project UV size unless set_uv_size is false.

texture_fill_rectC

Fills a rectangle of the texture with one colour (or clears it).

texture_set_pixelsC

Sets single pixels: a list of [x, y, colour].

texture_drawB

Draws a small picture from rows of characters, for example rows ["..ab..", ".abba."] with palette {"a": "#ff0000", "b": "#000000"}. Characters not in the palette are skipped. Each character covers scale x scale pixels.

texture_importC

Loads a PNG from the output or assets folder as the project texture.

add_animationB

Adds an animation, for example idle, walk or attack. Looping animations should end on the pose they start with.

add_keyframesB

Adds keyframe tracks to an animation: per bone and channel (rotation in degrees, position in units, scale as factors).

screenshotA

Renders the 3D preview from named views (or yaw/pitch in degrees) and returns the images; PNG files are also written to the output folder. The camera frames the model and is put back afterwards. "right" is the model's right side when it faces north. Give animation + time to see a pose. Screenshot often and check every side.

exportA

Writes the open project: geo (.geo.json, GeckoLib/Bedrock), animation (.animation.json with all animations), model (Java block/item .json with its display block, Java projects only) and texture (.png). Existing files are kept unless overwrite is true.

open_java_modelA

Opens a Java block/item model .json that has "elements" in a new tab. Its texture comes from "texture", a same-named PNG next to the model, or assets/textures/...; anything else shows blank. Parent models are not followed. If the file is already open it switches to that tab.

new_java_itemA

Opens a new tab with an empty Java block/item model, for example a weapon. Cubes need no bones. Optional display transforms, given directly or copied from a preset file.

display_getB

The display transforms of the open Java model: every set slot, or one slot.

display_setA

Sets display transforms (undoable). Give "display" for several slots, or "slot" with rotation/translation/scale, or a "preset" file. Fields you leave out keep their value unless replace is true.

display_screenshotA

Renders display slots as the Blockbench display editor shows them and returns the images (PNG files also go to the output folder). First person is uncropped by default so you see how much of the view the item takes; gui is the inventory square.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.4/5.0

Scored across 21 tools

Disambiguation4/5

Most tools target a distinct resource+action: bones, cubes, animations, keyframes, textures, display transforms, screenshots, export. The only mild overlaps are the four project-creation openers (new_project, new_java_item, open_model, open_java_model) and the texture tools (create/import/set_pixels/draw/fill_rect), but the descriptions make the boundaries clear. screenshot vs display_screenshot is also well separated by purpose.

Naming Consistency4/5

Consistent snake_case throughout, mostly verb_noun or resource_verb (add_bones, texture_fill_rect, display_set, open_java_model). Minor deviations are the single-word verbs ping, status, screenshot and export, which are still unambiguous. The texture_* and display_* prefixes group related tools predictably.

Tool Count4/5

At 21 tools this is at the upper end, but the domain genuinely spans two model formats, texture painting, animation, display transforms and export, so nearly every tool earns its place. There is little redundancy; the count is heavy but not bloated.

Completeness3/5

The surface covers creation, opening, textures, animation, screenshots and export well, but it is add-only for geometry and animation: there is no way to move/resize/delete a cube or bone, remove a keyframe or animation, or read back texture pixels. An agent that makes a modeling mistake must restart the tab rather than fix it in place, which is a notable gap.

Maintenance

ActivityMaintained
ResponsivenessNo issues