# Ephemeris MCP This repo is a standalone celestial computation service exposed through MCP. v0.1 is the core sky-state slice only; satellite work is planned but deferred. ## Working rules - Keep the core contract narrow: compute raw astronomical data and return structured JSON. - Do not add interpretation layers here. Astrology, charting, narrative output, and consumer-specific meaning 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.1. - 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.