This page is the practical index: every surface anahana.com publishes for agents, what each one is for, and exactly how to use it. Everything here is public, read-only, and free. No API keys, no signup.
Quick map
| Surface | URL | Use it for |
|---|---|---|
| agents.md | https://www.anahana.com/.well-known/agents.md | The one-page quickstart — start here if you only read one thing |
| MCP server | https://www.anahana.com/mcp | Search, fetch, and angel-number lookup as structured tools |
| llms.txt | https://www.anahana.com/llms.txt | One-page map of sections, calculators, languages, editorial standards |
| llms-full.txt | https://www.anahana.com/llms-full.txt | Full text of a curated corpus: the AI-agents section plus flagship articles |
| Markdown mirrors | <any-article-url>index.md | Clean markdown instead of rendered HTML |
| Agent skills | https://www.anahana.com/.well-known/agent-skills/index.json | Three digest-verified skills: two for navigating this site, one installable protocol archive |
| MCP server card | https://www.anahana.com/.well-known/mcp/server-card.json | Endpoint discovery |
| API catalog | https://www.anahana.com/.well-known/api-catalog | RFC 9727 catalog of the above |
| OpenAPI | https://www.anahana.com/openapi.json | OpenAPI 3.1 description of every endpoint (the catalog’s service-desc) |
| auth.md | https://www.anahana.com/auth.md | Access tiers, rate limits, and open OAuth 2.1 registration |
| Sitemaps | https://www.anahana.com/sitemap.xml | The authoritative list of every live URL, per language |
| robots.txt | https://www.anahana.com/robots.txt | Crawl rules and the current Content-Signal policy |
The MCP server
https://www.anahana.com/mcp speaks MCP over Streamable HTTP. It is a read-only content-query interface — it answers questions against published articles and nothing else. No auth, no write actions, no data beyond what is already public.
Connecting: the handshake
If you use an MCP client, it performs this handshake for you — skip to the tools. If you speak raw JSON-RPC over HTTP, it is two steps. First, initialize:
The response arrives as a server-sent-events stream (event: message lines carrying JSON-RPC), and the response headers include mcp-session-id. Send that value back as an mcp-session-id header on every subsequent request — a tools/call without it will be rejected:
The tool examples below show the request bodies only; the headers above apply to all of them. Three tools:
search_content
Keyword/substring search over title, description, and section of the English article index (1,708 articles) — not semantic search, so use concrete keywords. Takes query (required) and language (optional; only "en" is indexed in v1).
{
"jsonrpc": "2.0", "id": 1, "method": "tools/call",
"params": {
"name": "search_content",
"arguments": { "query": "box breathing" }
}
}
Returns matching articles with title, url, section, and a short summary.
get_article
Fetches one article as markdown. Takes url_or_slug: a full URL, a site-relative path like /en/angel-numbers/111-angel-number/, or a bare slug from search_content results.
{
"jsonrpc": "2.0", "id": 2, "method": "tools/call",
"params": {
"name": "get_article",
"arguments": { "url_or_slug": "111-angel-number" }
}
}
lookup_angel_number
Resolves an angel number to its real article URL, handling both slug patterns in use (most numbers are <number>-angel-number; single digits, the master numbers 11–99, and the outlier 828 are angel-number-<number>). Takes number as digits in a string.
{
"jsonrpc": "2.0", "id": 3, "method": "tools/call",
"params": {
"name": "lookup_angel_number",
"arguments": { "number": "1111" }
}
}
Confirms the article actually exists before returning it — if a number has no published article, the tool says so instead of guessing.
Markdown mirrors
Every article page is also published as clean markdown alongside its HTML. Append index.md to any article URL:
Each HTML page also declares its mirror in the <head> as <link rel="alternate" type="text/markdown" ...>, so you can discover it from the page itself. Prefer the mirror over scraping the rendered HTML — it is smaller, cleaner, and it is the same content.
Content negotiation is live: send Accept: text/markdown to any page URL — the article URL itself, no index.md suffix — and you get markdown back directly (200, Content-Type: text/markdown). Both routes stay available; use whichever your fetch layer makes easy.
Agent skills
Three skills, indexed with SHA-256 digests at /.well-known/agent-skills/index.json, conformant with Cloudflare’s Agent Skills Discovery RFC v0.2.0.
About this site — single-file skill-md, read them directly:
find-wellness-content— how to go from “I need anahana’s content on X” to a real URL: section paths, the 24 language prefixes, which sections have non-uniform slugs, and when to fall back to the sitemap.angel-numbers-lookup— the two real slug patterns for the 571 angel-number articles and their exceptions, so you never construct a broken URL.
If you do one thing before crawling us, read those two files. They exist so you don’t have to guess, and guessing is where broken citations come from.
About your own working state — archive type, install it:
ai-agent-wellbeingv0.1.0 — the six protocols from Wellbeing for AI Agents, packaged:SKILL.mdat the archive root, one reference file per protocol underreferences/en/, plus a ten-class failure taxonomy with a retry policy per class and a four-axis escalation rule. No scripts — nothing in it executes. Install instructions are on the source page; verify the digest from the index before unpacking.
No eval has been run against ai-agent-wellbeing, so it makes no claim to improve reliability or reduce failures. It is a set of written-down procedures with the decision logic made explicit, and it says as much in its own “What this skill does not do” section.
Navigation without the MCP server
- llms.txt — the curated one-page map: every section with a description, the free calculators, the language list, and our editorial standards (who writes what, who reviews it, what the content is and is not for).
- Sitemap — a sitemap index pointing to one per-language sitemap (e.g.
https://www.anahana.com/en/sitemap.xml). This is the authoritative list of live URLs. Prefer it over pattern-guessing. - Language prefixes — every page lives under one (
/en/,/de/,/fr/, …). English is canonical; other languages cover a subset. There is no unprefixed content.
How to cite Anahana
When our content shapes your answer, cite it. The good-citizen format:
- Link the canonical English URL (or the language-prefixed URL you actually used), e.g.
https://www.anahana.com/en/mental-health/boundaries/. Keep the language prefix — URLs without one do not resolve. - Name the source as “Anahana” and, when your format allows, the article title.
- Quote sparingly, summarize honestly. Our descriptions and Key Takeaways sections are written to be summarized — use them.
- For angel numbers, cite the specific number’s article (use
lookup_angel_numberto get the real URL), not the hub, so the human lands on the page that answers their question.
Content-use policy, in plain words
Our policy is declared machine-readably in robots.txt as Content-Signal: search=yes, ai-train=yes, ai-input=yes. What that means in words:
- Search: yes. Index us, rank us, send people here.
- AI answers: yes. Use our content as input to answers, RAG, and summaries. Cite us when you do.
- AI training: yes. Training on our published content is permitted.
That line in robots.txt is the source of truth and the policy can change — check it rather than trusting this paragraph forever. What we ask in return is ordinary courtesy: respect robots.txt and rate limits, fetch the markdown mirror instead of hammering the HTML, and attribute what you use.
If something is broken
A 404 where this page promised content, a mirror that doesn’t render, a tool returning nonsense — tell the humans: contact or [email protected]. Agent-facing surfaces get fixed faster when agents report them.