Skip to main content
Glama
Swiss Ephemeris MCP Server

Swiss Ephemeris MCP Server

Swiss Ephemeris MCP Server

A Model Context Protocol (MCP) server that provides astronomical calculations using the Swiss Ephemeris library. Calculate planetary positions, houses, chart points, and asteroids for any date and location.

Features

  • Planetary Positions: Sun, Moon, Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto

  • Lunar Nodes: True and Mean Node calculations

  • Asteroids: Chiron, Ceres, Pallas, Juno, Vesta, Lilith

  • Houses: 12-house system using Placidus

  • Chart Points: Ascendant, Midheaven, IC, Descendant

  • Additional Points: South Node, Part of Fortune

Related MCP server: astromock-mcp

Installation

Prerequisites for Local Development

For local use with Claude Desktop, you need to install the Swiss Ephemeris swetest command:

# Install swetest (required for Claude Desktop usage)
git clone https://github.com/aloistr/swisseph.git /tmp/swisseph && \
    cd /tmp/swisseph && \
    make && \
    cp swetest /usr/local/bin/ && \
    rm -rf /tmp/swisseph

Claude Desktop

Add to your Claude Desktop configuration:

{
  "mcpServers": {
    "swissEphemeris": {
      "command": "npx",
      "args": ["github:dm0lz/swiss-ephemeris-mcp-server"]
    }
  }
}

Manual Installation

git clone https://github.com/dm0lz/swiss-ephemeris-mcp-server.git
cd swiss-ephemeris-mcp-server
npm install
npm start

Usage

The server provides four main tools:

calculate_planetary_positions

Calculate astronomical data for a specific date, time, and location.

Parameters:

  • datetime (string): ISO8601 format, e.g., "1985-04-12T23:20:50Z"

  • latitude (number): Latitude in decimal degrees (-90 to 90)

  • longitude (number): Longitude in decimal degrees (-180 to 180)

Returns:

  • planets: Positions of all planets and celestial bodies

  • houses: 12 astrological houses

  • chart_points: Ascendant, Midheaven, IC, Descendant

  • additional_points: South Node, Part of Fortune

calculate_transits

Calculate birth chart positions and current transits for comparison.

Parameters:

  • birth_datetime (string): Birth datetime in ISO8601 format

  • latitude (number): Birth latitude in decimal degrees

  • longitude (number): Birth longitude in decimal degrees

Returns:

  • natal_chart: Complete birth chart data

  • current_transits: Current planetary positions

  • calculation_time: Timestamp of transit calculation

calculate_solar_revolution

Calculate solar return chart for a specific year (when Sun returns to natal position).

Parameters:

  • birth_datetime (string): Birth datetime in ISO8601 format

  • birth_latitude (number): Birth latitude in decimal degrees

  • birth_longitude (number): Birth longitude in decimal degrees

  • return_year (number): Year for solar return calculation (e.g., 2024)

  • return_latitude (number, optional): Solar return location latitude

  • return_longitude (number, optional): Solar return location longitude

Returns:

  • natal_chart: Original birth chart data

  • solar_return_chart: Solar return chart for the specified year

  • natal_sun_longitude: Original Sun position in degrees

  • return_sun_longitude: Solar return Sun position in degrees

  • calculation_time: Timestamp of calculation

calculate_synastry

Calculate synastry chart between two people for relationship compatibility analysis.

Parameters:

  • person1_datetime (string): Person 1 birth datetime in ISO8601 format

  • person1_latitude (number): Person 1 birth latitude in decimal degrees

  • person1_longitude (number): Person 1 birth longitude in decimal degrees

  • person2_datetime (string): Person 2 birth datetime in ISO8601 format

  • person2_latitude (number): Person 2 birth latitude in decimal degrees

  • person2_longitude (number): Person 2 birth longitude in decimal degrees

Returns:

  • person1_chart: Complete birth chart for person 1

  • person2_chart: Complete birth chart for person 2

  • synastry_aspects: Array of planetary aspects between the charts

  • calculation_time: Timestamp of calculation

Docker

# Build and run
docker build -t swiss-ephemeris-mcp .
docker run -p 8000:8000 -e MCP_HTTP_MODE=true swiss-ephemeris-mcp

# Health check
curl http://localhost:8000/health

Transport Modes

  • Stdio: Default mode for Claude Desktop integration

  • HTTP: Use MCP_HTTP_MODE=true for web integration via ngrok

License

MIT

Available Tools

4 tools
calculate_planetary_positionsB

Calculate planetary positions, houses, chart points and asteroids for a given datetime and coordinates

Inputs: datetime (required), latitude (required), longitude (required).

calculate_solar_revolutionB

Calculate solar return chart for a specific year. The solar return occurs when the Sun returns to the exact same position as at birth.

Inputs: birth_datetime (required), birth_latitude (required), birth_longitude (required), return_year (required), +2 more.

calculate_synastryA

Calculate synastry chart between two people for relationship compatibility analysis. Compares planetary positions and calculates aspects between the charts.

Inputs: person1_datetime (required), person1_latitude (required), person1_longitude (required), person2_datetime (required), +2 more.

calculate_transitsA

Calculate birth chart positions and current transits for comparison. Returns both natal chart and current planetary positions.

Inputs: birth_datetime (required), latitude (required), longitude (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 4 tools

    Disambiguation4/5

    Each tool targets a distinct astrological calculation (general positions, solar return, synastry, transits), but calculate_planetary_positions and calculate_transits both involve planetary positions, potentially causing confusion. Descriptions help differentiate.

    Naming Consistency5/5

    All tools use a consistent 'calculate_' verb followed by a snake_case noun phrase, forming a clear and predictable pattern.

    Tool Count5/5

    With 4 tools, the set is well-scoped for an ephemeris server, covering essential calculations without being overly sparse or bloated.

    Completeness4/5

    The tools cover key astrological functions (positions, transits, synastry, solar return), but missing some operations like progressions or aspect-only calculations, though these may be included in outputs.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      B
      maintenance
      High-precision astrology tools for LLM agents, including natal charts, transits, progressions, synastry, and more, backed by Swiss Ephemeris.
      1
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Exposes Vedic astrology tools for birth chart, dasha, transit calculations, and question context analysis.
      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
      28 npm
      5
      AGPL 3.0