# mcp-wormhole-docs Read-only MCP server exposing Wormhole’s **AI documentation exports** as **resources**, plus **`wormhole_doc_search`** over `site-index.json`. - **Playbook:** [docs/04-configuration/WORMHOLE_AI_RESOURCES_LLM_PLAYBOOK.md](../docs/04-configuration/WORMHOLE_AI_RESOURCES_LLM_PLAYBOOK.md) - **Client wiring:** [docs/04-configuration/MCP_SETUP.md](../docs/04-configuration/MCP_SETUP.md) - **Mirror:** `bash scripts/doc/sync-wormhole-ai-resources.sh` → `third-party/wormhole-ai-docs/` ## Environment | Variable | Default | Meaning | |----------|---------|---------| | `WORMHOLE_DOCS_MIRROR` | `/third-party/wormhole-ai-docs` | Directory with synced files | | `WORMHOLE_DOCS_FETCH` | `0` | If `1`, fall back to HTTPS from `https://wormhole.com/docs/...` when a file is missing locally | | `WORMHOLE_MAX_RESOURCE_BYTES` | `5242880` | Max bytes returned for `llms-full.jsonl` via MCP read (avoid OOM); increase or read file on disk for RAG | ## Cursor Repo file [`.cursor/mcp.json`](../.cursor/mcp.json) registers this server as **`wormhole-docs`**. Enable MCP in Cursor; reload if the server does not appear. From repo root: `pnpm run verify:wormhole-mcp` then `pnpm run mcp:wormhole` (manual stdio test only). ## Run ```bash cd mcp-wormhole-docs && pnpm install && node index.js ``` ## Resources URIs use the `wormhole://ai/...` scheme, e.g. `wormhole://ai/site-index.json`, `wormhole://ai/categories/ntt.md`. ## Tools - **`wormhole_doc_search`** — `query` (string), optional `limit` (number, default 10). Searches titles, previews, slugs, and categories in `site-index.json`. This server does **not** submit transactions or hold keys. It is documentation context only.