astro-mcp
astro-mcp
Servidor MCP Astrológico — herramientas de astrología de alta precisión para agentes LLM.
Implementa 14 herramientas respaldadas por Swiss Ephemeris (pyswisseph) y se integra con cualquier cliente de Model Context Protocol (Claude Desktop, etc.).
Tools
# | Name | Description |
1 |
| Carta natal completa: planetas, ángulos, casas, aspectos |
2 |
| Aspectos de tránsito a la carta natal, fase lunar, lunaciones y luna vacía de curso |
3 |
| Progresiones de un día por año + Arco Solar |
4 |
| Carta de retorno solar anual |
5 |
| Puntúa tiempos de nacimiento candidatos contra eventos de vida |
6 |
| Carta(s) de retorno lunar mensual |
7 |
| Aspectos entre cartas + superposiciones de casas |
8 |
| Carta compuesta de punto medio o Davison |
9 |
| Profección anual — señor del año y casas activadas |
10 |
| 24 horas planetarias para cualquier día/ubicación |
11 |
| 12 Partes / Suertes arábigas (Fortuna, Espíritu, Matrimonio, etc.) |
12 |
| Tabla de posiciones planetarias en un rango de fechas |
13 |
| Encuentra fechas exactas de un aspecto específico |
14 |
| Puntos de antiscia y contra-antiscia, con contactos de tránsito opcionales |
Related MCP server: auseklis
Installation
# 1. Clone
git clone https://github.com/DrewCyber/astro-mcp
cd astro-mcp
# 2. Create virtual environment
python3.11 -m venv .venv
source .venv/bin/activate
# 3. Install package + dev dependencies
pip install -e ".[dev]"
# 4. Download Swiss Ephemeris data files
bash scripts/download_ephe.sh
# 5. Set environment variable
export EPHE_PATH="$(pwd)/ephe"
# 6. Run tests
pytest tests/Claude Desktop configuration
Añade a ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"astro": {
"command": "/path/to/astro-mcp/.venv/bin/python",
"args": ["-m", "astro_mcp"],
"env": {
"EPHE_PATH": "/path/to/astro-mcp/ephe",
"GEOCODING_PROVIDER": "nominatim",
"GEOCODING_USER_AGENT": "astro-mcp/1.0",
"LOG_LEVEL": "WARNING"
}
}
}
}Environment Variables
Variable | Default | Description |
|
| Ruta a los archivos de datos |
|
|
|
| — | Requerido si |
|
| User-agent de Nominatim |
|
| Tamaño de caché LRU para resultados de geocodificación |
|
| Caché de geocodificación persistente para que las búsquedas sobrevivan a un reinicio. Almacena solo ciudad → lat/lon/tz. Déjalo vacío para desactivar |
|
|
|
|
| Multiplicador de orbe global (0.1–3.0) |
|
|
|
|
| Nivel de registro de Python |
Architecture
src/astro_mcp/
├── server.py # MCP server — tool registration and dispatch
├── schemas.py # Pydantic input models (source of the JSON schemas)
├── config.py # Settings from environment variables
├── core/
│ ├── models.py # Data models and astrological constants
│ ├── errors.py # AstroError and the structured error codes
│ ├── ephemeris_provider.py # Swiss Ephemeris wrapper (pyswisseph)
│ ├── geocoding.py # City → lat/lon/tz (geopy + timezonefinder)
│ ├── moon.py # Lunar phase, lunations and void-of-course
│ └── formatters.py # LLM-optimized serialization
└── tools/
├── natal.py # Tool 1
├── transits.py # Tool 2
├── progressions.py # Tool 3
├── returns.py # Tools 4 + 6
├── rectification.py # Tool 5
├── synastry.py # Tools 7 + 8
├── profections.py # Tool 9
├── planetary_hours.py # Tool 10
├── arabic_parts.py # Tool 11
├── ephemeris.py # Tools 12 + 13
└── antiscia.py # Tool 14Output Format
Todas las herramientas devuelven JSON compacto sin espacios en blanco para minimizar los tokens de contexto del LLM (~75% más pequeño que el JSON verboso). Los códigos de planetas están abreviados (Su, Mo, Me, etc.), los aspectos usan códigos de 3 letras (Cnj, Tri, Squ), y la bandera de retrogradación ("R":true) se omite cuando es directo para ahorrar tokens adicionales.
Los fallos usan el mismo contrato, por lo que un cliente nunca tiene que analizar prosa:
{"error":true,"code":"INPUT_ERROR","message":"Invalid arguments for 'calculate_natal_chart'.","hint":"birth_location.lat: Input should be less than or equal to 90"}Planet Codes
Códigos soportados en todas las herramientas:
SuSolMoLunaMeMercurioVeVenusMaMarteJuJúpiterSaSaturnoUrUranoNeNeptunoPlPlutónChQuirónLiBlack Moon Lilith (Apogeo Medio)NNNodo Norte (Nodo Verdadero por defecto; Nodo Medio cuandoNODE_TYPE=mean)SNNodo SurAsteroides (donde
include_asteroidses compatible):CeCeres,PaPalas,JunJuno,VesVesta
API Notes
get_ephemerisacepta un soloplaneto una lista de planetas.get_ephemeris.stepsoporta1h,2h,3h,6h,12h,1d,7d,30d.get_ephemerisahora devuelve un campotimezoney formateadtenoutput_tz.find_aspect_exact_dates.modesoporta:transit-to-transitpara dos cuerpos en movimientotransit-to-natalpara tránsito a un planeta/ángulo natalauto(por defecto) infiere el modo a partir de la presencia debirth_*
Testing
pytest tests/ -v --cov=src/astro_mcp --cov-report=term-missingLas regresiones de cartas doradas viven en línea en la suite de pruebas (tests/test_audit_regressions.py) y fueron verificadas contra Astro.com y Solar Fire.
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Swiss Ephemeris for AI agents: exact natal charts, transits, synastry and birth-place resolution
Western natal charts, horoscopes, transits and synastry for AI agents, verified vs NASA JPL.
Real astrology for AI agents: cosmic weather, synastry, timing, astrocartography, and divination.
Vedic and Western astrology for AI agents: charts, dasha, matchmaking, panchanga, numerology, tarot.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceMulti-tradition astrology engine that computes real birth charts, transits, and synastry for AI agents via MCP tools.8-
- AlicenseAqualityCmaintenanceAstrology MCP server that computes natal charts, transits, synastry, progressions, returns, eclipses, retrogrades, and moon phases from a real ephemeris, enabling AI agents to provide accurate astrological calculations without hallucination.1261 npm1MIT
- AlicenseAqualityDmaintenanceCalculates astrological natal charts with high precision using Swiss Ephemeris, supporting multiple house systems and location inputs.218 npm5AGPL 3.0
- AlicenseAqualityAmaintenanceVedic and Western astrology for AI agents: 103 read-only tools for natal charts, dasha, kundali matching with Rajju and Vedha vetoes, panchanga, numerology and tarot, backed by Swiss Ephemeris and verified against NASA JPL Horizons.103MIT