Skip to main content
Glama
DrewCyber

astro-mcp

by DrewCyber

astro-mcp

Astrologischer MCP-Server – hochpräzise Astrologie-Werkzeuge für LLM-Agenten.

Implementiert 14 Werkzeuge, die auf Swiss Ephemeris (pyswisseph) basieren, und integriert sich in jeden Model Context Protocol-Client (Claude Desktop usw.).

Werkzeuge

#

Name

Beschreibung

1

calculate_natal_chart

Vollständiges Geburtshoroskop: Planeten, Winkel, Häuser, Aspekte

2

calculate_transits

Transit-Aspekte zum Geburtshoroskop, Mondphase, Lunationen und Mond ohne Aspekte

3

calculate_secondary_progressions

Tag-für-Jahr-Progressionen + Solar Arc

4

calculate_solar_return

Jährliches Sonnenrückkehr-Horoskop

5

calculate_rectification_hints

Bewertet Kandidaten-Geburtszeiten anhand von Lebensereignissen

6

calculate_lunar_return

Monatliches Mondrückkehr-Horoskop (bzw. -Horoskope)

7

calculate_synastry

Aspekte zwischen Horoskopen + Hausüberlagerungen

8

calculate_composite_chart

Mittelpunkt- oder Davison-Composite-Horoskop

9

calculate_profections

Jährliche Profektion – Jahresherr und aktivierte Häuser

10

get_planetary_hours

24 Planetenstunden für jeden Tag/Ort

11

calculate_arabic_parts

12 arabische Teile / Lose (Glückspunkt, Geist, Ehe usw.)

12

get_ephemeris

Tabelle der Planetenpositionen über einen Datumsbereich

13

find_aspect_exact_dates

Findet genaue Daten eines bestimmten Aspekts

14

calculate_antiscia

Antiskia- und Kontra-Antiskia-Punkte, optional mit Transiten

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-Konfiguration

Fügen Sie Folgendes zu ~/Library/Application Support/Claude/claude_desktop_config.json hinzu:

{
  "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"
      }
    }
  }
}

Umgebungsvariablen

Variable

Standard

Beschreibung

EPHE_PATH

./ephe

Pfad zu den Swiss-Ephemeris-.se1-Datendateien

GEOCODING_PROVIDER

nominatim

nominatim oder opencage

OPENCAGE_API_KEY

—

Erforderlich, wenn GEOCODING_PROVIDER=opencage

GEOCODING_USER_AGENT

astro-mcp/1.0

Nominatim-Benutzeragent

GEOCODE_CACHE_SIZE

512

LRU-Cache-Größe für Geocoding-Ergebnisse

GEOCODE_CACHE_PATH

~/.cache/astro-mcp/geocode.json

Persistenter Geocode-Cache, damit Lookups einen Neustart überleben. Speichert nur Stadt → Breite/Länge/Zeitzone. Leer lassen, um zu deaktivieren

DEFAULT_HOUSE_SYSTEM

P

P=Placidus, W=Whole Sign, K=Koch

DEFAULT_ORB_FACTOR

1.0

Globaler Orbis-Multiplikator (0.1–3.0)

NODE_TYPE

true

true=Wahrer Knoten, mean=Mittlerer Knoten (einheitlich auf alle Werkzeuge angewendet)

LOG_LEVEL

WARNING

Python-Logging-Stufe

Architektur

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 14

Ausgabeformat

Alle Werkzeuge geben kompaktes JSON ohne Leerzeichen zurück, um LLM-Kontext-Token zu minimieren (etwa 75 % kleiner als ausführliches JSON). Planetenkürzel werden abgekürzt (Su, Mo, Me usw.), Aspekte verwenden 3-Buchstaben-Codes (Cnj, Tri, Squ), und das Rückläufigkeits-Flag ("R":true) wird weggelassen, wenn direkt, um zusätzliche Token zu sparen.

Fehler verwenden denselben Vertrag, sodass ein Client nie Prosa parsen muss:

{"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"}

Planetenkürzel

Unterstützte Codes in allen Werkzeugen:

  • Su Sonne

  • Mo Mond

  • Me Merkur

  • Ve Venus

  • Ma Mars

  • Ju Jupiter

  • Sa Saturn

  • Ur Uranus

  • Ne Neptun

  • Pl Pluto

  • Ch Chiron

  • Li Schwarzer Mond Lilith (mittlerer Apogäum)

  • NN Nordknoten (standardmäßig wahrer Knoten; mittlerer Knoten bei NODE_TYPE=mean)

  • SN Südknoten

  • Asteroiden (wo include_asteroids unterstützt wird): Ce Ceres, Pa Pallas, Jun Juno, Ves Vesta

API-Hinweise

  • get_ephemeris akzeptiert entweder einen einzelnen planet oder eine Liste von Planeten.

  • get_ephemeris.step unterstützt 1h, 2h, 3h, 6h, 12h, 1d, 7d, 30d.

  • get_ephemeris gibt jetzt ein timezone-Feld zurück und formatiert dt in output_tz.

  • find_aspect_exact_dates.mode unterstützt:

    • transit-to-transit für zwei bewegte Körper

    • transit-to-natal für Transit zu einem natalen Planeten/Winkel

    • auto (Standard) leitet den Modus aus dem Vorhandensein von birth_* ab

Tests

pytest tests/ -v --cov=src/astro_mcp --cov-report=term-missing

Golden-Chart-Regressionen sind inline in der Testsuite (tests/test_audit_regressions.py) enthalten und wurden gegen Astro.com und Solar Fire verifiziert.

Lizenz

MIT

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    Multi-tradition astrology engine that computes real birth charts, transits, and synastry for AI agents via MCP tools.
    8
    -
  • A
    license
    A
    quality
    C
    maintenance
    Astrology 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.
    12
    61 npm
    1
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Calculates astrological natal charts with high precision using Swiss Ephemeris, supporting multiple house systems and location inputs.
    2
    18 npm
    5
    AGPL 3.0
  • A
    license
    A
    quality
    A
    maintenance
    Vedic 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.
    103
    MIT