|
|
3 weeks ago | |
|---|---|---|
| data | 3 weeks ago | |
| src | 3 weeks ago | |
| tests | 3 weeks ago | |
| .dockerignore | 3 weeks ago | |
| .env.example | 3 weeks ago | |
| .gitignore | 3 weeks ago | |
| AGENTS.md | 1 month ago | |
| Dockerfile | 3 weeks ago | |
| IMPLEMENTATION_PLAN.md | 3 weeks ago | |
| README.md | 3 weeks ago | |
| RELEASE_NOTES.md | 1 month ago | |
| docker-compose.yml | 3 weeks ago | |
| initial_idea.md | 1 month ago | |
| killserver.sh | 1 month ago | |
| main.py | 1 month ago | |
| requirements.txt | 1 month ago | |
| restart.sh | 1 month ago | |
| run.sh | 1 month ago | |
| tests.sh | 1 month ago |
Ephemeris MCP is a standalone celestial computation engine exposed through MCP. v0.1 ships the core sky-state slice: planetary positions, solar events, lunar state, moon phase, sidereal time, constellation lookup, discovery, and a raw sky-state snapshot for downstream chart engines. Satellite tooling remains planned for later slices.
The server binds to 0.0.0.0 and the current reachable instance is
192.168.0.249:7015.
The implementation is intentionally split between:
The current design and tool intent are described in:
initial_idea.mdIMPLEMENTATION_PLAN.mdAGENTS.md/home/lucky/wiki/entities/projects/ephemeris-mcp.mdmain.py - uvicorn entry pointsrc/ephemeris_mcp/ - application codetests/ - automated checksrun.sh / restart.sh / killserver.sh - service helpersDockerfile / docker-compose.yml - container entry points.env.example - optional runtime environment templatetests.sh - test runnerdata/ - local ephemeris/cache datalogs/ - runtime logsmcporter - preferred manual client for smoke testsUse the repo's configured MCP client pattern:
mcporter --config "$CONFIG" list ephemeris
Tool calls follow the same shape:
mcporter --config "$CONFIG" call ephemeris.get_moon_phase --args '{"datetime":"2026-05-10T12:00:00Z"}'
The moon-phase response includes the next major phase as both an ISO timestamp and a compact relative string:
{
"phase_name": "Last Quarter",
"next_major_phase": {
"phase_name": "New Moon",
"at_utc": "2026-05-16T20:01:04Z",
"in_text": "6d 8h 1m"
}
}
mcporter --config "$CONFIG" call ephemeris.get_lunar_state --args '{"datetime":"2026-05-10T12:00:00Z","lat":52.52,"lon":13.405}'
mcporter --config "$CONFIG" call ephemeris.get_planetary_positions --args '{"datetime":"2026-05-10T12:00:00Z","lat":52.52,"lon":13.405}'
The server is exposed on the LAN at 192.168.0.249:7015 and mounts MCP at
/mcp/sse.
get_sky_state is the preferred raw snapshot for downstream chart engines.seas_18.se1 in ./data/.get_planetary_positions will still return the other bodies, but Chiron will error until the file is present.docker compose up --build../data and ./logs into the container.seas_18.se1 in ./data before starting the container if you want Chiron in the response set.7015 and serves MCP at /mcp/sse.