MCP server for public Eco game servers, providing tools for querying game state, economy, civics, crafting, trades, progression, and player activity. Includes a privileged admin MCP for server operators.
36 tools with consistent naming (verb_noun pattern: admin_*, get_*, create_*, list_*, remove_*) and descriptions present for all. However, critical gaps: (1) 14 admin_* tools have empty enum values for 'name', 'stream', 'query' parameters, these are server-owned enums but the schema shows no actual values, making validation impossible; (2) output schemas are entirely undocumented, no tool declares what fields it returns, forcing LLMs to guess structure; (3) parameter descriptions are minimal (avg ~80 chars) and lack format/constraint details; (4) no error handling guidance in any description; (5) watcher tools (create_watcher, evaluate_watcher) accept free-form 'query' strings with no schema, format, or examples. Naming is strong (18-25 chars, action-first), but schema completeness and output documentation are major weaknesses.
Count, cadence, and newest/oldest fixed world backups.
Read the fixed current and diff files for one known config. This tool uses a server-owned enum and never accepts a filesystem path.
Read one known Eco config. This tool uses a server-owned enum and never accepts a filesystem path.
Read recent events from fixed EcoReplay SQLite or JSONL storage.
Read the node-local Eco HTTP /info route with a fixed timeout and response budget.
Search one fixed subsystem stream with a bounded, case-insensitive literal. Regex and paths are not accepted.
Empty enum values in 6 admin tools (admin_config_get, admin_config_diff, admin_log_tail, admin_log_grep, admin_rcon_query). Schema declares enum:[] but provides no actual valid values. LLMs cannot determine what to pass.
No output schemas documented for any of 36 tools. Tool descriptions state what they read (e.g. 'Size and age of fixed world save files') but never declare the response structure. LLMs cannot plan downstream calls or extract fields.
Watcher tools (create_watcher, evaluate_watcher) accept free-form 'query' string parameter with no schema, format specification, or examples. No validation rules, no error guidance on invalid syntax.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | 2026-07-28+ | v2 |
Tail the newest file in one fixed subsystem log stream. This tool uses a server-owned enum and never accepts a filesystem path.
Read the fixed DiscordLink, MightyMoose, NidToolbox, and StrangeWorlds config set.
Inventory fixed Mods/UserCode directories and compare configured mod names.
Aggregate the bounded recent Chronicler event sample by citizen and action.
Run one server-owned read-only RCON query. Paths and arbitrary commands are not accepted.
Size and age of fixed world save files under the read-only Storage mount.
Report node-local Eco /info reachability. This does not execute systemctl or enter a workload.
Selected non-secret world generator metadata from Configs/WorldGenerator.eco.
Create a new watcher for game state changes.
Evaluate a watcher query against current game state.
Fetch government structure, elections, laws, and titles.
Fetch climate and weather data.
Fetch the crafting atlas with recipes, stations, and production chains.
Fetch currency and government holdings data.
Fetch economy datasets including flow and level metrics.
Fetch ecoregion data and biome information.
Fetch fair price analysis for items.
Fetch the Eco server /info endpoint. Returns game state, player counts, cycle day, and server metadata.
Fetch logistics and supply chain data.
Fetch the world map with terrain and landmark data.
Fetch market data and store listings.
Fetch player progression history and skill trees.
List known public Eco servers with their host, label, and notes.
Fetch player social data, chat, and community information.
Fetch species and wildlife data.
Fetch store directory and merchant information.
Fetch the trade ledger with recent buy/sell orders and market activity.
Fetch world metadata including meteor status, election cycle, and government treasury.
List all active watchers for game state changes.
Remove an active watcher.
Parameter descriptions lack format/constraint details. E.g. 'limit' in admin_events_recent has min/max but no explanation of what it limits. 'server' in get_info says 'Optional server URL or host:port' but no validation pattern or error guidance.
No error handling guidance in any tool description. No recovery hints (e.g. 'If server unreachable, check ECO_INFO_URL env var'). LLMs cannot self-correct on failures.