Stellara MCP: Deterministic Swiss Ephemeris for AI Agents (Hermes, Claude, Grok)
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
**Give your AI agent a real astronomical calculator.** stellara-mcp is a tiny,
open-source Model Context Protocol server that
turns any MCP-capable agent — Claude.ai / Claude Desktop / Claude Code, ChatGPT, Codex,
Cursor, Windsurf, Gemini CLI, Grok, Hermes — into an astrologer that **never invents a
planetary position**. Connect by URL (no install) or run the package locally with an API key.
It exposes four tools backed by **Swiss Ephemeris** (the same engine professional
astrologers use) running in the Stellara cloud:
| Tool | What you get back (exact JSON) |
| --- | --- |
| resolve_birth_place | "Warsaw, 14:30" → latitude / longitude, IANA timezone and a tz-aware birth_datetime with the **historically correct UTC offset** (old DST rules, decree time), plus age and DST-ambiguity flags — so the agent never guesses coordinates or offsets |
| calculate_natal_chart | 14 points (Sun → Pluto, Chiron, Lilith, North/South Node) with sign, degree, absolute longitude, house, retrograde, speed, declination · 12 house cusps · Ascendant / MC / Descendant / IC · every major aspect with its **exact orb** and applying / separating |
| get_transits_and_aspects | Transiting positions at any moment · every transit-to-natal aspect (planets **and** angles) with orb and applying / separating · which natal house each transiting planet occupies |
| calculate_synastry | All inter-chart aspects between two people with exact orbs · house overlays (A's planets in B's houses and vice versa) |
Plus two MCP prompts: collect_birth_profile, a guided intake of the data every
reading depends on (date → time with certainty → place → optional city, name,
gender → confirmation card with age), and astrologer_system_prompt, which
switches the agent into a disciplined professional-astrologer style for
interpreting that JSON.
The server **does not interpret and does not call any LLM**. It is a proxy adapter:
numbers in, numbers out. Your agent does the reading; Swiss Ephemeris does the math.
---
Why this exists: LLMs lie about natal charts
Ask a language model "where was my Moon on 17 May 1990 at 14:30 in Warsaw?" and it
will answer confidently — and, more often than not, wrongly. Ecliptic longitudes,
house cusps and aspect orbs are the output of numerical integration of planetary
motion plus spherical trigonometry for the local horizon. That is not something a
next-token predictor can do in its head. Typical failure modes:
- the Moon (13° per day) lands in the wrong sign;
- the Ascendant is guessed from the Sun sign, ignoring time and latitude;
- house cusps are fabricated or silently assume Equal houses;
- "Saturn square Sun" is asserted with no orb, or with an orb that does not exist;
- retrograde status is invented.
Every one of those errors poisons the whole interpretation that follows. A reading
built on a wrong Ascendant is worthless no matter how eloquent it is.
stellara-mcp fixes this at the root. The agent calls a tool; the tool returns
Swiss-Ephemeris-grade positions (sub-arcsecond precision, tropical zodiac, ten house
systems, exact orbs, applying/separating derived from real planetary speeds); the
agent interprets **only** that data. Deterministic senses, deterministic
calculator — the language model is left to do what it is actually good at.
---
Quick start (1-click configs)
Two ways to connect:
- **Remote, no install** (Claude.ai, Claude Desktop, Claude Code, ChatGPT connectors,
Grok, any client that takes an MCP URL): add a custom connector with the URL
**https://mcp.stellara.natlex.it/mcp** and sign in with your Stellara account
(the same account as the Stellara app; Free = 10 requests / day, Stellara Pro = 5 000).
Claude: *Settings → Connectors → Add custom connector → paste the URL → Connect → sign in.*
Claude Code: claude mcp add --transport http stellara https://mcp.stellara.natlex.it/mcp,
then /mcp to sign in. Nothing to install, nothing to configure; tokens are short-lived
and can be revoked from the app.
- **Local package + API key** (below): for servers, scripts, Cursor / Windsurf / Codex and