gaea-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OUTPUT_DIR | No | Build output directory. | ./output |
| PROJECT_DIR | No | Directory for .terrain file storage. | ./projects |
| GAEA_INSTALL_DIR | No | Gaea installation directory. If not set, auto-detected from common paths. | auto-detected |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| check_gaea_statusA | Check if Gaea is installed and report executable paths, project directory, and readiness. Call this first to verify the environment. |
| get_gaea_version | Get the installed Gaea version number. |
| list_projectsB | List .terrain files in the project directory. Use absolute paths for files outside this directory. |
| build_terrainA | Build a terrain using Gaea.Swarm.exe CLI. Renders all output nodes in the .terrain file. The -v (variables) argument is always placed last automatically. Typical build time: seconds to minutes depending on resolution and node complexity. |
| list_node_types | List available Gaea node types with their categories and port definitions. Categories: Primitive, Terrain, Simulate, Surface, Modify, Derive, Colorize, Utility, Output. Use the "key" value (e.g. "Mountain") as the nodeType parameter in add_node. |
| read_terrain_graphA | Read a .terrain file and return a complete summary: all nodes, their properties, ports, and connections. Call this first when working with an existing terrain to understand the current graph structure. Each node has an "id" that you use in connect_nodes, set_node_property, remove_node, etc. |
| get_node_detailsA | Get all properties and port connections of a specific node. Use read_terrain_graph first to find node IDs. |
| create_terrainA | Create a new empty .terrain file compatible with Gaea 2.2.9. The file is saved in the project directory. After creation, use add_node to populate the graph. A typical workflow: create_terrain → add_node (generators: Mountain, RadialGradient) → add_node (processors: Erosion2, Thermal2, Rivers, Craggy, Snow) → add_node (colorizers: SatMap, ColorErosion) → add_node (outputs: Export, Mesher) → connect_nodes to wire the chain. |
| add_node | Add a node to the terrain graph. Use list_node_types to see available types and their ports. Common types: Mountain, Erosion2, Combine, SatMap, Export. Set initial properties for best results, e.g. Mountain: {Scale: 1.5, Height: 3}, Erosion2: {Duration: 15}, Combine: {Method: "Multiply"}, Mesher: {Format: "GLB"}. Position nodes left-to-right by increasing X (spacing ~300-500). Y=26250 for a single row. After adding, use connect_nodes to wire it into the graph. |
| remove_nodeA | Remove a node and all its connections (both incoming and outgoing) from the terrain graph. |
| connect_nodes | Connect two nodes by wiring an output port to an input port. Default ports: "Out" → "In" (works for most simple chains). For nodes with multiple ports (e.g. Combine has Input2, Mask; Erosion2 outputs Flow, Wear, Deposits), specify the port names explicitly. For Combine, set Method property before connecting (e.g. "Multiply" for masking, "Max" for blending terrains, "Screen" for color compositing). Each input port accepts only one connection — connecting replaces any existing connection on that input. |
| disconnect_port | Remove the incoming connection on a specific input port of a node. |
| set_node_propertyA | Set a property value on a node. Properties vary by node type. Common properties: Seed (int), Duration (float), Scale (float), Style (string enum). Use get_node_details to see current properties and their values. Only non-default values are stored — setting a property to its default effectively removes it. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 8 tools
Each tool targets a distinct operation on the terrain graph: environment check, file creation, graph reading, node inspection, property setting, node removal, building, and project listing. There is no overlap in purpose.
All eight tools follow a consistent verb_noun pattern using snake_case (e.g., build_terrain, read_terrain_graph), which is predictable and easy to parse.
With 8 tools, the set is well-scoped for a terrain generation workflow. It covers the essential CRUD-like operations without being bloated or too thin.
Critical tools are missing: there is no add_node or connect_nodes tool, despite being mentioned in the create_terrain description. This makes the typical workflow impossible for an agent, as it cannot add or wire nodes.