Metadata-Version: 2.4
Name: divineapi-western-astrology-mcp
Version: 1.4.0
Summary: Official MCP server for Divine API's Western Astrology services — Natal, Synastry, Transit, Composite, Progressions
Project-URL: Homepage, https://divineapi.com
Project-URL: Documentation, https://developers.divineapi.com/western-api
Project-URL: Repository, https://github.com/DivineAPI/mcp-western-astrology
Author-email: Divine API <admin@divineapi.com>
License-Expression: MIT
Keywords: astrology,composite,divineapi,horoscope,mcp,natal,progressions,synastry,transit,western
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.10
Requires-Dist: httpx>=0.27.0
Requires-Dist: mcp[cli]>=1.2.0
Requires-Dist: pydantic>=2.0.0
Requires-Dist: pyjwt>=2.0.0
Provides-Extra: http
Requires-Dist: starlette>=0.37.0; extra == 'http'
Requires-Dist: uvicorn>=0.30.0; extra == 'http'
Description-Content-Type: text/markdown

# Divine API - Western Astrology MCP Server

Official MCP server by Divine API for Western Astrology services. Exposes 56 tools covering natal charts, synastry, transits, composite charts, progressions, planetary returns, prenatal analysis, and advanced natal techniques, backed by the live Divine API (astroapi-4 and astroapi-8 hosts).

## Setup

1. Get your API key and auth token from https://divineapi.com/api-keys
2. Set environment variables: `DIVINE_API_KEY` and `DIVINE_AUTH_TOKEN`
3. Add to your MCP client configuration (Claude Desktop, Cursor, etc.)

## Tool groups (56 tools)

| Group | Tools | Host |
|-------|-------|------|
| Natal | 10 | astroapi-4 (wheel chart on astroapi-8) |
| Synastry | 13 | astroapi-4 (wheel/aspect-table on astroapi-8) |
| Transit | 11 | astroapi-4 and astroapi-8 |
| Composite | 4 | astroapi-8 |
| Advanced natal | 11 | astroapi-8 |
| Progressions and returns | 5 | astroapi-8 |
| Prenatal | 2 | astroapi-8 |

## Notable input details

- `house_system` accepts friendly names (placidus, koch, porphyry, regiomontanus, campanus, equal, whole-sign, morinus, alcabitius) or the Swiss Ephemeris single-letter codes (B, C, E, K, M, O, P, R, W). Names are mapped to letter codes before the API call; invalid values fail client-side with the list of accepted names.
- `divine_western_dominants` requires `method` (`TRADITIONAL` or `MODERN`).
- `divine_western_fixed_stars_details` requires `star_list`; get valid names from `divine_western_fixed_stars_list` (which needs no input).
- Detail endpoints are two-step: `divine_western_planet_return_details` takes a `return_key` from `divine_western_planet_returns_list`, and `divine_western_prenatal_details` takes a `prenatal_key` from `divine_western_prenatal_list`.
- Transit tools require the transit moment: `transit_day`/`transit_month`/`transit_year` (plus time and location fields where the endpoint needs them) and, for weekly/monthly/full reports, a `transit_planet`.
- API failures raise MCP tool errors (`isError: true`); plain `Error: ...` strings are returned only for client-side validation of enum-style inputs.

See CHANGELOG.md for the full history, including the fixes that made 38 previously failing tools work.

Documentation: https://developers.divineapi.com/western-api
