mcpField
I
I Ching

I Ching

Remote
pipeworx.ioGames & Entertainment0Updated 2d ago

About I Ching

An MCP server for casting the I Ching with coins or yarrow stalks and retrieving or searching all 64 hexagrams. It provides original English readings and reproducible casts using an optional seed.

Key features

  1. 01Cast with coins or yarrow stalks
  2. 02Replay casts with a seed
  3. 03Look up all 64 hexagrams
  4. 04Search names and keywords

Use cases

  1. 01Cast a reading for a question
  2. 02Review changing lines and resulting hexagram
  3. 03Find a hexagram by name or theme

MCP support

Exposes casting, lookup, and search tools to MCP clients. Available as a Pipeworx gateway endpoint or a local stdio MCP server.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://gateway.pipeworx.io/i-ching/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Tools

Details

From the project README

@pipeworx/i-ching

Cast the I Ching with the traditional three-coin or yarrow-stalk method, or look up any of the 64 hexagrams (King Wen sequence) directly. Every hexagram's judgment, image and six line texts are original text written for this pack.

Part of Pipeworx — an MCP gateway connecting AI agents to 1866+ live data sources. This is an independent, unofficial integration — not affiliated with, endorsed by, or published by the upstream provider.

Tools

  • cast_i_ching({ method?, question?, seed? }) — casts six lines (coins by default, or yarrow), returns the primary hexagram, any changing lines with their texts, and the resulting hexagram after those lines flip (null if none changed). seed is always returned at the top level of the result; pass it back with the same method to replay the exact cast. meta carries the shared chance-engine envelope (seed, procedure, deck, source) for citation, matching the convention used across this pack family (e.g. dice-roller). question is echoed back verbatim and never interpreted — the calling agent reads the hexagram and line texts and draws its own conclusion.
  • get_hexagram({ number?, name? }) — full text for one hexagram by King Wen number (1-64) or by name (Chinese, pinyin, or the English gloss used here).
  • search_hexagrams({ query }) — free-text search over names and keywords (e.g. "thunder", "patience", "withdrawal"); returns short summaries, use get_hexagram for the full text of a match.

Auth

Keyless. No upstream, no API key, no COGS.

Content and sourcing

All 64 hexagrams are inline in this pack (src/hexagrams.ts, ~70 KB — well under the 150 KB threshold where content moves to KV per workers/gateway/src/pack-baked-indexes.json).

  • The King Wen hexagram number, the Chinese name, the pinyin romanization, and the six binary lines (bottom to top; a line is yang/solid or yin/broken) and their trigram composition are traditional, structural facts reproduced across every edition of the text — not any translator's copyrighted expression.
  • The English hexagram name, the judgment, the image, and all six line texts are original wording, written for this pack. James Legge's 1899 translation ("The Yi King", Sacred Books of the East vol. 16) is the public-domain reference used for the underlying meaning of each hexagram and line. This pack never reproduces Wilhelm/Baynes ("The I Ching or Book of Changes", still under copyright) or any other modern commercial translation's wording.
  • Coin-toss probabilities (6/7/8/9 at 1/8, 3/8, 3/8, 1/8) and yarrow-stalk probabilities (1/16, 5/16, 7/16, 3/16) are the standard, well-documented results of each traditional counting method, not anyone's expression.
  • Meanings are traditional; the calling agent interprets them for its own question. Every tool description says this, so the result reads as structured material to reason over, not as advice delivered by the tool.

Randomness

Real randomness via the shared chance engine (@pipeworx/shared's makeRng/rollWeighted), not a model pretending to cast coins. seed is optional on cast_i_ching and always returned, so the same seed and method reproduce the same cast exactly. No session/deck-draw state is used here — unlike the tarot or random-tables packs, a cast is a single self-contained roll of six independent lines each time, so there is nothing to carry across calls and this pack does not request KV injection.

Errors

A hexagram number outside 1-64, a name that matches nothing, or a search query with no matches are all loud errors naming the valid range or offering examples/keywords to try — never a silent empty result.

Quick Start

Add to your MCP client (Claude Desktop, Cursor, Windsurf, etc.):

{
  "mcpServers": {
    "i-ching": {
      "url": "https://gateway.pipeworx.io/i-ching/mcp"
    }
  }
}
What this endpoint actually serves

tools/list at https://gateway.pipeworx.io/i-ching/mcp returns the tools in the table above plus the shared Pipeworx meta-tools — ask_pipeworx, discover_tools, search_within, remember/recall and the rest of the gateway-wide set. So the tool count you see is larger than this table: a single-pack endpoint currently lists roughly 30 shared tools alongside the pack's own. The connection's initialize response states its exact scope, and is the authoritative answer for a given day.

This is deliberate, not multiplexing by accident. The meta-tools are what let a scoped connection answer a question this pack does not cover — via ask_pipeworx, which routes across the whole catalog — without you adding a second MCP server. There is currently no way to mount a pack endpoint without them; if the extra schemas cost you more context than the routing is worth, connect to the full gateway once rather than to several pack endpoints.

Or connect to the full Pipeworx gateway to get every pack's tools listed directly, instead of just this one's:

{
  "mcpServers": {
    "pipeworx": {
      "url": "https://gateway.pipeworx.io/mcp"
    }
  }
}

Both URLs reach the same gateway and the same 1866+ data sources. The only difference is which pack's tools are listed directly; ask_pipeworx reaches all of them from either one.

No MCP client? Call it over HTTP

curl -X POST https://gateway.pipeworx.io/v1/tools/cast_i_ching \
  -H 'Content-Type: application/json' \
  -d '{"method":"coins","question":"Should we ship the chance-pack family?","seed":"pipeworx-iching-smoke-1"}'

No account needed for the first calls. Inspect any tool: GET https://gateway.pipeworx.io/v1/tools/cast_i_ching. Find one: POST https://gateway.pipeworx.io/v1/tools/search_packs with {"query":"..."}.

Standalone (no gateway account)

This package also runs as a local stdio MCP server — no Pipeworx account, no gateway round-trip:

{
  "mcpServers": {
    "i-ching": {
      "command": "npx",
      "args": ["-y", "@pipeworx/mcp-i-ching"]
    }
  }
}

Or run it directly to confirm it starts:

npx -y @pipeworx/mcp-i-ching

It speaks MCP over stdin/stdout and answers initialize/tools/list/tools/call for only this pack's tools — none of the shared meta-tools the gateway connection above adds. Same source, same tools, no ask_pipeworx routing.

Using with ask_pipeworx

Instead of calling tools directly, you can ask questions in plain English — this works on the pack endpoint above as well as on the full gateway:

ask_pipeworx({ question: "your question about I Ching data" })

The gateway picks the right tool and fills the arguments automatically.

More

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.