gaea-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@gaea-mcp Create terrain, add Mountain node, and build"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
gaea-mcp
Gaea 2.0 terrain generation tool の MCP サーバー。
CLI ビルド自動化と .terrain ファイルのグラフ操作を提供します。
前提条件
Node.js v18 以上
Gaea 2.0 がインストール済みであること(Community / Professional)
ビルド機能には
Gaea.Swarm.exeが必要です
Related MCP server: Agentic AI MCP Server
セットアップ
git clone <repo-url>
cd gaea-mcp
npm install1. Gaea インストールパスの設定
サーバーは以下の優先順位で Gaea のインストール先を探します:
環境変数
GAEA_INSTALL_DIR(.envまたは.mcp.jsonで指定)自動検出 —
%LOCALAPPDATA%\Programs\Gaea 2.0など一般的なパスを順に確認
通常のインストール(Gaea のデフォルトインストーラー)であれば自動検出されるため、明示的な設定は不要です。
カスタムパスにインストールした場合のみ、以下のいずれかで GAEA_INSTALL_DIR を設定してください。
指定するディレクトリには Gaea.exe と Gaea.Swarm.exe が含まれている必要があります。
2. 設定ファイルの作成
.env と .mcp.json はどちらも .gitignore に含まれており、リポジトリには同梱されません。
利用環境に合わせてローカルで作成してください。
方法 A: .env ファイル(シンプル)
プロジェクトルートに .env を作成:
# Gaea のインストールディレクトリ(自動検出できる場合は省略可)
# GAEA_INSTALL_DIR=C:/Users/<ユーザー名>/AppData/Local/Programs/Gaea 2.0
# .terrain ファイルの保存先(省略時: ./projects)
# PROJECT_DIR=./projects
# ビルド出力先(省略時: ./output)
# OUTPUT_DIR=./output方法 B: .mcp.json(Claude Code 連携用)
Claude Code から MCP サーバーとして利用する場合は .mcp.json を作成:
{
"mcpServers": {
"gaea": {
"command": "npx",
"args": ["tsx", "src/server.ts"],
"env": {
"GAEA_INSTALL_DIR": "C:/Users/<ユーザー名>/AppData/Local/Programs/Gaea 2.0"
}
}
}
}パスの書き方:
Windows でもスラッシュ
/を使ってください(例:C:/Users/...)<ユーザー名>は自分の Windows ユーザー名に置き換えてください自動検出に任せる場合は
GAEA_INSTALL_DIR行を削除して構いません
環境変数一覧
変数名 | 必須 | デフォルト | 説明 |
| いいえ | 自動検出 | Gaea インストールディレクトリ |
| いいえ |
|
|
| いいえ |
| ビルド出力ディレクトリ |
3. 動作確認
# サーバーの起動テスト(stdio で起動し、Gaea 検出ログが stderr に出る)
npm run dev
# 正常なら以下のようなログが出力される:
# [config] Auto-detected Gaea install at: C:/Users/.../AppData/Local/Programs/Gaea 2.0
# [gaea-mcp-server] Server started on stdio transportCtrl+C で終了してください。このサーバーは MCP クライアント(Claude Code 等)経由で使うものなので、 通常は直接起動する必要はありません。
使い方
Claude Code から使う
上記の
.mcp.jsonをプロジェクトルートに配置Claude Code のプロジェクトディレクトリでこのリポジトリを開く
Claude に「地形を作って」と言えば、MCP ツール経由でノードグラフの作成・ビルドが可能
典型的なワークフロー
create_terrain → add_node (Mountain) → add_node (Erosion2) → connect_nodes → build_terrainTools
Tool | Description |
| Gaea の検出状態とパスを確認 |
| インストール済み Gaea のバージョン取得 |
| プロジェクトディレクトリの |
| Gaea.Swarm.exe で地形をビルド |
| 利用可能なノードタイプ一覧(120種、9カテゴリ) |
|
|
| 特定ノードの詳細プロパティ |
| 空の |
| ノードを追加 |
| ノードを削除 |
| ノード間を接続 |
| ポートの接続を解除 |
| ノードのプロパティを設定 |
開発
npm run dev # tsx でサーバー起動(開発用)
npx tsc --noEmit # 型チェック
npm run build # dist/ にコンパイルディレクトリ構成
src/
config.ts - Gaea インストールパス自動検出
node-types.ts - ノードタイプレジストリ(120種)
terrain-io.ts - .terrain JSON 読み書き(カスタムシリアライザ)
server.ts - MCP サーバー + LLM向け instructions
scripts/
scan-examples.ts - Gaea Examples からノードタイプを抽出するスクリプトAvailable Tools
13 toolsadd_nodeA
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.
Inputs: filename (required), nodeType (required), x, y, +2 more.
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.
Inputs: filename (required), seed, region, profile, +4 more.
check_gaea_statusA
Check if Gaea is installed and report executable paths, project directory, and readiness. Call this first to verify the environment.
Inputs: no named parameters.
connect_nodesA
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.
Inputs: filename (required), toNodeId (required), fromNodeId (required), toPort, +1 more.
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.
Inputs: name (required).
disconnect_portA
Remove the incoming connection on a specific input port of a node.
Inputs: nodeId (required), filename (required), portName (required).
get_gaea_versionA
Get the installed Gaea version number.
Inputs: no named parameters.
get_node_detailsA
Get all properties and port connections of a specific node. Use read_terrain_graph first to find node IDs.
Inputs: nodeId (required), filename (required).
list_node_typesA
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.
Inputs: category.
list_projectsB
List .terrain files in the project directory. Use absolute paths for files outside this directory.
Inputs: no named parameters.
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.
Inputs: filename (required).
remove_nodeA
Remove a node and all its connections (both incoming and outgoing) from the terrain graph.
Inputs: nodeId (required), filename (required).
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.
Inputs: value (required), nodeId (required), filename (required), property (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 13 tools
Each tool targets a distinct operation: listing node types, getting node details, checking status, version, projects, building, reading graph, creating terrain, adding/removing nodes, connecting/disconnecting, and setting properties. No overlap or ambiguity.
All tool names follow a consistent verb_noun pattern (e.g., list_node_types, set_node_property, build_terrain), with no mixing of conventions.
13 tools are well-scoped for a terrain generation MCP server, covering environment checks, project management, graph creation/editing, and building without excess or deficiency.
The tool surface covers the full workflow: environment setup, terrain creation, node manipulation (add/remove/connect/disconnect/properties), graph inspection, and building. No critical gaps are evident for the domain.
Maintenance
Related MCP Connectors
MCP server for Grok Imagine AI video generation
MCP server for Flux AI image generation
MCP server for generating rough-draft project plans from natural-language prompts.
Generate game-ready 3D models, textures, and audio from natural language, over MCP.
Related MCP Servers
- AlicenseBqualityDmaintenanceA Minecraft MCP Server powered by Mineflayer API. It allows to control a Minecraft character in real-time, allowing AI assistants to build structures, explore the world, and interact with the game environment through natural language instruction22280 npm810Apache 2.0
- AlicenseNot gradedqualityDmaintenanceAn MCP server with real AI capabilities (OpenAI/Anthropic) for natural language understanding, multi-step planning, and autonomous task execution, enabling intelligent file analysis, weather-based planning, and more.512 npmISC
- AlicenseAqualityDmaintenanceMCP server for AI-assisted Blender automation, providing layered tools for perception, declarative and imperative writing, and fallback operations.2985 PyPI7MIT
- AlicenseAqualityCmaintenanceAn MCP server that empowers AI coding agents to work effectively with Minecraft mod development, providing static analysis of decompiled source code and runtime interaction with a running Minecraft instance.3168 npm18MIT