GardenArena GardenScript

Simulate farms, validate GardenScript and compare policies with Rust. No outbound LLM calls.

我该使用它吗

质量与安全性

A
描述质量
97%
模式完整度
67%
命名质量
84%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

基于对工具定义和协议合规性的自动分析。

上下文开销

~5,346token 数(工具定义)
~998 B典型响应大小
对注意力有显著影响(占 128k 上下文窗口的 4.18%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "gardenscript": {
      "url": "https://gardenarena.io/mcp"
    }
  }
}

远程端点

https://gardenarena.io/mcpstreamable-http

它能做什么

工具清单

工具(30)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢validate_gardenscript(source)

Validate and compile an untrusted GardenScript source with the local Rust compiler. This performs no LLM call and stores nothing.

输入模式

{
  "type": "object",
  "properties": {
    "source": {
      "title": "Source",
      "type": "string"
    }
  },
  "required": [
    "source"
  ],
  "title": "validate_gardenscriptArguments"
}

输出模式

{
  "type": "object",
  "additionalProperties": true,
  "title": "validate_gardenscriptDictOutput"
}
🟢get_bamboo_scene(day)

Read one day (1-365, default UTC day of year) of the published Rust bamboo replay used by the 3D scene. Includes sensors, entrant and SHA-256 provenance. Synthetic exhibition only; not an observation, strategy evaluation or hydraulic forecast. Koi are decorative and unranked. No database access, simulation launch, external network or LLM call.

输入模式

{
  "type": "object",
  "properties": {
    "day": {
      "anyOf": [
        {
          "maximum": 365,
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Day"
    }
  },
  "title": "get_bamboo_sceneArguments"
}

输出模式

{
  "type": "object",
  "additionalProperties": true,
  "title": "get_bamboo_sceneDictOutput"
}
🟢bamboo_challenge_get

Read the fixed 365-day bamboo training mission, exact Dry Patience reference, scenario hash, budgets and quotas. No run or publication. Read gardenarena://gardenscript/v0.5 for the full language.

输入模式

{
  "type": "object",
  "properties": {},
  "title": "bamboo_challenge_getArguments"
}

输出模式

{
  "type": "object",
  "additionalProperties": true,
  "title": "bamboo_challenge_getDictOutput"
}
🟢coop_workshop_get

Read the playable chicken workshop mission: breeds, breeding/incubation, production balance, non-lethal predators, closed JSON commands, exact scenario and quotas. No simulation or database write. Distinct from GardenScript/official competitions.

输入模式

{
  "type": "object",
  "properties": {},
  "title": "coop_workshop_getArguments"
}

输出模式

{
  "type": "object",
  "additionalProperties": true,
  "title": "coop_workshop_getDictOutput"
}
⚪coop_workshop_run(journal_json)

Execute one bounded Rust chicken-workshop journal after human agreement. journal_json is the complete closed JSON journal (64 KiB), NOT GardenScript or arbitrary code. Returns reproducible state, event explanations and an export for explicit human import in the 3D game. No persistent game, official write, provider API or automatic publication. Respect retry delays and the agreed call budget.

输入模式

{
  "type": "object",
  "properties": {
    "journal_json": {
      "maxLength": 65536,
      "title": "Journal Json",
      "type": "string"
    }
  },
  "required": [
    "journal_json"
  ],
  "title": "coop_workshop_runArguments"
}

输出模式

{
  "type": "object",
  "additionalProperties": true,
  "title": "coop_workshop_runDictOutput"
}
🟢farm_workshop_get

Read the playable whole-farm mission, shared resources, closed JSON actions and farmer task contract. Educational simulation, no run or official write.

输入模式

{
  "type": "object",
  "properties": {},
  "title": "farm_workshop_getArguments"
}

输出模式

{
  "type": "object",
  "additionalProperties": true,
  "title": "farm_workshop_getDictOutput"
}
⚪farm_workshop_run(journal_json)

Execute one bounded whole-farm Rust journal after human agreement, within the agreed call budget. journal_json is complete closed JSON, max 64 KiB, not GardenScript. Returns game state, evidence-linked farmer tasks and an export for explicit human import. No autonomous daemon, publication, LLM call or persistent game.

输入模式

{
  "type": "object",
  "properties": {
    "journal_json": {
      "maxLength": 65536,
      "title": "Journal Json",
      "type": "string"
    }
  },
  "required": [
    "journal_json"
  ],
  "title": "farm_workshop_runArguments"
}

输出模式

{
  "type": "object",
  "additionalProperties": true,
  "title": "farm_workshop_runDictOutput"
}
⚪farm_next_event(journal_json, care_json, max_days)

Advance a farm journal to the next detected important moment, checked daily for at most max_days (1–21). Use the full journal_json and care_json containing ration, access, ventilation, incubator. Consumes one agreed calculation call. Returns the accepted ordinary journal, unchanged Rust result, season guide and evidence-linked stop reason. No automatic care, publication or persistent write; human chooses whether to import.

输入模式

{
  "type": "object",
  "properties": {
    "journal_json": {
      "maxLength": 65536,
      "title": "Journal Json",
      "type": "string"
    },
    "care_json": {
      "maxLength": 1024,
      "title": "Care Json",
      "type": "string"
    },
    "max_days": {
      "default": 21,
      "maximum": 21,
      "minimum": 1,
      "title": "Max Days",
      "type": "integer"
    }
  },
  "required": [
    "journal_json",
    "care_json"
  ],
  "title": "farm_next_eventArguments"
}

输出模式

{
  "type": "object",
  "additionalProperties": true,
  "title": "farm_next_eventDictOutput"
}
⚪farm_autopilot_run(journal_json, max_days, budget_credits)

Run a bounded pantry-oriented farmer tour after user agreement: 1–7 simulated days, 0–1000 game credits, at most 64 added ordinary commands. Deterministic Rust rules, not a live LLM. Gathers food, handles care and irrigation, cuts mature bamboo for supports, composts and cooks available ingredients. No sales, new animals, publication or background daemon. Returns the exact replayable journal and per-action reasons/costs; a human chooses whether to import.

输入模式

{
  "type": "object",
  "properties": {
    "journal_json": {
      "maxLength": 65536,
      "title": "Journal Json",
      "type": "string"
    },
    "max_days": {
      "default": 1,
      "maximum": 7,
      "minimum": 1,
      "title": "Max Days",
      "type": "integer"
    },
    "budget_credits": {
      "default": 200,
      "maximum": 1000,
      "minimum": 0,
      "title": "Budget Credits",
      "type": "integer"
    }
  },
  "required": [
    "journal_json"
  ],
  "title": "farm_autopilot_runArguments"
}

输出模式

{
  "type": "object",
  "additionalProperties": true,
  "title": "farm_autopilot_runDictOutput"
}
🟢farm_campaign_get

Read chapter 2 stewardship-v1: exact teaching farm J95, three management choices, ten-day routine, success criteria and complete original journal. No calculation or publication; not the player's private farm. JSON plan, NOT GardenScript.

输入模式

{
  "type": "object",
  "properties": {},
  "title": "farm_campaign_getArguments"
}

输出模式

{
  "type": "object",
  "additionalProperties": true,
  "title": "farm_campaign_getDictOutput"
}
⚪farm_campaign_run(choices_json)

Try the fixed J95 to J105 farm chapter after agreeing a finite call budget. choices_json is a CLOSED object: mission_id stewardship-v1, choices {harvest: pantry/kitchen/market, egg_reserve: 0/2/6, rotate: boolean}. At most ten days, 100 added ordinary commands; shared workshop quotas. Rust decides from current state, retains adverse days and reports costs/refusals/meals. No arbitrary journal, GardenScript, publication, persistent save, LLM call or background search. Return the complete export; human chooses adoption. Local meals do not imply full autonomy.

输入模式

{
  "type": "object",
  "properties": {
    "choices_json": {
      "maxLength": 1024,
      "title": "Choices Json",
      "type": "string"
    }
  },
  "required": [
    "choices_json"
  ],
  "title": "farm_campaign_runArguments"
}

输出模式

{
  "type": "object",
  "additionalProperties": true,
  "title": "farm_campaign_runDictOutput"
}
🟢farm_policy_get

Read GardenScript 0.6 farm.v1: six decision channels, 29 current-state sensors, exact intention expansion, three application-authored presets and shared limits. No run, persistent write or LLM call. Read before writing a farm policy.

输入模式

{
  "type": "object",
  "properties": {},
  "title": "farm_policy_getArguments"
}

输出模式

{
  "type": "object",
  "additionalProperties": true,
  "title": "farm_policy_getDictOutput"
}
🟢farm_policy_validate(source)

Validate a closed GardenScript 0.6 farm.v1 source, maximum 16 KiB. Local Rust only; line diagnostics and exact source/canonical hashes. Shared workshop quota; no run, persistence or publication.

输入模式

{
  "type": "object",
  "properties": {
    "source": {
      "maxLength": 16384,
      "title": "Source",
      "type": "string"
    }
  },
  "required": [
    "source"
  ],
  "title": "farm_policy_validateArguments"
}

输出模式

{
  "type": "object",
  "additionalProperties": true,
  "title": "farm_policy_validateDictOutput"
}
⚪farm_policy_run(journal_json, source, max_days, budget_credits)

Run a GardenScript 0.6 farm.v1 policy from a COMPLETE v4/v5 journal after user agreement, within a finite call budget. Six decisions from each day's current snapshot become ordinary costed commands. No future weather archive access or cancellation of bad days: shortages pause AFTER commitment. Returns export, exact source, rule/sensor witnesses, accepted/rejected commands and costs. Not an official competition or the legacy precognitive safety helper. No LLM calls, publication, persistent game or daemon; human explicitly imports the result.

输入模式

{
  "type": "object",
  "properties": {
    "journal_json": {
      "maxLength": 65536,
      "title": "Journal Json",
      "type": "string"
    },
    "source": {
      "maxLength": 16384,
      "title": "Source",
      "type": "string"
    },
    "max_days": {
      "default": 1,
      "maximum": 7,
      "minimum": 1,
      "title": "Max Days",
      "type": "integer"
    },
    "budget_credits": {
      "default": 200,
      "maximum": 1000,
      "minimum": 0,
      "title": "Budget Credits",
      "type": "integer"
    }
  },
  "required": [
    "journal_json",
    "source"
  ],
  "title": "farm_policy_runArguments"
}

输出模式

{
  "type": "object",
  "additionalProperties": true,
  "title": "farm_policy_runDictOutput"
}
🟢farm_compare_get

Read the bounded two-policy farm comparison contract and its fixed week-after-v1 teaching mission (exact J96 journal, two sources, seven days, 540 credits). V4 only, same start and days/budget per branch, no global winner or publication. Read the farm policy contract for syntax. No paired trial or persistent write.

输入模式

{
  "type": "object",
  "properties": {},
  "title": "farm_compare_getArguments"
}

输出模式

{
  "type": "object",
  "additionalProperties": true,
  "title": "farm_compare_getDictOutput"
}
⚪farm_compare_run(journal_json, source_a, source_b, max_days, budget_credits)

Compare two GardenScript farm.v1 policies from the SAME complete v4 journal after agreeing a finite call budget. Two trials, 1–7 days and identical 0–1000 game-credit ceilings. Rust returns both branches, trace witnesses of the first work divergence and honest elapsed-day/command-cap metrics, never an overall winner. Charges two shared workshop quota units. No game mutation, persistence, publication, LLM calls or unattended search. Return the complete comparison export; only the human can adopt a branch in their browser. No legacy future-veto helper, v5 weather or official ranking.

输入模式

{
  "type": "object",
  "properties": {
    "journal_json": {
      "maxLength": 65536,
      "title": "Journal Json",
      "type": "string"
    },
    "source_a": {
      "maxLength": 16384,
      "title": "Source A",
      "type": "string"
    },
    "source_b": {
      "maxLength": 16384,
      "title": "Source B",
      "type": "string"
    },
    "max_days": {
      "default": 3,
      "maximum": 7,
      "minimum": 1,
      "title": "Max Days",
      "type": "integer"
    },
    "budget_credits": {
      "default": 200,
      "maximum": 1000,
      "minimum": 0,
      "title": "Budget Credits",
      "type": "integer"
    }
  },
  "required": [
    "journal_json",
    "source_a",
    "source_b"
  ],
  "title": "farm_compare_runArguments"
}

输出模式

{
  "type": "object",
  "additionalProperties": true,
  "title": "farm_compare_runDictOutput"
}
🟢farm_weather_search(query)

Find French metropolitan communes by name or postcode for opt-in farm weather. Public administrative data, cached and bounded. No IP geolocation, precise address, game mutation or LLM call.

输入模式

{
  "type": "object",
  "properties": {
    "query": {
      "maxLength": 60,
      "minLength": 2,
      "title": "Query",
      "type": "string"
    }
  },
  "required": [
    "query"
  ],
  "title": "farm_weather_searchArguments"
}

输出模式

{
  "type": "object",
  "additionalProperties": true,
  "title": "farm_weather_searchDictOutput"
}
🟢farm_weather_get(commune_code, start_date, station_id)

Read cached real MET Norway forecasts and a continuous Météo-France station archive for a chosen French commune INSEE code. Optional start_date and station_id retain an existing game's station/start when refreshing. Returns a frozen snapshot, station distance, dates and licences. Forecasts are not observations and never fill the tank. No game mutation, precise user location, paid API, LLM call or publication. Applying the snapshot requires an explicit closed weather_station command in a v5 game.

输入模式

{
  "type": "object",
  "properties": {
    "commune_code": {
      "maxLength": 5,
      "minLength": 5,
      "title": "Commune Code",
      "type": "string"
    },
    "start_date": {
      "anyOf": [
        {
          "maxLength": 10,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Start Date"
    },
    "station_id": {
      "anyOf": [
        {
          "maxLength": 8,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Station Id"
    }
  },
  "required": [
    "commune_code"
  ],
  "title": "farm_weather_getArguments"
}

输出模式

{
  "type": "object",
  "additionalProperties": true,
  "title": "farm_weather_getDictOutput"
}
⚪bamboo_training_run(source)

Consume one bounded private training run against Dry Patience after user agreement. GardenScript 0.5 bamboo only, fixed public scenario and budgets. Shared web/MCP quotas; temporary local storage, no official submission or publication, no LLM call. Keep run_token private.

输入模式

{
  "type": "object",
  "properties": {
    "source": {
      "maxLength": 16384,
      "title": "Source",
      "type": "string"
    }
  },
  "required": [
    "source"
  ],
  "title": "bamboo_training_runArguments"
}

输出模式

{
  "type": "object",
  "additionalProperties": true,
  "title": "bamboo_training_runDictOutput"
}
🟢bamboo_training_explain(run_token, day)

Read a private training comparison and evidence-linked moments. Optional day 1-365 returns both actual Rust decision traces, not a rerun. Requires the private GardenArena run_token, not a provider credential.

输入模式

{
  "type": "object",
  "properties": {
    "run_token": {
      "pattern": "^[0-9a-f]{64}$",
      "title": "Run Token",
      "type": "string"
    },
    "day": {
      "anyOf": [
        {
          "maximum": 365,
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Day"
    }
  },
  "required": [
    "run_token"
  ],
  "title": "bamboo_training_explainArguments"
}

输出模式

{
  "type": "object",
  "additionalProperties": true,
  "title": "bamboo_training_explainDictOutput"
}
🟢bamboo_training_artifact(run_token)

Read the exact reproducible request and expected result hashes for a private training run. Includes strategy sources: do not publish automatically. Full trace JSON downloadable through the documented POST export. No run or official ledger write.

输入模式

{
  "type": "object",
  "properties": {
    "run_token": {
      "pattern": "^[0-9a-f]{64}$",
      "title": "Run Token",
      "type": "string"
    }
  },
  "required": [
    "run_token"
  ],
  "title": "bamboo_training_artifactArguments"
}

输出模式

{
  "type": "object",
  "additionalProperties": true,
  "title": "bamboo_training_artifactDictOutput"
}
🟢list_garden_arenas(status, limit, offset)

List GardenScript arenas. This is local, read-only, and performs no LLM call.

输入模式

{
  "type": "object",
  "properties": {
    "status": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Status"
    },
    "limit": {
      "default": 50,
      "title": "Limit",
      "type": "integer"
    },
    "offset": {
      "default": 0,
      "title": "Offset",
      "type": "integer"
    }
  },
  "title": "list_garden_arenasArguments"
}

输出模式

{
  "type": "object",
  "additionalProperties": true,
  "title": "list_garden_arenasDictOutput"
}
🟢get_garden_arena(arena_slug)

Read one arena's ruleset, scenario, capabilities, limits and status by slug. This performs no LLM call.

输入模式

{
  "type": "object",
  "properties": {
    "arena_slug": {
      "title": "Arena Slug",
      "type": "string"
    }
  },
  "required": [
    "arena_slug"
  ],
  "title": "get_garden_arenaArguments"
}

输出模式

{
  "type": "object",
  "additionalProperties": true,
  "title": "get_garden_arenaDictOutput"
}
🟡submit_garden_strategy(arena_slug, source, entrant_name, model_provider, model_name, ...)

Submit externally generated GardenScript to an arena. The source is validated again by the local Rust compiler. Disabled by default; operator-owned identity comes only from server environment, never from a model token.

输入模式

{
  "type": "object",
  "properties": {
    "arena_slug": {
      "title": "Arena Slug",
      "type": "string"
    },
    "source": {
      "title": "Source",
      "type": "string"
    },
    "entrant_name": {
      "title": "Entrant Name",
      "type": "string"
    },
    "model_provider": {
      "default": "user_declared",
      "title": "Model Provider",
      "type": "string"
    },
    "model_name": {
      "default": "user_declared",
      "title": "Model Name",
      "type": "string"
    },
    "model_version": {
      "default": "user_declared",
      "title": "Model Version",
      "type": "string"
    },
    "prompt_sha256": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Prompt Sha256"
    },
    "transcript_sha256": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Transcript Sha256"
    }
  },
  "required": [
    "arena_slug",
    "source",
    "entrant_name"
  ],
  "title": "submit_garden_strategyArguments"
}

输出模式

{
  "type": "object",
  "additionalProperties": true,
  "title": "submit_garden_strategyDictOutput"
}
🟢get_garden_results(arena_slug)

Read the sealed results for a GardenScript arena. Performs no simulation or LLM call.

输入模式

{
  "type": "object",
  "properties": {
    "arena_slug": {
      "title": "Arena Slug",
      "type": "string"
    }
  },
  "required": [
    "arena_slug"
  ],
  "title": "get_garden_resultsArguments"
}

输出模式

{
  "type": "object",
  "additionalProperties": true,
  "title": "get_garden_resultsDictOutput"
}
🟡entry_create(arena_id, trial_id, evaluation_mode, identity_assurance, competition_scope, ...)

Create a Reality Trial 001 policy entry. Returns an explicit entry_id. Returns a private entry_nonce once; keep it for all mutations. An idempotent retry requires that nonce and never returns it again. Identity assurance can only be anonymous or declared. Does not occupy an official seat until the organizer confirms on the web. Write-gated.

输入模式

{
  "type": "object",
  "properties": {
    "arena_id": {
      "default": "plant-v0.2",
      "title": "Arena Id",
      "type": "string"
    },
    "trial_id": {
      "default": "reality-trial-001",
      "title": "Trial Id",
      "type": "string"
    },
    "evaluation_mode": {
      "default": "one_shot_blind",
      "title": "Evaluation Mode",
      "type": "string"
    },
    "identity_assurance": {
      "default": "declared",
      "title": "Identity Assurance",
      "type": "string"
    },
    "competition_scope": {
      "default": "official",
      "title": "Competition Scope",
      "type": "string"
    },
    "model_claim": {
      "default": "undeclared",
      "title": "Model Claim",
      "type": "string"
    },
    "provider_claim": {
      "default": "undeclared",
      "title": "Provider Claim",
      "type": "string"
    },
    "host_claim": {
      "default": "user MCP host",
      "title": "Host Claim",
      "type": "string"
    },
    "idempotency_key": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Idempotency Key"
    },
    "entry_nonce": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Entry Nonce"
    }
  },
  "title": "entry_createArguments"
}

输出模式

{
  "type": "object",
  "additionalProperties": true,
  "title": "entry_createDictOutput"
}
⚪strategy_validate(entry_id, source, entry_nonce)

Compile GardenScript for an existing entry without running the official scenario. Requires its private entry_nonce. Consumes that entry's validation budget.

输入模式

{
  "type": "object",
  "properties": {
    "entry_id": {
      "title": "Entry Id",
      "type": "string"
    },
    "source": {
      "title": "Source",
      "type": "string"
    },
    "entry_nonce": {
      "title": "Entry Nonce",
      "type": "string"
    }
  },
  "required": [
    "entry_id",
    "source",
    "entry_nonce"
  ],
  "title": "strategy_validateArguments"
}

输出模式

{
  "type": "object",
  "additionalProperties": true,
  "title": "strategy_validateDictOutput"
}
⚪strategy_prepare_seal(entry_id, entry_nonce)

Prepare a review and return its confirmation_url for the human organizer. Requires the private entry_nonce. Does not grant authority to seal. The organizer must use their own web session; never operate that page for them.

输入模式

{
  "type": "object",
  "properties": {
    "entry_id": {
      "title": "Entry Id",
      "type": "string"
    },
    "entry_nonce": {
      "title": "Entry Nonce",
      "type": "string"
    }
  },
  "required": [
    "entry_id",
    "entry_nonce"
  ],
  "title": "strategy_prepare_sealArguments"
}

输出模式

{
  "type": "object",
  "additionalProperties": true,
  "title": "strategy_prepare_sealDictOutput"
}
🟢strategy_seal(entry_id, entry_nonce, validation_receipt_id, confirmation_handle)

Read acknowledgment of an already human-confirmed seal. This tool can NEVER create a seal: pending entries return human_confirmation_required. Give the preparation's confirmation_url to the organizer instead. Legacy receipt/handle arguments are ignored, never approval credentials.

输入模式

{
  "type": "object",
  "properties": {
    "entry_id": {
      "title": "Entry Id",
      "type": "string"
    },
    "entry_nonce": {
      "title": "Entry Nonce",
      "type": "string"
    },
    "validation_receipt_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Validation Receipt Id"
    },
    "confirmation_handle": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Confirmation Handle"
    }
  },
  "required": [
    "entry_id",
    "entry_nonce"
  ],
  "title": "strategy_sealArguments"
}

输出模式

{
  "type": "object",
  "additionalProperties": true,
  "title": "strategy_sealDictOutput"
}
🟢artifact_verify(digest)

Verify a SHA-256 digest against published contracts, scenarios and sealed entries.

输入模式

{
  "type": "object",
  "properties": {
    "digest": {
      "title": "Digest",
      "type": "string"
    }
  },
  "required": [
    "digest"
  ],
  "title": "artifact_verifyArguments"
}

输出模式

{
  "type": "object",
  "additionalProperties": true,
  "title": "artifact_verifyDictOutput"
}

社区

评价此服务器

证据

最近观测

已验证未记录版本30 个工具
已验证未记录版本30 个工具