Ephemeris MCP
This repo is a standalone Swiss Ephemeris computation service exposed through MCP.
v0.2 provides astronomical positions, house cusps, lunar state, and related data
to downstream consumers. astro-mcp is the first downstream consumer.
Working rules
- Provide Swiss Ephemeris as a service: positions, house cusps, lunar state, sidereal time, etc.
- Do not add interpretation layers here. Element balance, stelliums, aspect patterns,
transit interpretation, synastry, zodiac sign meaning, and narrative output belong
in downstream projects.
- Prefer small, deterministic changes that preserve the existing tool surface and cache behavior.
- Keep time, location, and sky-state calculations internally consistent across tools.
- Keep planned future slices in the docs and plan, even when they are out of v0.2.
- Treat the wiki as the companion source of project context, not a duplicate code dump.
Primary references
- Wiki project page:
/home/lucky/wiki/entities/projects/ephemeris-mcp.md
- Wiki schema:
/home/lucky/wiki/SCHEMA.md
- Wiki index:
/home/lucky/wiki/index.md
Repo shape
main.py starts the app.
src/ephemeris_mcp/ holds the runtime code.
tests/ holds verification.
run.sh, restart.sh, killserver.sh, and tests.sh are the operational entry points.
Practical expectations
- Keep the implementation aligned with the plan in
IMPLEMENTATION_PLAN.md.
- Keep
README.md and the wiki project page aligned with the shipped slice.
- Prefer explicit, reproducible behavior over hidden heuristics.
- If a change affects the public tool surface or data model, update the repo docs in the same pass.