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

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    A
    maintenance
    Multi-tradition astrology engine that computes real birth charts, transits, and synastry for AI agents via MCP tools.
    3
  • A
    license
    A
    quality
    A
    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
    74
    1
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Precision-audited astrology MCP for natal charts, transits, synastry and moon phases. No API key.
    10
    124
    MIT

View all related MCP servers

Related MCP Connectors

  • Sub-arcsecond ephemeris and astrology on NASA JPL DE440: natal, transits, eclipses, Human Design.

  • Zi Wei Dou Shu for AI agents: free natal charts, six transit levels, and optional readings.

  • 60+ units, live FX, timezones, and date arithmetic for AI agents.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/DrewCyber/astro-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server