About fatenava-mcp
fatenava-mcp returns deterministic BaZi, Zi Wei Dou Shu, and Western natal chart data from birth details. It is for MCP-capable AI agents and uses the free FateNava chart API without an account or stored data.
Key features
- 01Three chart systems from one input
- 02True Solar Time correction for BaZi
- 03Text or structured birth details
- 04Optional chart-system selection
- 05Graceful handling of unknown birth time
Use cases
- 01Generate charts from a birth date and place
- 02Request only selected astrology systems
- 03Process multilingual, one-line birth details
- 04Omit hour-dependent results when time is unknown
MCP support
The MCP server exposes the `cast_chart` tool to MCP clients. It accepts birth details and returns structured chart data for BaZi, Zi Wei Dou Shu, and Western astrology.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
1Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| day | integer | No | |
| hour | integer | No | Birth hour 0-23; pass with birthTimeKnown=false if unknown |
| text | string | No | One-line birth description: date, time (or omit if unknown), birthplace, gender. Example: "1995-08-10 12:00 Taipei female". City names in English, Chinese, Japanese or Korean are accepted. Use EITHER this field OR the structured fields below. |
| year | integer | No | Birth year (structured input) |
| month | integer | No | |
| gender | enum | No | Required with structured inputmale | female |
| minute | integer | No | |
| systems | array | No | Which chart systems to return: "bazi", "ziwei", "astro". Default: all three. |
| latitude | number | No | |
| longitude | number | No | Birthplace longitude (structured input); used for True Solar Time correction |
| timeZoneId | string | No | IANA timezone of the birthplace, e.g. "Asia/Taipei" (structured input) |
| birthTimeKnown | boolean | No | Set false when the exact birth time is unknown — BaZi still returns three pillars; hour-dependent parts are omitted honestly |
Details
From the project READMEfatenava-mcp
English | 繁體中文 | 简体中文 | 日本語 | 한국어
Cast BaZi, Zi Wei Dou Shu, and Western astrology natal charts from any MCP-capable AI agent.
One tool, three deterministic engines, zero setup: no account, no API key, nothing stored. Powered by the free chart API of FateNava.
What it does
Give it a birth (date, time, place, gender) and it returns structured chart data from up to three systems:
| System | What you get |
|---|---|
| BaZi 八字 (Four Pillars of Destiny) | Four pillars (stems & branches), Day Master, Five-Elements distribution — computed with True Solar Time correction from the birthplace longitude |
| Zi Wei Dou Shu 紫微斗數 (Purple Star Astrology) | Twelve palaces with major stars, Life Palace, transformations |
| Western natal chart | Tropical zodiac, Placidus houses: Ascendant, planets by sign/house, elements & modalities |
The numbers are computed, not AI-generated — the same birth always produces the same charts. Interpretation is left to your AI agent (or to FateNava's free reading tools).
Quick start
Claude Code
claude mcp add fatenava -- npx -y fatenava-mcp
Codex CLI
# ~/.codex/config.toml
[mcp_servers.fatenava]
command = "npx"
args = ["-y", "fatenava-mcp"]
Cursor / generic MCP client
{
"mcpServers": {
"fatenava": {
"command": "npx",
"args": ["-y", "fatenava-mcp"]
}
}
}
Tools
cast_chart— Cast BaZi (Four Pillars), Zi Wei Dou Shu, and Western astrology natal charts from one birth input. Deterministic computation with True Solar Time correction; supports one-line multilingual birth text or structured fields.
cast_chart
Two ways to describe the birth — pick one:
1. One-line text (easiest; the API parses date, time, place and gender, and resolves the city to coordinates + timezone):
{ "text": "1995-08-10 12:00 Taipei female" }
City names in English, Chinese, Japanese, or Korean are accepted.
2. Structured fields:
{
"year": 1995, "month": 8, "day": 10, "hour": 12, "minute": 0,
"gender": "female",
"longitude": 121.5, "latitude": 25.04, "timeZoneId": "Asia/Taipei"
}
Optional:
systems:["bazi", "ziwei", "astro"]— pick a subset to keep the response small (default: all three).birthTimeKnown: false— when the exact hour is unknown. BaZi still returns three pillars; hour-dependent parts are omitted honestly instead of being guessed.
Response shape
{
"birth": { "date": "1995-08-10", "time": "12:00", "gender": "female", "place": "…" },
"timeKnown": true,
"charts": {
"bazi": { "ok": true, "view": { "dayMaster": {…}, "fourPillars": […], … } },
"ziwei": { "ok": true, "view": { "palaces": […], … } },
"astro": { "ok": true, "view": { "ascendant": {…}, "bodies": […], … } }
}
}
Field names are English; traditional terms (heavenly stems, earthly branches, palace and star names) come in their native Chinese characters — ask your agent to translate them for the user.
Notes & principles
- Free & anonymous. The underlying endpoint requires no login and stores nothing.
- Deterministic. Charts are calculated by tested engines; the AI layer only interprets.
- Honest about limits. Unknown birth time degrades gracefully instead of inventing an hour. Charts describe tendencies and themes — not fixed fate. Not medical, legal, or financial advice.
- Learn the concepts: What is BaZi? · What is a natal chart? · What is Zi Wei Dou Shu?
- Full readings, compatibility (synastry / 合婚) and AI Q&A: fatenava.com
Development
npm install
npm run build
node dist/index.js # speaks MCP over stdio
FATENAVA_API_BASE env var overrides the API origin (for testing).
License
Comments
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.