Нема описа

Lukas Goldschmidt 7f122ecbde feat: deliver natal charts as MCP resources пре 1 месец
agent-guides ed7f85b7c9 feat: deliver natal charts as MCP resources пре 1 месец
docs ed7f85b7c9 feat: deliver natal charts as MCP resources пре 1 месец
src ed7f85b7c9 feat: deliver natal charts as MCP resources пре 1 месец
static c8c5b6097c feat(chart): add Astronomicon font and glyph mapping пре 3 месеци
templates eaab9cf3d0 Dashboard enhancements: 24h toggle, import/export JSON, delete button, deceased style пре 3 месеци
tests 83fe5496e1 refactored tools.py пре 1 месец
.env.example 2da3370c82 Phase 1: scaffold astro-mcp project пре 3 месеци
.gitignore 2da3370c82 Phase 1: scaffold astro-mcp project пре 3 месеци
AGENTS.md ed7f85b7c9 feat: deliver natal charts as MCP resources пре 1 месец
Dockerfile 317e173fb9 fix: add missing COPY static ./static to Dockerfile пре 3 месеци
IMPLEMENTATION_PLAN.md ed7f85b7c9 feat: deliver natal charts as MCP resources пре 1 месец
IMPLEMENTATION_PLAN_v0.2.0.md ed7f85b7c9 feat: deliver natal charts as MCP resources пре 1 месец
PROJECT.md ed7f85b7c9 feat: deliver natal charts as MCP resources пре 1 месец
README.md ed7f85b7c9 feat: deliver natal charts as MCP resources пре 1 месец
docker-compose.yml 2da3370c82 Phase 1: scaffold astro-mcp project пре 3 месеци
financial-astrology.md ed7f85b7c9 feat: deliver natal charts as MCP resources пре 1 месец
karmic-astrology.md ed7f85b7c9 feat: deliver natal charts as MCP resources пре 1 месец
killserver.sh 24e86a8561 Fix ephemeris client: datetime normalization + error handling пре 3 месеци
main.py 2da3370c82 Phase 1: scaffold astro-mcp project пре 3 месеци
natal-astrology.md ed7f85b7c9 feat: deliver natal charts as MCP resources пре 1 месец
pytest.ini 627a236b3b chore: replace httpx with httpx2, register live mark in pytest.ini пре 3 месеци
relationship-astrology-techniques.md ed7f85b7c9 feat: deliver natal charts as MCP resources пре 1 месец
requirements.txt 2a531c6c1b refactor: embed Astronomicon font, add PNG/JPG output, split chart modules, fix datetime convention пре 2 месеци
restart.sh 24e86a8561 Fix ephemeris client: datetime normalization + error handling пре 3 месеци
run.sh 24e86a8561 Fix ephemeris client: datetime normalization + error handling пре 3 месеци
tests.sh 24e86a8561 Fix ephemeris client: datetime normalization + error handling пре 3 месеци

README.md

astro-mcp v0.2.0

Version 0.2.0.

Astro-MCP is an MCP server for astrological chart calculations and database-backed chart artifact delivery. It consumes ephemeris-mcp:get_sky_state through MCP-over-SSE and exposes structured calculation tools, MCP resources for rendered charts, and HTTP chart URLs for human-facing clients.

v0.2.0 delivery surface

Chart rendering is implemented internally and is not exposed as MCP tools. The render_* MCP tools have been removed.

Rendered natal charts for persons in the database are available as the MCP resource template:

astro://charts/natal/{person_id}

The resource returns the default SVG artifact. The human-facing HTTP equivalent accepts the existing renderer format suffixes:

/charts/natal/{person_id}.{format}

Examples:

astro://charts/natal/einstein
/charts/natal/einstein.svg
/charts/natal/einstein.png

The MCP resource and HTTP route use the existing natal calculation and chart-rendering implementation. They do not add rendering behavior or alter the chart drawing code.

Only natal chart artifact delivery is implemented in v0.2.0. Other chart resource families are not exposed yet.

Quick start

python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
./run.sh

The server listens on port 7016 by default. The port is configurable with ASTRO_PORT.

Docker

docker compose up --build

Health check: GET http://localhost:7016/health

Configuration

Variable Default Description
ASTRO_HOST 0.0.0.0 Bind address
ASTRO_PORT 7016 Listen port
ASTRO_DATA_DIR ./data SQLite database directory
ASTRO_LOG_DIR ./logs Log directory
EPHEMERIS_MCP_URL http://192.168.0.200:7015/mcp/sse Ephemeris MCP endpoint
GEONAMES_USERNAME empty GeoNames username for birthplace autocomplete
DASHBOARD_24H_TIME true Use 24-hour time in dashboard forms

MCP endpoint

SSE transport: http://localhost:7016/mcp/sse

Calculation tools

The calculation surface remains structured-data oriented:

Tool Purpose
get_planetary_positions Planetary positions with signs, degrees, and retrograde flags
calculate_natal_chart Natal chart from direct birth data
calculate_transit_chart Transit-to-natal chart calculation
calculate_synastry_chart Two-person relationship chart calculation
calculate_composite_chart Composite chart calculation
calculate_davison_chart Davison chart calculation
get_transit_preview Transit-to-natal snapshots over a date range
get_composite_transit_preview Composite transit preview
get_davison_transit_preview Davison transit preview
get_karmic_relationship_summary Structured relationship summary
person_manage Person database management
list_house_systems Supported house systems

Database-backed calculation variants include the relevant _by_id tools and accept a person ID or nickname.

Person database datetime convention

The database stores birth_datetime as naive local time and timezone as an IANA timezone name. For example:

birth_datetime = 1953-03-23T21:05:00
timezone = America/Chicago

UTC conversion happens in _get_person_birth_data(). Do not store UTC or offset-aware values in the database birth_datetime column.

Dashboard

The person-management dashboard is available at:

http://localhost:7016/dashboard

It supports listing, adding, editing, importing, exporting, and deleting persons. Chart artifact delivery is available independently through the /charts/natal/{person_id}.{format} HTTP route.

Verification

Run the test suite with:

pytest

The v0.2.0 contract includes removal of all render_* MCP tools, registration of astro://charts/natal/{person_id}, and the human-facing natal chart HTTP route.