swiss-ephemeris-mcp-server
Swiss Ephemeris MCP Serverは、スイスエフェメリスライブラリを使用して天文計算を提供するMCPサーバーです。任意の日付と場所における惑星の位置、ハウス、チャートポイント、そして小惑星を計算できます。主に占星術関連のデータ解析に利用されます。
GitHubスター
4
ユーザー評価
未評価
お気に入り
0
閲覧数
5
フォーク
1
イシュー
1
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
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 bodieshouses
: 12 astrological houseschart_points
: Ascendant, Midheaven, IC, Descendantadditional_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 formatlatitude
(number): Birth latitude in decimal degreeslongitude
(number): Birth longitude in decimal degrees
Returns:
natal_chart
: Complete birth chart datacurrent_transits
: Current planetary positionscalculation_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 formatbirth_latitude
(number): Birth latitude in decimal degreesbirth_longitude
(number): Birth longitude in decimal degreesreturn_year
(number): Year for solar return calculation (e.g., 2024)return_latitude
(number, optional): Solar return location latitudereturn_longitude
(number, optional): Solar return location longitude
Returns:
natal_chart
: Original birth chart datasolar_return_chart
: Solar return chart for the specified yearnatal_sun_longitude
: Original Sun position in degreesreturn_sun_longitude
: Solar return Sun position in degreescalculation_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 formatperson1_latitude
(number): Person 1 birth latitude in decimal degreesperson1_longitude
(number): Person 1 birth longitude in decimal degreesperson2_datetime
(string): Person 2 birth datetime in ISO8601 formatperson2_latitude
(number): Person 2 birth latitude in decimal degreesperson2_longitude
(number): Person 2 birth longitude in decimal degrees
Returns:
person1_chart
: Complete birth chart for person 1person2_chart
: Complete birth chart for person 2synastry_aspects
: Array of planetary aspects between the chartscalculation_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
Links
- MCP URL: https://www.theme-astral.me/mcp
- Repository: https://github.com/dm0lz/swiss-ephemeris-mcp-server
- Swiss Ephemeris: https://www.astro.com/swisseph/
License
MIT