EcoCarbonWiki
Server Details
Read-only MCP for the Eco game wiki: search, Markdown pages, and wiki_* lookups. No keys, no writes.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2024-11-05
- URL
TDQS
Scored across 10 tools
The set contains near-duplicate retrieval pairs: fetch/wiki_get both retrieve page content, and search/wiki_search are both full-text search tools. The three crafting calculators (wiki_bom/wiki_total_raw/wiki_calc) also overlap enough to require careful reading, so multiple tool boundaries are unclear.
Most tools share a wiki_ prefix and snake_case, but fetch and search break the pattern, and the suffixes mix verb forms (wiki_get, wiki_rank), acronyms (wiki_bom), abbreviations (wiki_calc), and noun phrases (wiki_total_raw, wiki_contract_basics). The convention is readable but not consistently applied.
Ten tools is a reasonable size for a game-wiki server, and the calculation tools add real value. However, two redundant pairs (fetch/wiki_get and search/wiki_search) mean the count is slightly padded; eight distinct tools would be tighter.
The surface covers search, structured retrieval, numeric ranking/aggregation, crafting-tree math, profile-aware calculation, and raw-material flattening across the main wiki entity kinds. Minor gaps exist, such as no direct list/browse-all tool and only a single one-off explainer for contracts/quests.
Available Tools
10 toolsfetchAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Canonical wiki path, e.g. /wiki/item/iron-bar |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that the output is Markdown and gives valid path examples, but does not explicitly state that this is a read-only operation or describe error handling. Lacks deeper behavioral context, though the fetch action is inherently read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that front-loads the action and resource, with examples appended for clarity. Every word earns its place with zero redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description covers purpose, output format, and path formats sufficiently. It does not mention edge cases like non-existent pages, but for a basic fetch this is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents the 'path' parameter with an example. The description adds value by broadening the example set ('/wiki', '/wiki/item/iron-bar', '/wiki/recipes'), indicating that index pages are also valid. This goes beyond the schema's single example.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'fetch' and identifies the resource 'single Eco wiki page' with output format 'Markdown'. The word 'single' implicitly differentiates it from aggregate siblings like wiki_aggregate or wiki_total_raw.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context for fetching a single page and implies when to use it, but does not explicitly mention alternatives or exclusion criteria. Siblings like wiki_get and search are not referenced, leaving usage boundaries to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results (1-50, default 15). | |
| query | Yes | The search query. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden for behavioral disclosure. It explains the output structure (ranked matches with name, kind, URL, snippet) but does not mention read-only status, rate limits, or error behavior, though the search semantics imply non-mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the action, includes specific content coverage, and describes the return payload without unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only search tool, the description is largely complete: it states what is searched, what is returned, and the schema covers parameters. With no output schema, the description's mention of return fields is valuable, but it lacks guidance on edge cases or relationship to sibling search tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and both parameters (query, limit) are well-described in the schema. The description adds context about search scope but no additional parameter-level semantics, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs full-text search on the Eco game wiki, lists content categories, and describes the return format. However, it does not differentiate itself from the sibling tool 'wiki_search', so it lacks sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used for searching the wiki but provides no explicit guidance on when to use it versus alternatives like 'fetch' or 'wiki_search', and no exclusions or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wiki_aggregateAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | Which entity set to aggregate over. | |
| field | No | Numeric field for sum/avg/min/max (required for those). Optional for count — with a field, count includes only entities that have it. | |
| where | No | 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'. | |
| metric | Yes | Which aggregate to compute. | |
| module | No | A single module name/type, or a comma-separated list (alternative to modules[]). | |
| server | No | 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 | No | Per-skill levels: { "<skill FullName>": level }. Overrides skill_level for those skills. | |
| modules | No | Upgrade-module names/types installed (multiple slots stack). | |
| talents | No | Talent names/types to treat as learned (profile-sensitive metrics only). | |
| category | No | 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 | No | A single skill level applied to every governing skill (profile-sensitive metrics only). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure and acquits itself well. It explains count's dual behavior (counts entities or those matching 'where'; with a field, counts only entities that have it), profile-sensitive metrics versus static fields, the note on static-field results, the meaning of omitted profile (base aggregate), and the server sensitivity note—far beyond typical descriptions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with a clear purpose statement, followed by usage guidance, parameter semantics, and examples. It is long but each sentence contributes necessary detail for a complex tool with profile sensitivity and multiple metrics. Minor redundancy in repeating 'profile-sensitive metrics' could be trimmed, but overall it is well-structured and not wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers a large parameter space (11 params), nested objects, profile sensitivity, category scoping, and cross-references. However, there is no output schema and the description does not explicitly state the exact return structure (e.g., a plain number vs. object with note). The examples imply the returned aggregate value, and static-field note behavior is mentioned, but a slightly more explicit return-format statement would make it fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds substantial clarity beyond the schema: it explains that count requires no field and what the field means for count, that sum/avg/min/max require a field, and that kinds/field names are identical to wiki_rank (saving the agent from re-learning field lists). The worked examples further clarify parameter combination semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Compute an aggregate over the wiki's entities' and enumerates the metrics (count/sum/avg/min/max) plus the resource (entities of a kind). It immediately differentiates from sibling wiki_rank by focusing on aggregates and references the same field lists, making the tool's role unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states 'Use for "how many…", "what's the average/total/highest…" questions' and provides concrete examples for both unfiltered and category-scoped usage. It does not explicitly state 'do not use for ranked lists' but the strong cross-reference to wiki_rank ('Kinds and field names are the SAME as wiki_rank') implies that ranking is handled elsewhere.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wiki_bomAInspect
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 does it take to make ' — 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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | The TARGET item or recipe slug (from a wiki_search result). | |
| module | No | A single module name/type, or a comma-separated list (alternative to modules[]). | |
| server | No | 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 | No | Per-skill levels: { "<skill FullName>": level }. Overrides skill_level for those skills. | |
| modules | No | Upgrade-module names/types installed (multiple slots stack). | |
| talents | No | 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 | No | How many units of the target to produce (default 1; clamped 1..10000). | |
| ingredient | No | Optional: a specific component name or slug. Returns just that component's total quantity in the tree and its role (intermediate/raw). | |
| recipe_slug | No | Optional: when the target item has multiple producing recipes, pick this one (else the primary; others are reported as alternatives). | |
| skill_level | No | A single skill level applied to EVERY governing skill in the chain (shortcut for a uniform setup). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral burden. It discloses key traits: transitive summation across the whole tree, primary-recipe selection with alternatives listed, optional ingredient filtering returning total+role, and server override behavior. It does not mention error handling or return format, but the disclosed behavior is substantial and non-contradictory.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense but well-structured paragraph: definition first, then usage context, sibling distinctions, parameter walkthrough, and a concrete example. It is slightly long but every sentence adds value; the front-loading of the core purpose and differentiators makes it easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter tool with nested objects and no output schema, the description is quite complete: it explains all parameter categories, gives an example, and covers the main use cases. The lack of an explicit return-shape description is a minor gap, but the example and behavioral details largely compensate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds meaning beyond schema: it clarifies slug as target item or recipe, quantity as units of target with default/clamp, ingredient as specific component with role determination, and recipe_slug as override with alternatives. The example ties parameters together, enriching the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific definition: 'Bill-of-materials for making a target item/recipe: the full crafting tree INCLUDING the crafted intermediate sub-components (NOT just raw leaves).' It names the exact resource (crafting tree) and verb (compute BOM), and explicitly distinguishes from siblings wiki_total_raw and wiki_calc, eliminating ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states precisely when to use: 'This is the tool for "how many <component> does it take to make <target>"' and gives exclusions: 'Differs from wiki_total_raw (raw materials only) and wiki_calc (exact one-step numbers for a single recipe).' It also explains how to pass item vs recipe slug and optional overrides, providing clear usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wiki_calcAInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | A recipe, food-item, or species slug (from wiki_search). | |
| module | No | Upgrade-module name or tier number (recipes only); lowers craft time/materials. | |
| server | No | 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 | No | Food only: your housing XP contribution (additive to the skill-gain rate; default 0). | |
| talents | No | Talent names to treat as learned (recipes/tools/mining/species yields). | |
| variety | No | Food only: your current food-variety bonus multiplier (default 1). | |
| balanced | No | Food only: assume a balanced diet (max balanced-diet bonus) vs this food alone. | |
| tastiness | No | Food only: your current food-tastiness bonus multiplier (default 1). | |
| skill_level | No | Governing-skill level (recipes/tools/mining); lowers labor / tunes stats. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses behavior: it specifies exactly what is computed for each entity type (labor calories, craft time, XP, damage, yields), how parameters affect results, and that the response lists available modules/talents/skill with effect text. This goes well beyond a generic 'computes values' statement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but information-dense and well-structured by entity type. The opening sentence front-loads the core purpose, and every subsequent clause adds specific calculation behavior without fluff, earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is complex (9 params, nested server object, no output schema), yet the description covers all entity types, parameter scoping, server-override semantics, and even hints at response content by saying it lists available modules/talents/skill. This is complete enough for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description adds significant meaning by mapping parameters to entity types (e.g., skill_level for recipes/tools/mining, housing/variety/balanced/tastiness for food). It also explains that omitted levers use base values and that the response helps the user pick valid options, which aids correct parameter selection.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Compute EXACT numbers for a chosen setup' and then enumerates specific outputs for recipes, food, tools, mineable blocks, and species. This clear verb+resource scope distinguishes it from sibling fetch/search/aggregate tools, which focus on retrieval rather than calculation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear operational context per entity type (e.g., 'Omit a lever to leave it at base' and 'Omit for accurate answers' regarding server override). However, it never explicitly names sibling alternatives or states when not to use this tool, so it lacks the full 'when/when-not' guidance needed for a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wiki_contract_basicsAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It transparently outlines the tool's scope (kinds, rewards/escrow, completion verification) and its read-only explanatory nature via the verb 'explain.' It does not delve into return format or limitations, but for a simple knowledge tool this is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose and followed by a usage hint. Every word earns its place, and there is no fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, no-output-schema tool, the description fully covers what the tool does and when to use it. It specifies the topic (Solomon's help contracts/quests), the subtopics (kinds, rewards/escrow, verification), and the trigger question type. There is no missing context that would confuse an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the input schema is empty and schema coverage is 100%. The baseline for 0-param tools is 4, and the description correctly implies that no arguments are needed. No additional parameter semantics are required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Explain') and clearly identifies the resource ('Solomon's help contracts and quests') and the aspects covered (kinds, rewards/escrow, completion verification). This distinguishes it from sibling wiki tools that are generic fetch or search operations, making the purpose immediately clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Use for "how do contracts/quests work" questions' provides explicit context for when to select this tool. It does not explicitly mention when not to use it or name alternatives, but the guidance is clear enough for an agent to make a correct choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wiki_getAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | 1–12 pages to read in one call. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully discloses behavior: it is a read operation, it can return multiple pages, and ambiguous slugs return all matches. It also details what facts are included for each kind, even warning that placed-object measurements are included so the agent does not assume they are missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but every sentence earns its place given the domain complexity. The core purpose and batching advice are front-loaded, followed by a structured breakdown of kinds and a clear fallback instruction for omitting 'kind'.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description provides a comprehensive account of what the tool returns and how to call it correctly. It covers all input combinations, explains edge cases, and gives enough domain-specific detail that an agent can select appropriate parameters without guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Though the schema already describes the parameters, the description greatly enriches their meaning. It explains each 'kind' value in detail (item, recipe, skill, category, species, biome), says the slug should come from wiki_search, and clarifies batching semantics and the fallback behavior for ambiguous slugs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Read full facts') and resource ('wiki pages'), and clearly defines the tool's scope: retrieving full page contents for one or many pages in a single call. It also distinguishes itself from related tools by explicitly naming wiki_calc and wiki_total_raw as alternatives for exact modified numbers and from-scratch chains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit usage guidance: batch all needed pages, obtain slugs from wiki_search, and omit 'kind' only if unsure. It also specifies alternatives for recipe calculations (wiki_calc, wiki_total_raw), providing clear when-to-use and when-not-to-use context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wiki_rankAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| by | Yes | Numeric field to rank by (see this tool's description for the field names valid for each kind). | |
| kind | Yes | Which entity set to rank. | |
| limit | No | How many to return (default 5, max 25). | |
| order | No | desc = highest first (default), asc = lowest first. | |
| where | No | 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 | No | A single module name/type, or a comma-separated list (alternative to modules[]). | |
| server | No | 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 | No | Per-skill levels: { "<skill FullName>": level }. Overrides skill_level for those skills. | |
| modules | No | Upgrade-module names/types installed (multiple slots stack). | |
| talents | No | Talent names/types to treat as learned (profile-sensitive metrics only). | |
| category | No | 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 | No | A single skill level applied to every governing skill (profile-sensitive metrics only). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, and it delivers thoroughly. It reveals that fields not applying to an entity simply exclude it, that bool fields read as 1/0, that optional profile inputs re-rank only profile-sensitive metrics while all others are static facts that yield a note, and that no profile gives base ranking. This is unusually complete behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Long, but every section earns its place given the tool's 12-parameter complexity. The purpose sentence is front-loaded, followed by structured bullet lists of per-kind fields, concrete examples with actual JSON, and a clearly delineated profile paragraph. Dense but well-organized and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and 12 parameters including nested objects, the description must be nearly self-sufficient, and it is. It covers defaults, limits, kinds and their valid fields, boolean handling, the 'where' filter shape, category scoping, behavior when fields don't apply, and profile sensitivity — everything an agent needs to construct a correct call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already documents each parameter's type and purpose. The description nonetheless adds substantial value beyond the schema: the full per-kind field inventories, defaults (limit 5, max 25, order desc), boolean encoding for the 'where' filter, and the profile-sensitivity mapping. This meaningfully exceeds the baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Rank the wiki's entities by a NUMERIC field and return the top (or bottom) N.' It differentiates from the sibling search tool by explicitly instructing to use it for ranking questions and never guess-and-confirm with wiki_search. The purpose is unmistakable and distinct from siblings like wiki_aggregate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use guidance: 'Use this for ANY "which has the most/least/highest/lowest X" question — never guess-and-confirm with wiki_search.' It names the primary alternative to avoid. It could enumerate other siblings (aggregate, calc, total_raw) but the single exclusion plus the clear trigger phrase is strong directional guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wiki_searchAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results (default 8). | |
| query | Yes | What to search for (e.g. "iron bar", "carpentry", "deer"). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the transparency burden. It discloses the return format (kind, name, slug, snippet) and the tool's role as a precursor to wiki_get_*, which is useful behavior. It does not mention rate limits or edge cases, but for a read-only search tool this is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main purpose in the first sentence, and provides only essential instructions in the second. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description fully covers the tool's purpose, scope, return payload, and relationship to sibling tools. Given the simple parameter set and lack of output schema, it is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides complete descriptions for both parameters (query and limit), so the baseline is 3. The description adds no additional parameter semantics beyond what the schema offers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Full-text search') and the resource ('the Eco game wiki') along with the content types covered. It distinguishes itself from sibling wiki_get by explicitly directing users to use the returned slug with wiki_get_* for full facts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidance: 'ALWAYS search first to find the right slugs' and points to the follow-up tool (wiki_get_*) for reading full facts. This establishes a clear workflow and when to use the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wiki_total_rawAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | An item or recipe slug (from a wiki_search result). | |
| module | No | A single module name/type, or a comma-separated list (alternative to modules[]). | |
| server | No | 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 | No | Per-skill levels: { "<skill FullName>": level }. Overrides skill_level for those skills. | |
| modules | No | Upgrade-module names/types installed (multiple slots stack). | |
| talents | No | Talent names/types to treat as learned (applied across the whole chain). | |
| skill_level | No | A single skill level applied to EVERY governing skill in the chain (shortcut for a uniform setup). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries behavioral disclosure. It explains the computation scope (whole production chain), that either item or recipe slug works, and that optional parameters recompute the entire chain. It also notes server override semantics (default is this server's real settings). It does not mention error handling or return format, but for a computation tool this is fairly transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: first states the core action and outputs, second gives usage context, alternative, and optional parameters. Each part earns its place, and it is front-loaded with the main purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (7 params, nested objects, no output schema), the description covers the primary use case, distinguishes from sibling, and explains optional parameter effects. It could mention output shape but that's not strictly required. Overall it is complete enough for an agent to select and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds useful context: slug accepts item or recipe, and character/server overrides affect the whole chain. It also clarifies the difference between module parameter and modules array. This goes beyond mere schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: flatten a recipe or craftable item to total raw materials, with labor calories, craft minutes, and step count. It distinguishes itself from sibling wiki_bom by explicitly saying wiki_bom gives intermediate sub-components, while this tool gives the raw shopping list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit use case: 'what does it take to make X from scratch'. It names the alternative tool (wiki_bom) for when you need intermediates, and explains when to use optional character/server overrides. This is very clear guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
10 tool updates
- First observed
fetch - First observed
search - First observed
wiki_aggregate - First observed
wiki_bom - First observed
wiki_calc - First observed
wiki_contract_basics - First observed
wiki_get - First observed
wiki_rank - First observed
wiki_search - First observed
wiki_total_raw
Related MCP Connectors
Read-only MCP server for the OrchestKit docs: full-text search + Markdown fetch. No auth.
- FlowdexOAuthdk.flowdex
Read and write your team's shared, AI-readable wiki from any MCP client.
Public agent wiki: read-only search and article tools; authenticated write tools on /mcp/write.
MCP gateway for donhuffines.com: articles, search and full text. Read-only, no auth.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables read-only searching, reading, and status inspection of a local Git-backed Markdown wiki via a minimal MCP toolset, without any network or write operations.Apache 2.0
- AlicenseAqualityAmaintenanceProvides read-only access to Old School RuneScape Wiki data, returning structured content with source provenance via MCP tools for searching pages, items, monsters, quests, shops, and drop sources.1015 npmMIT
- AlicenseAqualityCmaintenanceProvides fast, read-only access to Karpathy-style Markdown wikis through MCP, with search, page retrieval, and orientation tools. Supports local stdio and remote Streamable HTTP deployments backed by Git, including automatic webhook synchronization.3MIT
- AlicenseAqualityAmaintenanceRead-only MCP server for public Guild Wars 1 sources (wiki, builds, YouTube, Reddit) and optional local install inventory.142MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.