Skip to main content
Glama

Gaea MCP

MCP server for QuadSpinner Gaea terrain workflows.

The server edits Gaea .terrain graph files, discovers Gaea CLI executables, and can run silent builds through Gaea.Swarm.exe.

This is intentionally small. It automates the repetitive bridge work while leaving artistic terrain tuning inside Gaea.

Install

From this repo:

cd C:\Users\marti\Games\Ascent\tools\gaea-mcp
npm install
npm run build

From a standalone checkout:

git clone https://github.com/JulianIrigoyen/gaea-mcp.git
cd gaea-mcp
npm install
npm run build

Related MCP server: Houdini MCP

Codex / Claude MCP Config

Add a server entry like this:

{
  "mcpServers": {
    "gaea": {
      "command": "node",
      "args": [
        "C:/path/to/gaea-mcp/dist/index.js"
      ],
      "env": {
        "GAEA_ROOT": "C:/path/to/your/terrain/project",
        "GAEA_EXE_DIR": "C:/Program Files/QuadSpinner/Gaea 2"
      }
    }
  }
}

Tools

  • gaea_clone_graph - clones a .terrain graph and optionally repoints input/output paths.

  • gaea_find_install - finds Gaea.Swarm.exe, Gaea.exe, and related executables.

  • gaea_list_graphs - lists .terrain files.

  • gaea_inspect_graph - reports File nodes, output destination, profiles, and exposed variables.

  • gaea_set_input_heightmap - rewrites File node input paths.

  • gaea_set_build_output - rewrites the build output destination.

  • gaea_set_variable - updates or creates a variable entry when the graph exposes a matching structure.

  • gaea_run_build - runs Gaea.Swarm.exe with optional profile, resolution, seed, vars, and output path.

  • gaea_open_graph - opens a graph in the Gaea desktop app.

  • gaea_list_outputs - lists files in an output folder.

Write/build/open tools default to dryRun: true. Pass dryRun: false to actually save, launch, or build. Graph edits create timestamped .bak-* backups before overwriting existing files.

Example

{
  "graph": "TerrainExports/LaninTrue_Gaea.terrain"
}

Then:

{
  "graph": "TerrainExports/LaninTrue_Gaea.terrain",
  "nodeId": "522",
  "heightmap": "TerrainExports/LaninTrue_Gaea/LaninTrue_Height.png",
  "dryRun": false
}

Clone Aconcagua into a Lanin graph:

{
  "sourceGraph": "TerrainExports/Aconcagua_v01.terrain",
  "targetGraph": "TerrainExports/LaninTrue_Gaea.terrain",
  "heightmap": "TerrainExports/LaninTrue_Gaea/LaninTrue_Height.png",
  "outputDir": "TerrainExports/LaninTrue_Gaea",
  "dryRun": false
}

Preview the exact build command without launching Gaea:

{
  "graph": "TerrainExports/LaninTrue_Gaea.terrain",
  "outputDir": "TerrainExports/LaninTrue_Gaea",
  "resolution": "2048",
  "dryRun": true
}

Open a graph in the Gaea UI:

{
  "graph": "TerrainExports/LaninTrue_Gaea.terrain",
  "dryRun": false
}

Safety

  • All file paths are constrained to GAEA_ROOT.

  • Writes default to dry-run.

  • Existing graph edits write .bak-* backups.

  • Real Gaea builds require dryRun: false.

  • Build execution has a timeout, defaulting to one hour.

Scope

This is not an official QuadSpinner product. It works through documented CLI entry points and the .terrain graph format as observed on disk.

Known Limitations

  • The .terrain graph format is not treated as a public stable API by this project; inspect and dry-run before writing.

  • gaea_set_variable only works when the graph contains discoverable variable objects with Value/value fields. CLI -v name:value is more reliable for exposed build variables.

  • On Windows, Gaea.Swarm.exe may crash with System.IO.IOException: The handle is invalid when launched from a host without a real console. If that happens, run the printed dry-run command in a normal terminal or a PTY-backed shell.

  • The server does not generate terrain artistically. It automates graph plumbing, builds, and handoff files.

Available Tools

10 tools
gaea_clone_graphC

Clone a .terrain graph and optionally repoint its first File node and build output.

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNo
heightmapNo
outputDirNo
overwriteNo
sourceGraphYes
targetGraphYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must explain behavioral effects on its own. It mentions cloning and repointing but omits critical behavior: dryRun defaults to true (so by default nothing is written), overwrite defaults to false, and how the clone interacts with an existing targetGraph. These are significant gaps for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no filler, and the primary verb and resource appear first. It is concise, though the phrase 'first File node' is jargon that could be clarified without bloating the text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a six-parameter mutation tool with no annotations, no output schema, and 0% schema description coverage, yet the description provides only a two-line overview. It lacks critical guidance on dryRun, overwrite behavior, target graph existence, and what the tool returns, so an agent cannot invoke it confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It adds meaning by linking 'first File node' to heightmap and 'build output' to outputDir, but it does not explain dryRun, overwrite, sourceGraph, or targetGraph semantics beyond what the schema names imply. For six underdocumented parameters, this is insufficient.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Clone a .terrain graph') and the optional follow-up ('repoint its first File node and build output'). It distinguishes this from the sibling tools like gaea_open_graph or gaea_run_build, which serve different purposes, though it could be slightly more explicit about the target graph being new.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for cloning while optionally adjusting input and output, which differentiates it from gaea_set_input_heightmap and gaea_set_build_output. However, it does not explicitly state when to use this tool vs. those alternatives or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gaea_find_installA

Find local QuadSpinner Gaea executables.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full responsibility for behavioral disclosure. It only says 'Find local QuadSpinner Gaea executables' but does not specify what the tool returns (e.g., paths), whether it searches PATH, registry, or known install locations, or whether it may return multiple results. Given the lack of annotations, this is a notable transparency gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, direct sentence with no wasted words. It is front-loaded with the core action and resource, making it ideal for quick parsing by an AI agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (no params, no output schema, no annotations), but the description does not mention what the tool returns or how the results are presented. For a 'find' operation, it is reasonable to assume paths to executables, but this is not explicit. Given the absence of an output schema, the description should clarify the return value to be fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and the input schema is empty with 100% schema description coverage. The baseline for zero-parameter tools is 4, and no parameter-related information is needed in the description. The description does not introduce confusion about parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Find') and a resource ('local QuadSpinner Gaea executables'), making the tool's function immediately clear. It is distinct from all sibling tools, which focus on graph manipulation, building, and output handling. The purpose is unambiguous and actionable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no explicit guidance on when to use this tool versus alternatives, and no sibling tool is mentioned. Usage is only implied by the tool's name and description—it would be used when the agent needs to locate Gaea executables. There is no exclusionary guidance or mention of a more appropriate sibling for related tasks.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gaea_inspect_graphA

Inspect a Gaea .terrain graph for File nodes, output destinations, profiles, and exposed variables.

ParametersJSON Schema
NameRequiredDescriptionDefault
graphYesPath to a .terrain graph, absolute or relative to GAEA_ROOT.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must carry behavioral disclosure on its own. It indicates a read-only inspection activity and specifies what is returned or examined, but it does not describe output format, side effects, or handling of invalid paths. The 'Inspect' wording strongly implies non-destructive behavior, but additional detail would strengthen transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence, no filler, with the core action and the important inspection targets front-loaded. Every word adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter inspection tool, the description is largely complete: it says what is inspected and lists the categories returned. The lack of an output schema is mitigated by describing the result contents. It could mention return format or failure behavior, but that is a minor gap given the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the single parameter 'graph' is already fully documented as a path relative or absolute to GAEA_ROOT. The description adds no further semantic detail beyond the schema, so the baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Inspect'), names the resource ('.terrain graph'), and enumerates concrete contents (File nodes, output destinations, profiles, exposed variables). This clearly distinguishes it from siblings like gaea_open_graph (open) and gaea_list_graphs (list graphs).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to use this tool versus siblings such as gaea_list_outputs or gaea_open_graph. The context is only implied by the word 'Inspect'; there are no explicit conditions, exclusions, or alternative tool references.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gaea_list_graphsA

List .terrain graph files under GAEA_ROOT.

ParametersJSON Schema
NameRequiredDescriptionDefault
directoryNoOptional directory under GAEA_ROOT. Defaults to GAEA_ROOT.

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full responsibility for disclosing behavior. It states a read-only listing action, but does not mention whether the search recurses into subdirectories, what path format is returned, or what happens if the directory does not exist.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with no redundancy. Every word contributes to identifying the action, resource, and scope.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter listing tool, the input is clear, but there is no output schema and the description does not specify return shape, recursion behavior, or edge cases. The description is minimally viable but leaves gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already fully describes the optional 'directory' parameter and its default behavior, so the description adds no additional param semantic value. Schema coverage is 100%, meeting the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('List'), names the resource ('.terrain graph files'), and constrains the scope ('under GAEA_ROOT'). This clearly distinguishes it from sibling tools like gaea_inspect_graph or gaea_open_graph.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use when you need to enumerate available .terrain graph files, but it does not explicitly state when to prefer this tool over alternatives or mention any exclusions. Some context is present, but no direct routing guidance exists.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gaea_list_outputsB

List output files in a Gaea build directory.

ParametersJSON Schema
NameRequiredDescriptionDefault
outputDirYes

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It clearly signals a non-destructive list operation scoped to a build directory, which is useful. However, it does not disclose whether listing is recursive, whether hidden files or subdirectories are included, how missing directories are handled, or what the return values look like.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single clear sentence with no filler. It is front-loaded and every word contributes to stating the operation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no annotations, no output schema, and one undocumented parameter, the description is too sparse to support reliable invocation. It omits return format, preconditions such as a completed build, and meaningful parameter semantics beyond naming the directory.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description only restates that outputDir refers to a Gaea build directory, adding little beyond the parameter name. It does not clarify the expected path format, whether the path may be absolute or relative, or what happens when the directory does not exist.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: it lists output files in a Gaea build directory. The operation is clearly a read-only enumeration, and the verb 'List' helps separate it from mutating siblings like gaea_set_build_output. However, it does not explicitly contrast with related sibling tools such as gaea_list_graphs or gaea_set_build_output.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to call this tool or when to prefer an alternative like gaea_list_graphs or gaea_set_build_output. The description implies it should be used to inspect generated outputs, but it never says this or mentions any prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gaea_open_graphC

Open a .terrain graph in the Gaea desktop application.

ParametersJSON Schema
NameRequiredDescriptionDefault
graphYes
dryRunNo
gaeaExeNo

TDQS

C2.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It fails to mention that launching a desktop GUI is a side effect, whether the call blocks, or what happens when dryRun defaults to true — the most significant undisclosed behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single 9-word sentence is efficient and front-loaded, but it is under-specified for a tool with three parameters, a default-true dryRun, and zero schema-level descriptions. Brevity here comes at the cost of necessary information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An agent calling this tool cannot determine what dryRun=true means, what gaeaExe is for, whether Gaea must be installed, or what the call returns. The default-true dryRun may cause the call to not actually open the graph, making the description actively incomplete for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description needed to explain all three parameters. It only hints that `graph` refers to a .terrain file; `dryRun` and `gaeaExe` are entirely unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Open'), a resource ('.terrain graph'), and a target ('Gaea desktop application'). Naming the desktop app distinguishes this from sibling read/introspection tools like gaea_list_graphs and gaea_inspect_graph, though the differentiation is implicit rather than explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, no exclusions, and no prerequisites such as Gaea being installed. The description only states what it does, not when to choose it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gaea_run_buildC

Run Gaea.Swarm.exe for a .terrain graph.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNo
varsNo
graphYes
dryRunNo
regionNo
profileNo
swarmExeNo
outputDirNo
resolutionNo
timeoutSecondsNo

TDQS

C2.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries the full burden of disclosing side effects. It only says 'Run Gaea.Swarm.exe' without mentioning that it likely executes an external build process, writes outputs, requires a configured environment, or has a dryRun default of true. This leaves the agent unaware of important behavioral consequences.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, but it is under-specified for a tool with 10 parameters and no annotations. The single sentence earns its place for purpose but omits critical semantic and usage detail, making it too short to be properly structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a complex build-execution tool with 10 parameters, a nested object, no output schema, and no annotations. The description gives only the basic action and resource, leaving out paramaters, side effects, prerequisites, return behavior, and relationship to sibling tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description mentions none of the 10 parameters. There is no explanation of what 'graph', 'seed', 'vars', 'dryRun', 'region', 'profile', or 'resolution' mean, so the description offers no help beyond the raw schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Run') and resource ('Gaea.Swarm.exe') tied to a .terrain graph, making the tool's purpose immediately understandable. It clearly differentiates from siblings like gaea_list_graphs, gaea_open_graph, and gaea_set_variable, which are all non-execution operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to use this tool versus alternatives, nor any prerequisites such as setting variables, configuring output, or opening a graph. Siblings like gaea_set_build_output and gaea_set_variable exist, but the description does not explain the expected workflow.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gaea_set_build_outputC

Set every BuildDefinition Destination in a Gaea graph.

ParametersJSON Schema
NameRequiredDescriptionDefault
graphYes
dryRunNo
outputDirYes

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It implies mutation with 'Set' and reveals broad scope with 'every', but it does not disclose the dryRun default, whether existing destinations are overwritten, persistency effects, or any safety considerations. This is insufficient for a mutating operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words. It communicates the action and the affected resource immediately and could not be meaningfully shorter.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, no annotations, and zero parameter documentation, the description alone is not enough for safe invocation. It omits dryRun semantics, how the graph is referenced, return behavior, and how this relates to building or listing outputs, leaving important context implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for parameter documentation, but it does not. It only broadly implies that graph is the target and outputDir is the destination; dryRun's purpose and default behavior, expected path formats, and relationship between properties are all left undocmented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb ('Set') and a precise resource ('every BuildDefinition Destination') in a Gaea graph. It distinguishes from sibling setter tools by targeting build output rather than input heightmaps or variables, though it does not explicitly name alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus siblings such as gaea_set_variable, gaea_set_input_heightmap, or gaea_run_build. The description does not mention prerequisites, workflow placement, or situations where the tool should be avoided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gaea_set_input_heightmapB

Set a Gaea File node's FileName to a new heightmap path.

ParametersJSON Schema
NameRequiredDescriptionDefault
graphYes
dryRunNo
nodeIdNoSpecific File node id. Defaults to the first File node.
heightmapYes

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full burden of behavioral disclosure. It reveals that the tool mutates a File node's FileName, but it does not mention the dryRun default, whether the graph is saved or modified on disk, or any side effects. This is a significant transparency gap for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence that leads with the action and names both the target and the value. No wasted words and no redundancy with the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no annotations and no output schema, the description should cover the full calling context. It leaves key operational details unresolved: what graph represents, how dryRun behaves, and whether any graph files are modified. The description is enough to guess the intent but not enough to invoke the tool confidently without additional investigation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With only 25% schema description coverage, the description needs to compensate. It adds some meaning by tying heightmap to a File node's FileName, but graph and dryRun are left unexplained. The description does not clarify what format graph expects or what dryRun actually does, so it falls short of compensating for the weak schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Set'), a precise target ('Gaea File node's FileName'), and the value ('a new heightmap path'). This clearly distinguishes it from sibling tools like gaea_set_build_output or gaea_set_variable, since it names both the node type and the property being modified.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied: use this when you want to change which heightmap a Gaea File node points to. However, there is no explicit guidance about when not to use it or which sibling alternative might be more appropriate, so this is only minimally viable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gaea_set_variableB

Update an exposed variable value in a graph when a matching variable object exists.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
graphYes
valueYes
dryRunNo

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears full responsibility. It states the action and one condition, but critically omits that drierun defaults to true, meaning a call with only required arguments would not actually mapply the change. It also doesn't disclose failure behavior if no variable object matches.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with no filler. The core action and key condition are presented immediately. Very efficient for the information it conveys.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutating tool with no annotations, no output schema, and undocumented parameters, the description leaves out essential context: what the response looks like, what happens when no variable object exists, and the critical dryRun default behavior. An agent writing a correct call cannot infer the safe/efective invocation path from this description alone.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It hints that 'raph' identifies the graph and 'name'/'value' refer to the variable, but it says nothing about the semantical rol of 'dryRun' or its default. Very limited parameter-level meaning is added.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Uses a specific verb 'Update', names the resource ('exposed variale in a graph'), and includes a precondition ('when a mating variable object exists'). It clearly distinguishes itself from sibling set_* tools by targeting variables rather than heightmaps or build outputs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use or when-not-to-use guidance is given. The phrase 'when a matching variable object exists' describes a precondition for the operation, not which tool to choose among siblings. An agent must infer from the tool name alone that this is the variable-updater.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

B3.4/5.0
Disambiguation4/5

Most tools target clearly distinct operations: listing, inspecting, modifying inputs, setting outputs, variables, building, and opening graphs. The main overlap is that gaea_clone_graph also repoints inputs and outputs, which slightly blurs its boundary with the dedicated set_* tools.

Naming Consistency5/5

All tool names follow the same gaea_verb_noun pattern using snake_case consistently. The verbs are predictable and the object portion clearly indicates the resource being acted on.

Tool Count5/5

Ten tools is well-scoped for a Gaea graph automation server. Each tool maps to a meaningful step in the workflow from environment discovery through graph modification, building, and output inspection.

Completeness4/5

The tool set covers the core automation lifecycle: find install, list/inspect graphs, modify inputs/outputs/variables, clone, build, and list outputs. Minor gaps exist such as no explicit build status check and no graph deletion, but these are easily worked around via the provided tools.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables interaction with 3D printer management systems through an MCP server, supporting STL file manipulation, slicing, and control of printers like OctoPrint, Klipper, Duet, and more.
    112
    230
    GPL 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to directly control SideFX Houdini, including creating nodes, setting parameters, executing Python, capturing viewports, and rendering frames, via 57 MCP tools.
    2
    MIT
  • A
    license
    C
    quality
    A
    maintenance
    Enables AI-driven game development by providing MCP tools to interact with the Godot editor, including scene editing, node manipulation, script attachment, and scene execution.
    28
    27
    MIT
  • F
    license
    A
    quality
    C
    maintenance
    Provides AI assistants with tools to launch the Godot editor, run projects, manipulate scenes, manage scripts, and control node properties through a standardized MCP interface.
    21

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/JulianIrigoyen/gaea-mcp'

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