Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ARC_API_KEYNoAPI key required to access a real public ARC environment.
ARC_WORLD_MCP_TRANSPORTNoSet to 'streamable-http' for an HTTP transport. Defaults to stdio.stdio

Capabilities

Features and capabilities supported by this server

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

Tools

Functions exposed to the LLM to take actions

NameDescription
create_worldB

Create an empty deterministic world using raw ARC colors 0-15.

load_static_mapA

Replace the static color and collision layers without creating actors.

set_viewportC

Set the integer camera origin and viewport, up to 64 by 64 cells.

create_actorC

Create a generic actor; cells are [local_x, local_y, optional_color].

update_actorC

Update only the provided generic actor state and transform fields.

remove_actorA

Delete an actor and automatically remove ECE rules that reference it.

split_actorC

Split one actor by partitioning all of its local topology cells.

merge_actorsC

Merge actors into the first ID using their rendered world topology.

add_directional_movementC

Bind ACTION1-4 to up/down/left/right movement for an actor.

add_ruleB

Attach actor ECE code. Use actor.value predicates and frame N effects.

condition_code supports and/or, for example: actor.visible == true and (actor.color == 8 or action.id == 6). ACTION6 coordinates are action.x and action.y. Effects use one operation per line, for example frame 0: actor.recolor(8) followed by frame 1: actor.rotate_to(actor_2, 1, -1). Invalid code is rejected with an agent-facing line/column error. Legacy structured fields remain accepted.

add_collision_effectB

Apply an effect when one actor collides with another actor or static map.

add_click_effectC

Apply an effect when ACTION6 clicks the source actor.

add_timer_effectC

Apply an actor effect on discrete action ticks, not wall-clock time.

simulate_actionB

Advance one deterministic turn; ACTION6 uses viewport click coordinates.

compare_observationB

Compare a real ARC frame against the model's current rendered viewport.

create_snapshotB

Clone the complete native world for later rollback.

rollbackB

Restore a previously named native snapshot.

get_world_stateA

Return rendered layers, actors, rules, hashes, trace, and debug history.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
current_world_resourceComplete current world model as JSON.
current_frame_resourceCurrent predicted ARC frame as JSON.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/junxiangyang0707-hash/arc-agi-3-world-model-lab'

If you have feedback or need assistance with the MCP directory API, please join our Discord server