yarrow
Server Details
I-Ching (周易) oracle: cast a hexagram, read classical commentary, get a reflection. Bilingual.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- shaozhengkun123/yarrow
- GitHub Stars
- 0
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 3.7/5 across 3 of 3 tools scored.
Each tool has a distinct, non-overlapping purpose: casting a hexagram, performing a full consultation, and looking up classical sources. No ambiguity between them.
Two tools follow a verb_noun pattern (cast_hexagram, lookup_hexagram), while 'divine' is a verb-only name. However, the naming is clear and consistent in style (snake_case).
With only 3 tools, the set is well-scoped for an I-Ching consultation service. Each tool serves a necessary function without redundancy or excess.
The tools cover the core workflow (casting, full reading, source lookup). A minor gap is the lack of a tool to get a reading from an existing hexagram without recasting, but the pipeline is functional.
Available Tools
3 toolscast_hexagramAInspect
Cast a hexagram for an I-Ching consultation. Returns the primary hexagram, the six lines (6=old yin, 7=young yang, 8=young yin, 9=old yang from bottom to top), any moving lines, and the changing hexagram if there are moving lines. Pass seed to make the cast deterministic (useful for testing or for reproducing a reading).
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | Optional seed for deterministic casting. | |
| method | No | coins = three-coin toss (most common); yarrow = traditional 50-stalk probabilities; random = uniformly pick one of the 64 hexagrams with no moving lines. | coins |
| question | No | The question being asked (not used for casting, returned in result for context). |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description provides key behavioral details: it returns specific line values (6,7,8,9), moving lines, and a changing hexagram. It also discloses that passing 'seed' makes the cast deterministic. It does not mention side effects, but none are expected.
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 three sentences, front-loads the purpose, and includes all essential details without extraneous information. Every sentence earns 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?
Although there is no output schema, the description explains the return values comprehensively (primary hexagram, lines, moving lines, changing hexagram). It is sufficient for an agent to understand what the tool produces.
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 description does not add significant meaning beyond the schema for the parameters. The parameter descriptions in the schema already cover their purpose, so the description's marginal value is limited.
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 'Cast a hexagram for an I-Ching consultation' and enumerates the return values (primary hexagram, lines, moving lines, changing hexagram). This distinguishes it from sibling tools like 'lookup_hexagram', which likely only retrieves existing information.
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 explains when to use the 'seed' parameter for deterministic casting, but does not explicitly compare with sibling tools 'divine' and 'lookup_hexagram' to guide the agent on when to choose this tool over them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divineAInspect
Full I-Ching consultation pipeline: cast a hexagram for the question, look up the classical sources, and produce a thoughtful reading via Claude. Daily quota: 30 readings per device_id (or per anonymous IP if no device_id is supplied).
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | Deterministic cast seed. | |
| locale | No | en | |
| method | No | coins | |
| question | Yes | The question to consult on. | |
| device_id | No | Optional opaque identifier for quota tracking. If omitted, IP-derived. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool uses Claude for the reading and has a daily quota. It outlines the pipeline steps (cast, lookup, produce reading). Missing details on potential side effects like cost or rate limits beyond the quota, but for a complex tool, the disclosure is good.
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 very concise: two sentences, front-loaded with the core purpose, and no wasted words. Every part contributes to understanding the tool's function and constraints.
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 pipeline tool with no output schema and no annotations, the description covers the main steps and quota but omits return value format, error handling, and details on how the reading is presented. Given the tool's complexity, this is a moderate level of completeness; more information would be beneficial.
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 60% (3 of 5 parameters have descriptions). The tool's description does not add any additional meaning to the parameters beyond what is in the schema. It fails to compensate for the locale and method parameters that lack schema descriptions. The quota mention is not param-specific. This leaves agents without enough context for correct invocation.
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 a full I-Ching consultation pipeline: casting a hexagram, looking up sources, and producing a reading. The verb 'divine' is appropriate, and the scope is distinct from the sibling tools (cast_hexagram, lookup_hexagram) which are individual steps. This provides strong differentiation.
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 this tool is for a complete consultation, while siblings are for partial steps. It also mentions a daily quota, which is a usage constraint. However, it does not explicitly state when to prefer this over the siblings or when not to use it. The guidance is clear but not exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_hexagramBInspect
Return the full classical sources for a hexagram by its number (1–64): judgment (卦辞), image (大象), Tuan commentary, Zhu Xi 周易本义, Yang Tian Cai modern explanation, plain-language 白话, and historical anecdote — in both Chinese and English.
| Name | Required | Description | Default |
|---|---|---|---|
| locale | No | both | |
| number | Yes | Hexagram number 1-64 in King Wen sequence. | |
| compact | No | If true, omit authorities (long classical commentary). Returns only structural fields. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the return content (Chinese and English sources) but does not mention limitations, side effects, or whether the operation is read-only. Adequate but not thorough.
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 front-loads the purpose, but it is long and lists many items. It could be slightly more concise without losing information. Efficient overall.
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 no output schema, the description lists return components but does not specify format or structure. With 3 parameters and sibling tools, more context on output and usage boundaries would improve completeness.
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 67% already, and the tool description adds no further parameter semantics beyond the schema's own descriptions. The description's mention of 'by its number' adds no new meaning.
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 it returns classical sources for a hexagram by number, listing specific components. However, it does not explicitly differentiate from sibling tools like 'cast_hexagram' or 'divine', leaving some 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?
No guidance is provided on when to use this tool versus alternatives (e.g., when to lookup vs. cast or divine). The description lacks any when-to-use or when-not-to-use information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!