Yarrow logo

Yarrow

I-Ching (周易) oracle: cast a hexagram, read classical commentary, get a reflection. Bilingual.

Install Yarrow

Pick your client, then add it in one click or paste the config.

Streamable HTTP (Remote)
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "yarrow": {
      "command": "npx",
      "args": [
        "-y",
        "@shaozhengkun/yarrow-mcp"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Hosted endpointLive · 1d agoLive Remote EndpointOur automated health check connected to this remote MCP endpoint successfully.Last checked 11/3/2026, 5:15:31 PM

Clients with native remote MCP support can connect directly to this URL.

Remote endpoint
https://yarrow-oracle.shaozhengkun.workers.dev/mcp

Automated check passed— started and listed 7 tools correctly (5d ago).

Overview

Tools7

What Yarrow lets your agent do. Expand a tool for its parameters.

Verified live~1.4k tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 1d ago

Recent health check succeeded.

8/8 checks healthy over the last 51d

What it can do

From the 7 tools this server returned when we ran it.

Read-only tools · 7
Network at startup5 connections
Files written at startupNone
Install scriptsNone
npm provenanceNot published
Package age157 days
Maintainers1

Observed 2026-10-30 in an isolated sandbox. A description of reach, not a security audit.

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 5d ago via OSV.dev · @shaozhengkun/yarrow-mcp (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars1Stargazers on the source repository.
npm downloads14Package downloads in the last 30 days.
Last commit5mo agoMost recent push to the default branch.
Availability100%Our rolling endpoint + install checks that succeeded.
Install checkPassedOur sandbox started it and listed its tools.
Tools exposed7Callable tools this server registers over MCP.
Directory activity3 viewsConfig copies, upvotes, and views on AllMCPs.

From the project README

Yarrow — An I-Ching oracle for the agent era

App Store MCP License: MIT

Yarrow lets you (and your agents) consult the Book of Changes — cast a hexagram, read the classical sources, and get a Wilhelm/Baynes-style reflection. Offline-first iOS app, plus a public MCP server so any LLM agent can reach the same oracle.

"The I-Ching does not predict; it mirrors. The question you bring decides the reading."

What's in this repo

PathWhat
src/Cloudflare Workers source — public MCP endpoint + iOS app proxy
src/data_hexagrams.json64 hexagrams with bilingual classical sources (杨天才 / 朱熹 / 断易天机 / 白话题解)
src/hexagram.tsDeterministic casting (coins / yarrow stalks / random), seeded by FNV-1a + mulberry32
src/mcp.tsMCP JSON-RPC 2.0 handler (3 tools, 30 readings/day per anonymous caller)
.claude-plugin/marketplace.jsonClaude Code / Codex plugin marketplace manifest
skills/yarrow/SKILL.mdThe Yarrow skill — pluggable into any Claude Code or Codex install
npm/yarrow-mcp/@shaozhengkun/yarrow-mcp — stdio bridge for clients that don't speak HTTP MCP
submissions/Drafts for modelcontextprotocol/servers, Smithery, mcp.run
INTEGRATIONS.mdCopy-paste configs for Claude Code / Claude Desktop / Codex / Hermes

The iOS source lives separately at yarrow-ios (TODO).

For users

📱 iOS app

Download on the App Store → · $4.99 · iOS 17+ · no tracking, no account.

All 64 hexagrams and their classical commentary ship in the app; AI reading is optional and runs through this Worker.

🤖 Agents

Claude Code — install the plugin:

Terminal
claude plugin marketplace add https://github.com/shaozhengkun123/yarrow
claude plugin install yarrow

Claude Desktop — add to ~/Library/Application Support/Claude/claude_desktop_config.json:

config.json
{
  "mcpServers": {
    "yarrow": { "url": "https://yarrow-oracle.shaozhengkun.workers.dev/mcp" }
  }
}

Codex CLI / Hermes / older Claude Desktop — use the stdio bridge:

Terminal
npx @shaozhengkun/yarrow-mcp

Or pin it in your client's config — see INTEGRATIONS.md for every platform.

Anyone with curl —

Terminal
curl -s -X POST https://yarrow-oracle.shaozhengkun.workers.dev/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{
    "name":"divine",
    "arguments":{"question":"Should I take the new job?","locale":"en"}
  }}'

The MCP tools

ToolPurpose
cast_hexagramToss the coins / cast the stalks. Returns primary hexagram + moving lines + changing hexagram, all metadata. Deterministic if you pass seed.
lookup_hexagramGet a hexagram's classical text — Wilhelm-style header, judgment, image, and 杨天才 / 朱熹 / 断易天机 / 白话 commentaries.
divineOne-shot reading: casts, looks up, and generates a Wilhelm/Baynes-style reflection grounded in the sources. 30/day per anonymous caller.

Self-hosting

This Worker is MIT — fork, deploy your own, point your agents at your URL.

bash
git clone https://github.com/shaozhengkun123/yarrow
cd yarrow
npm install
npx wrangler login
npx wrangler kv:namespace create QUOTA          # copy id into wrangler.toml
echo -n '<your OpenAI-compatible chat URL>' | npx wrangler secret put PROXY_URL
echo -n '<your API key>'                   | npx wrangler secret put PROXY_KEY
npx wrangler deploy

Your endpoint will be https://yarrow-oracle.<your-subdomain>.workers.dev.

Boundaries

Yarrow is for reflection, not prediction. The system prompt baked into the Worker refuses:

  • fortune-telling / specific future predictions
  • medical, legal, or financial advice
  • requests to "reveal what will happen"

The classical voice is direct; the framing is Jungian. This is the line we draw, in the iOS app and the MCP both.

License

MIT for code; classical sources are in the public domain. See LICENSE.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Yarrow

yarrow is an MCP server that lets AI agents consult the I-Ching (Book of Changes) in English and Chinese. It provides tools to cast hexagrams, retrieve classical commentary, and generate a Wilhelm/Baynes-style reflection grounded in those sources. Casting can use coins, yarrow stalks, or randomness, with seeded deterministic results available.

yarrow provides three MCP tools: cast_hexagram, lookup_hexagram, and divine. cast_hexagram returns primary and changing hexagrams with moving lines, lookup_hexagram retrieves classical text and commentary, and divine combines casting, lookup, and a generated reflection.

Connect an HTTP MCP client to https://yarrow-oracle.shaozhengkun.workers.dev/mcp. Clients that use stdio can run npx @shaozhengkun/yarrow-mcp, and the README includes configuration examples for Claude Desktop, Claude Code, Codex, and Hermes.

Yes, yarrow can produce deterministic casts when you provide a seed to cast_hexagram. The server also supports coin, yarrow-stalk, and random casting modes.

Yes, the public divine tool allows 30 readings per day for each anonymous caller. You can self-host the MIT-licensed Worker if you need your own deployment.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewYarrow AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/yarrow?style=directory)](https://allmcps.com/mcp/yarrow)
HTML Embed
<a href="https://allmcps.com/mcp/yarrow"><img src="https://allmcps.com/api/badge/yarrow?style=directory" alt="Yarrow on AllMCPs" /></a>