EcoCarbonWiki
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Read-only MCP for the Eco game wiki: search, Markdown pages, and wiki_* lookups. No keys, no writes.
| Author | dev.carbonitex.ecogame |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 2560 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"EcoCarbonWiki": {
"url": "https://ecogame.carbonitex.dev/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (11)
searchFull-text search the Eco game wiki (items, recipes, skills, animals, plants, biomes, guides). Returns ranked matches with name, kind, canonical url and a snippet.
Parameters:
query(required) — string — The search query.limit— integer — Max results (1-50, default 15).
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
fetchFetch a single Eco wiki page as Markdown. Pass a canonical wiki path such as /wiki/item/iron-bar, /wiki, or an index like /wiki/recipes.
Parameters:
path(required) — string — Canonical wiki path, e.g. /wiki/item/iron-bar
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
wiki_searchFull-text search the Eco game wiki (items, recipes, skills, categories, animals, plants, biomes). Returns matching pages with their kind, name, slug, and a snippet. Use the slug with the matching wiki_get_* tool to read full facts. ALWAYS search first to find the right slugs.
Parameters:
query(required) — string — What to search for (e.g. "iron bar", "carpentry", "deer").limit— integer — Max results (default 8).
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
wiki_getRead full facts for one OR MANY wiki pages in a single call. Pass every page you need at once (e.g. a recipe AND its ingredient items) — batching saves round-trips. Each entry takes a slug (from wiki_search) and, ideally, its kind: • item — item/food/tool/placed-object/block: description, category, tags, weight/stack, fuel, food nutrition + shelf life, tool/weapon stats, placed-object stats (housing, rooms, power/fuel, storage), block facts, where obtained, recipes that make/use it. For a placed object this INCLUDES its measurements — storage slots and weight capacity, storage link range, interact distance, power-grid radius, footprint and top speed — so read the page before saying a size/range/capacity isn't tracked. • recipe — products (+waste), ingredients (specific items OR categories w/ examples), station, skill + level, labor, craft time, XP, throughput, and the levers that change the numbers. (wiki_calc for exact modified numbers; wiki_total_raw for the from-scratch chain.) • skill — tier, max level, prerequisites, recipes unlocked. • category — a tag's member items and the recipes that use it. • species — an animal OR plant/tree: description, yields; animals: diet/predator/nocturnal; plants: biomes, ideal temperature. • biome — the plants/trees that grow there. Omit kind only if unsure; an ambiguous slug returns all matches so you can re-request with the right kind.
Parameters:
items(required) — array — 1–12 pages to read in one call.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
wiki_total_rawFlatten a recipe or craftable item to its TOTAL RAW materials across the whole production chain, with total labor calories, total craft minutes, and crafting-step count. Pass an item slug OR a recipe slug. Use for 'what does it take to make X from scratch' (the raw shopping list). For a breakdown that ALSO includes the crafted intermediate sub-components (e.g. how many iron bars), use wiki_bom instead. Optionally pass a character setup (skill_level/skills, talents, modules) AND/OR a server override to recompute the WHOLE chain for that profile.
Parameters:
slug(required) — string — An item or recipe slug (from a wiki_search result).module— string — A single module name/type, or a comma-separated list (alternative to modules[]).server— object — Model a DIFFERENT server by overriding its difficulty/feature settings (default = THIS server's real settings, so omit for accurate answers). Fields: craftResource (× ingredient cost), craftTime (× craft time), growth (× plant growth/maturity), garbageRatio (Update 14 craft-waste ratio, 0..1; scales recipe garbage byproducts), fuelEfficiency (× every fuel item's fuel value), foodVariety (bool), foodTastiness (bool), baseGain (flat XP/day floor), minBalanced/maxBalanced (balanced-diet multiplier range for food XP).skills— object — Per-skill levels: { "<skill FullName>": level }. Overrides skill_level for those skills.modules— array — Upgrade-module names/types installed (multiple slots stack).talents— array — Talent names/types to treat as learned (applied across the whole chain).skill_level— integer — A single skill level applied to EVERY governing skill in the chain (shortcut for a uniform setup).
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
wiki_bomBill-of-materials for making a target item/recipe: the full crafting tree INCLUDING the crafted intermediate sub-components (NOT just raw leaves). This is the tool for 'how many <component> does it take to make <target>' — including components the target never lists directly (they're summed transitively across the whole tree). Differs from wiki_total_raw (raw materials only) and wiki_calc (exact one-step numbers for a single recipe). Pass an item slug (uses its primary producing recipe) OR a recipe slug. Optional: quantity (units of the target, default 1, 1..10000); ingredient (a specific component name/slug — returns just that component's total quantity + whether it's an intermediate or raw); recipe_slug (override which producing recipe to use when the item has several — the others are listed as 'alternatives'). Optional character/server setup to recompute the whole tree: skill_level/skills, talents, modules/module, and server (model a different server's difficulty). Example: { slug:"steam-tractor", ingredient:"iron bar" } → how many iron bars a steam tractor needs.
Parameters:
slug(required) — string — The TARGET item or recipe slug (from a wiki_search result).module— string — A single module name/type, or a comma-separated list (alternative to modules[]).server— object — Model a DIFFERENT server by overriding its difficulty/feature settings (default = THIS server's real settings, so omit for accurate answers). Fields: craftResource (× ingredient cost), craftTime (× craft time), growth (× plant growth/maturity), garbageRatio (Update 14 craft-waste ratio, 0..1; scales recipe garbage byproducts), fuelEfficiency (× every fuel item's fuel value), foodVariety (bool), foodTastiness (bool), baseGain (flat XP/day floor), minBalanced/maxBalanced (balanced-diet multiplier range for food XP).skills— object — Per-skill levels: { "<skill FullName>": level }. Overrides skill_level for those skills.modules— array — Upgrade-module names/types installed (multiple slots stack).talents— array — Talent names/types to treat as learned (applied across the whole chain). Their effect text is echoed back so you can explain why a number changed.quantity— integer — How many units of the target to produce (default 1; clamped 1..10000).ingredient— string — Optional: a specific component name or slug. Returns just that component's total quantity in the tree and its role (intermediate/raw).recipe_slug— string — Optional: when the target item has multiple producing recipes, pick this one (else the primary; others are reported as alternatives).skill_level— integer — A single skill level applied to EVERY governing skill in the chain (shortcut for a uniform setup).
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
wiki_calcCompute EXACT numbers for a chosen setup. For a RECIPE: labor calories, craft time, per-ingredient counts and throughput at a given skill level + upgrade module + talents. For a FOOD item: its STATIC calories/nutrition (eating never changes these) PLUS an estimated XP / skill-gain rate from the diet inputs (balanced/variety/tastiness/housing). For a TOOL/WEAPON: damage, calories-per-use, durability-per-use at the tool's governing-skill level + talents. For a MINEABLE BLOCK: per-block calorie/durability cost (for a representative pickaxe), yield, and calories-per-stack at a mining-skill level + talents. For a SPECIES: harvest yields recomputed with the reader's harvest-yield talents. Omit a lever to leave it at base; the response lists the available modules/talents/skill (with each talent's effect text) so you can pick valid ones and explain what changed. Optional 'server' override models a different server's difficulty (recipes honor craftResource/craftTime; mining/species honor their relevant settings; food honors foodVariety/foodTastiness).
Parameters:
slug(required) — string — A recipe, food-item, or species slug (from wiki_search).module— string — Upgrade-module name or tier number (recipes only); lowers craft time/materials.server— object — Model a DIFFERENT server by overriding its difficulty/feature settings (default = THIS server's real settings, so omit for accurate answers). Fields: craftResource (× ingredient cost), craftTime (× craft time), growth (× plant growth/maturity), garbageRatio (Update 14 craft-waste ratio, 0..1; scales recipe garbage byproducts), fuelEfficiency (× every fuel item's fuel value), foodVariety (bool), foodTastiness (bool), baseGain (flat XP/day floor), minBalanced/maxBalanced (balanced-diet multiplier range for food XP).housing— number — Food only: your housing XP contribution (additive to the skill-gain rate; default 0).talents— array — Talent names to treat as learned (recipes/tools/mining/species yields).variety— number — Food only: your current food-variety bonus multiplier (default 1).balanced— boolean — Food only: assume a balanced diet (max balanced-diet bonus) vs this food alone.tastiness— number — Food only: your current food-tastiness bonus multiplier (default 1).skill_level— integer — Governing-skill level (recipes/tools/mining); lowers labor / tunes stats.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
wiki_contract_basicsExplain how Solomon's help contracts and quests work for players (the kinds available, how rewards/escrow work, how completion is verified). Use for 'how do contracts/quests work' questions.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
wiki_commandsLook up Eco chat (slash) commands on this server, from the game's own command registry. Pass a command name ("give", "unstuck", "manage playtime"), words from what it does ("weather", "stuck"), or a full line the player typed ("/give birch seed 100"). Returns each match's exact usage line (arguments are COMMA-separated; [bracketed] ones optional, with defaults), its shortcut, and who can use it (Everyone / Moderator / Admin). For a typed line it also returns `interpretation`: how the game would read it, argument by argument, any problems, and a `corrected` line when the arguments were separated by spaces instead of commas.
Parameters:
query(required) — string — A command name, a typed command line, or words describing what the command does.limit— integer — Max matches (default 6, max 25).
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
wiki_rankRank the wiki's entities by a NUMERIC field and return the top (or bottom) N. Use this for ANY 'which has the most/least/highest/lowest X' question — never guess-and-confirm with wiki_search. Choose a kind, the field to rank 'by', order (desc = highest first, the default; asc = lowest first), an optional limit (default 5, max 25), an optional 'category' to scope to one tag (food/item/species only — e.g. category "seed"), and an optional numeric 'where' filter. Available fields by kind (a field that doesn't apply to a given entity — e.g. a tool stat on a non-tool — simply excludes it): • food: calories, carbs, fat, protein, shelf_life, stack, vitamins, weight • item (base + placed-object + tool + block facets): air_pollution, animal_damage, block_tier, calories_burn, damage, durability_burn, fertility, fuel, fuel_jps, grid_radius, hardness, harvest_yield, housing_value, interact_distance, is_fuel, is_mintable, is_road, is_weapon, labor_max, labor_min, link_radius, max_coins, max_durability, move_efficiency, pollution, power_generated, power_watts, repair_level, room_tier, room_volume, school_value, seats, size_x, size_y, size_z, stack, storage_slots, storage_weight, tool_tier, vehicle_speed, weight • recipe: craft_minutes, crafting_steps, ingredients, labor, products, skill_level, skill_max_level, xp • skill: max_level, tier • species (animals ∪ plants/trees): attacks_player, calorie_value, co2_per_day, health, ideal_temp_max, ideal_temp_min, is_predator, nocturnal, yield_min_total, yield_total Bool fields read as 1/0 (e.g. where { field: "is_predator", op: "=", value: 1 }). Example: { kind: "food", by: "calories", order: "desc", limit: 3 } → the 3 highest-calorie foods. Scoped example: { kind: "food", by: "shelf_life", order: "asc", category: "seed" } → the seeds that spoil fastest. Optional character/server PROFILE (skill_level/skills, talents, modules/module, server) re-ranks the profile-sensitive metrics — recipe labor/craft_minutes; tool damage/calories_burn/durability_burn; item harvest_yield/power_watts; species yield_total/yield_min_total (craft_minutes also honors server craftTime). All other fields are static facts and ignore the profile (the result carries a note). No profile = base ranking.
Parameters:
kind(required) — string — Which entity set to rank.by(required) — string — Numeric field to rank by (see this tool's description for the field names valid for each kind).limit— integer — How many to return (default 5, max 25).order— string — desc = highest first (default), asc = lowest first.where— object — Optional single numeric filter applied before ranking/aggregating, e.g. { field: "weight", op: "<", value: 1000 }. The field must come from the same per-kind set as 'by'/'field'.module— string — A single module name/type, or a comma-separated list (alternative to modules[]).server— object — Model a DIFFERENT server's difficulty (default = this server's real settings; omit for accurate answers). Fields: craftResource, craftTime, growth, garbageRatio, fuelEfficiency, foodVariety, foodTastiness, baseGain, minBalanced, maxBalanced. Only craft_minutes is server-sensitive for ranking.skills— object — Per-skill levels: { "<skill FullName>": level }. Overrides skill_level for those skills.modules— array — Upgrade-module names/types installed (multiple slots stack).talents— array — Talent names/types to treat as learned (profile-sensitive metrics only).category— string — Optional: scope to ONE tag/category before ranking/aggregating, e.g. "seed", "vegetable", "gun". Only the tagged kinds (food / item / species) support this. Use the category's name from a wiki_search result; matching is case- and plural-insensitive.skill_level— integer — A single skill level applied to every governing skill (profile-sensitive metrics only).
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
wiki_aggregateCompute an aggregate over the wiki's entities — count / sum / avg / min / max of a numeric field across a whole kind, with an optional numeric 'where' filter. Use for 'how many…', 'what's the average/total/highest…' questions. 'count' needs no field (counts entities, or those matching 'where'); sum/avg/min/max require a 'field'. Supports the same optional 'category' scope as wiki_rank (food/item/species). Kinds and field names are the SAME as wiki_rank — see that tool's per-kind field lists. Example: { kind: "recipe", metric: "count", where: { field: "skill_level", op: ">", value: 5 } } → how many recipes need skill level above 5. Scoped: { kind: "food", metric: "avg", field: "calories", category: "vegetable" } → average calories of vegetables. Optional character/server PROFILE (skill_level/skills, talents, modules/module, server) recomputes the same profile-sensitive metrics as wiki_rank (recipe labor/craft_minutes; tool damage/calories_burn/durability_burn; item harvest_yield/power_watts; species yield_total/yield_min_total); static fields ignore it (the result carries a note). No profile = base aggregate.
Parameters:
kind(required) — string — Which entity set to aggregate over.metric(required) — string — Which aggregate to compute.field— string — Numeric field for sum/avg/min/max (required for those). Optional for count — with a field, count includes only entities that have it.where— object — Optional single numeric filter applied before ranking/aggregating, e.g. { field: "weight", op: "<", value: 1000 }. The field must come from the same per-kind set as 'by'/'field'.module— string — A single module name/type, or a comma-separated list (alternative to modules[]).server— object — Model a DIFFERENT server's difficulty (default = this server's real settings; omit for accurate answers). Fields: craftResource, craftTime, growth, garbageRatio, fuelEfficiency, foodVariety, foodTastiness, baseGain, minBalanced, maxBalanced. Only craft_minutes is server-sensitive for ranking.skills— object — Per-skill levels: { "<skill FullName>": level }. Overrides skill_level for those skills.modules— array — Upgrade-module names/types installed (multiple slots stack).talents— array — Talent names/types to treat as learned (profile-sensitive metrics only).category— string — Optional: scope to ONE tag/category before ranking/aggregating, e.g. "seed", "vegetable", "gun". Only the tagged kinds (food / item / species) support this. Use the category's name from a wiki_search result; matching is case- and plural-insensitive.skill_level— integer — A single skill level applied to every governing skill (profile-sensitive metrics only).
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.