EcoCarbonWiki
Read-only MCP for the Eco game wiki: search, Markdown pages, and wiki_* lookups. No keys, no writes.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"ecocarbonwiki": {
"url": "https://ecogame.carbonitex.dev/mcp"
}
}
}Puntos de conexión remotos
https://ecogame.carbonitex.dev/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (10)
🟢search(query, limit)
Full-text search the Eco game wiki (items, recipes, skills, animals, plants, biomes, guides). Returns ranked matches with name, kind, canonical url and a snippet.
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "The search query."
},
"limit": {
"type": "integer",
"description": "Max results (1-50, default 15).",
"minimum": 1,
"maximum": 50
}
},
"required": [
"query"
]
}🟢fetch(path)
Fetch 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.
Esquema de entrada
{
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "Canonical wiki path, e.g. /wiki/item/iron-bar"
}
},
"required": [
"path"
]
}🟢wiki_search(query, limit)
Full-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.
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "What to search for (e.g. \"iron bar\", \"carpentry\", \"deer\")."
},
"limit": {
"type": "integer",
"description": "Max results (default 8)."
}
},
"required": [
"query"
],
"additionalProperties": false
}🟡wiki_get(items)
Read 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.
Esquema de entrada
{
"type": "object",
"properties": {
"items": {
"type": "array",
"description": "1–12 pages to read in one call.",
"minItems": 1,
"maxItems": 12,
"items": {
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "The page slug (lower-case, hyphenated), e.g. from a wiki_search result."
},
"kind": {
"type": "string",
"enum": [
"item",
"recipe",
"skill",
"category",
"species",
"biome"
],
"description": "Which page type. Optional — omit only if unsure."
}
},
"required": [
"slug"
],
"additionalProperties": false
}
}
},
"required": [
"items"
],
"additionalProperties": false
}⚪wiki_total_raw(slug, skill_level, skills, talents, modules, ...)
Flatten 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.
Esquema de entrada
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "An item or recipe slug (from a wiki_search result)."
},
"skill_level": {
"type": "integer",
"description": "A single skill level applied to EVERY governing skill in the chain (shortcut for a uniform setup)."
},
"skills": {
"type": "object",
"description": "Per-skill levels: { \"<skill FullName>\": level }. Overrides skill_level for those skills.",
"additionalProperties": {
"type": "integer"
}
},
"talents": {
"type": "array",
"items": {
"type": "string"
},
"description": "Talent names/types to treat as learned (applied across the whole chain)."
},
"modules": {
"type": "array",
"items": {
"type": "string"
},
"description": "Upgrade-module names/types installed (multiple slots stack)."
},
"module": {
"type": "string",
"description": "A single module name/type, or a comma-separated list (alternative to modules[])."
},
"server": {
"type": "object",
"description": "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).",
"additionalProperties": true
}
},
"required": [
"slug"
],
"additionalProperties": false
}⚪wiki_bom(slug, quantity, ingredient, recipe_slug, skill_level, ...)
Bill-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.
Esquema de entrada
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "The TARGET item or recipe slug (from a wiki_search result)."
},
"quantity": {
"type": "integer",
"description": "How many units of the target to produce (default 1; clamped 1..10000)."
},
"ingredient": {
"type": "string",
"description": "Optional: a specific component name or slug. Returns just that component's total quantity in the tree and its role (intermediate/raw)."
},
"recipe_slug": {
"type": "string",
"description": "Optional: when the target item has multiple producing recipes, pick this one (else the primary; others are reported as alternatives)."
},
"skill_level": {
"type": "integer",
"description": "A single skill level applied to EVERY governing skill in the chain (shortcut for a uniform setup)."
},
"skills": {
"type": "object",
"description": "Per-skill levels: { \"<skill FullName>\": level }. Overrides skill_level for those skills.",
"additionalProperties": {
"type": "integer"
}
},
"talents": {
"type": "array",
"items": {
"type": "string"
},
"description": "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."
},
"modules": {
"type": "array",
"items": {
"type": "string"
},
"description": "Upgrade-module names/types installed (multiple slots stack)."
},
"module": {
"type": "string",
"description": "A single module name/type, or a comma-separated list (alternative to modules[])."
},
"server": {
"type": "object",
"description": "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).",
"additionalProperties": true
}
},
"required": [
"slug"
],
"additionalProperties": false
}🟢wiki_calc(slug, skill_level, module, talents, balanced, ...)
Compute 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).
Esquema de entrada
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "A recipe, food-item, or species slug (from wiki_search)."
},
"skill_level": {
"type": "integer",
"description": "Governing-skill level (recipes/tools/mining); lowers labor / tunes stats."
},
"module": {
"type": "string",
"description": "Upgrade-module name or tier number (recipes only); lowers craft time/materials."
},
"talents": {
"type": "array",
"items": {
"type": "string"
},
"description": "Talent names to treat as learned (recipes/tools/mining/species yields)."
},
"balanced": {
"type": "boolean",
"description": "Food only: assume a balanced diet (max balanced-diet bonus) vs this food alone."
},
"variety": {
"type": "number",
"description": "Food only: your current food-variety bonus multiplier (default 1)."
},
"tastiness": {
"type": "number",
"description": "Food only: your current food-tastiness bonus multiplier (default 1)."
},
"housing": {
"type": "number",
"description": "Food only: your housing XP contribution (additive to the skill-gain rate; default 0)."
},
"server": {
"type": "object",
"description": "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).",
"additionalProperties": true
}
},
"required": [
"slug"
],
"additionalProperties": false
}🟢wiki_contract_basics
Explain 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.
Esquema de entrada
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢wiki_rank(kind, by, order, limit, category, ...)
Rank 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.
Esquema de entrada
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"food",
"item",
"recipe",
"skill",
"species"
],
"description": "Which entity set to rank."
},
"by": {
"type": "string",
"description": "Numeric field to rank by (see this tool's description for the field names valid for each kind)."
},
"order": {
"type": "string",
"enum": [
"desc",
"asc"
],
"description": "desc = highest first (default), asc = lowest first."
},
"limit": {
"type": "integer",
"description": "How many to return (default 5, max 25)."
},
"category": {
"type": "string",
"description": "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."
},
"where": {
"type": "object",
"description": "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'.",
"properties": {
"field": {
"type": "string",
"description": "A numeric field from the kind's field list."
},
"op": {
"type": "string",
"enum": [
">",
">=",
"<",
"<=",
"="
],
"description": "Comparison operator."
},
"value": {
"type": "number",
"description": "The number to compare against (bools are 1/0)."
}
},
"required": [
"field",
"op",
"value"
],
"additionalProperties": false
},
"skill_level": {
"type": "integer",
"description": "A single skill level applied to every governing skill (profile-sensitive metrics only)."
},
"skills": {
"type": "object",
"description": "Per-skill levels: { \"<skill FullName>\": level }. Overrides skill_level for those skills.",
"additionalProperties": {
"type": "integer"
}
},
"talents": {
"type": "array",
"items": {
"type": "string"
},
"description": "Talent names/types to treat as learned (profile-sensitive metrics only)."
},
"modules": {
"type": "array",
"items": {
"type": "string"
},
"description": "Upgrade-module names/types installed (multiple slots stack)."
},
"module": {
"type": "string",
"description": "A single module name/type, or a comma-separated list (alternative to modules[])."
},
"server": {
"type": "object",
"description": "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.",
"additionalProperties": true
}
},
"required": [
"kind",
"by"
],
"additionalProperties": false
}🟢wiki_aggregate(kind, metric, field, category, where, ...)
Compute 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.
Esquema de entrada
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"food",
"item",
"recipe",
"skill",
"species"
],
"description": "Which entity set to aggregate over."
},
"metric": {
"type": "string",
"enum": [
"count",
"sum",
"avg",
"min",
"max"
],
"description": "Which aggregate to compute."
},
"field": {
"type": "string",
"description": "Numeric field for sum/avg/min/max (required for those). Optional for count — with a field, count includes only entities that have it."
},
"category": {
"type": "string",
"description": "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."
},
"where": {
"type": "object",
"description": "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'.",
"properties": {
"field": {
"type": "string",
"description": "A numeric field from the kind's field list."
},
"op": {
"type": "string",
"enum": [
">",
">=",
"<",
"<=",
"="
],
"description": "Comparison operator."
},
"value": {
"type": "number",
"description": "The number to compare against (bools are 1/0)."
}
},
"required": [
"field",
"op",
"value"
],
"additionalProperties": false
},
"skill_level": {
"type": "integer",
"description": "A single skill level applied to every governing skill (profile-sensitive metrics only)."
},
"skills": {
"type": "object",
"description": "Per-skill levels: { \"<skill FullName>\": level }. Overrides skill_level for those skills.",
"additionalProperties": {
"type": "integer"
}
},
"talents": {
"type": "array",
"items": {
"type": "string"
},
"description": "Talent names/types to treat as learned (profile-sensitive metrics only)."
},
"modules": {
"type": "array",
"items": {
"type": "string"
},
"description": "Upgrade-module names/types installed (multiple slots stack)."
},
"module": {
"type": "string",
"description": "A single module name/type, or a comma-separated list (alternative to modules[])."
},
"server": {
"type": "object",
"description": "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.",
"additionalProperties": true
}
},
"required": [
"kind",
"metric"
],
"additionalProperties": false
}Comunidad
Evidencia