draw_oracle
Read today's reviewed oracle, available after lighting. Never draws a second oracle.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| locale | No |
Read today's reviewed oracle, available after lighting. Never draws a second oracle.
| Name | Required | Description | Default |
|---|---|---|---|
| locale | No |
Changes observed during successful MCP inspections.
Input schema / properties / localeAdded value: +{
+ "enum": [
+ "en",
+ "ja",
+ "zh-Hans",
+ "ko"
+ ],
+ "type": "string"
+}Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld=false and non-destructive, so safety is covered. The description adds genuinely new behavioral context: a gating prerequisite (must light first) and one-shot semantics ('never draws a second oracle'), which are not derivable from the annotations.
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?
Two tight sentences, both front-loaded with the availability constraint first and the one-shot rule second. No wasted 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 simple zero-required-param read tool with annotation-covered safety and no output schema, the definition covers gating and cardinality but leaves the locale parameter and the nature/content of the oracle unexplained. Adequate but with clear gaps.
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 0% and there is one enum parameter (locale). The description never explains what locale does or how it affects the drawn oracle, so it fails to compensate for the documentation gap.
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+resource ('Read today's ... oracle') and ties to a sibling action ('available after lighting'), so it is distinguishable from make_wish/light_incense. The term 'reviewed oracle' is unusual and vague about what is actually returned, keeping it short of a 5.
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?
Gives a clear precondition ('available after lighting') and an exclusion ('Never draws a second oracle'), which tells the agent when this is callable. It does not name the alternative tool explicitly, so it stops short of 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.