Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
OPENAI_API_KEYYesOpenAI API key used by the agent and evaluation code (read from .env at repository root)

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
load_sceneA

Load a scene mesh (.glb/.obj/.ply). Creates an uneditable scene shell; call segment_scene next to make objects editable. Returns face count, bounds, and floor height.

segment_sceneC

Segment the loaded mesh into editable objects for the given names (e.g. ['chair', 'table']). Rebuilds the scene graph. Returns the scene info: object ids, labels, world centers and sizes, floor_z, room_bounds.

get_scene_infoA

Return the current scene info: object ids, labels, world centers and sizes, base heights, collisions, floor_z, and room_bounds.

add_objectA

Retrieve a 3D asset from Objaverse by text query and place it on the floor at world (x, y) with the given yaw in degrees. label names the new object; category is an optional single noun to steer retrieval.

remove_objectA

Remove an object by id. The floor and walls under it are filled in.

move_objectA

Move an object by id to world position (x, y). It stays on the floor and inside the room; the returned report notes any unresolved collision.

rotate_objectA

Rotate an object by id about the vertical axis by yaw_deg degrees.

scale_objectA

Scale an object by id by a multiplicative factor (>1 larger, <1 smaller). The base stays on the floor and the size is clamped to the room.

replace_objectA

Replace an object by id with a freshly retrieved Objaverse asset, keeping its footprint position. category is an optional single noun for retrieval.

undoB

Undo the last edit.

render_sceneA

Render the current scene from one orbiting camera and return the image. azimuth_deg orbits around the vertical axis, elevation_deg tilts up.

save_sceneB

Write the current composed scene to a .glb file at path.

edit_with_agentA

Run the full editing agent on one instruction with an internal model: it picks the objects to segment, plans and applies the edits, verifies the result from renders, and revises. Pass scene_path to load and segment a fresh scene, or omit it to act on the scene already loaded. Returns a summary of what the agent did and a render.

Prompts

Interactive templates invoked by user choice

NameDescription
edit_sceneWalk through editing a scene mesh to satisfy an instruction: load it, segment the objects the instruction names, apply the edit tools, then render and save.
describe_sceneLoad a scene mesh and describe what is in it from a few rendered views.

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.9/5.0

Scored across 13 tools

Disambiguation5/5

Each tool maps to a distinct action in the 3D scene editing workflow: loading, segmenting, querying, adding/removing, transforming, undo, rendering, saving, and high-level editing. Even load_scene and segment_scene are clearly separated by their roles despite both returning scene info. No two tools appear to perform the same operation.

Naming Consistency5/5

Tool names consistently follow a snake_case verb_noun pattern (load_scene, add_object, render_scene). Minor deviations like get_scene_info and edit_with_agent are still verb-first and fit the broader convention. The naming is predictable and easy to scan.

Tool Count5/5

13 tools is well-scoped for a 3D scene composition server. Each tool covers a core lifecycle or editing operation without unnecessary redundancy. The count feels appropriate for the domain.

Completeness5/5

The server provides full coverage of the scene editing workflow: load, segment, inspect, add/remove, transform, replace, undo, render, and save. Object manipulation covers the essential operations agents need, and edit_with_agent offers a high-level fallback for complex changes. No obvious dead ends or critical missing operations.

Maintenance

ActivityMaintained
ResponsivenessNo issues