天文计算服务

Swiss Ephemeris MCP Server 是一个基于瑞士星历库的天文计算服务,提供行星位置、宫位、星盘点和行星过境等计算功能,适用于占星学和天文学研究。

  • by ducrouxolivier
  • JavaScript
  • 本地部署
  • 10 星标
  • 更新于
在 GitHub 查看 dm0lz/swiss-ephemeris-mcp-server

使用说明

瑞士Ephemeris MCP服务器

一种模型上下文协议(MCP)服务器,使用瑞士星历表库提供天文计算。计算任何日期和位置的行星位置、房屋、图表点和小行星。

特性

  • 行星位置:太阳、月亮、水星、金星、火星、木星、土星、天王星、海王星、冥王星
  • 月亮交点:真节点和平均节点计算
  • 小行星:凯龙星、谷神星、帕拉斯、朱诺、灶神星、莉莉丝
  • 房屋:使用Placidus的12栋房屋系统
  • 图表点:上升、中天、IC、后裔
  • 附加积分:南节点,财富的一部分

安装

地方发展的先决条件

要在本地使用Claude Desktop,您需要安装瑞士星历表 swetest 命令:

# 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配置中:

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

手动安装

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

用法

服务器提供四个主要工具:

calculate_planetary_positions

计算特定日期、时间和地点的天文数据。

参数:

  • datetime (字符串):ISO8601格式,例如“1985-04-12T23:20:50Z”
  • latitude (数字):纬度(十进制)(-90到90)
  • longitude (数字):经度以十进制度数表示(-180到180)

退货:

  • planets:所有行星和天体的位置
  • houses:12座占星宫
  • chart_points:上升、中天、IC、后裔
  • additional_points:南节点,财富的一部分

calculate_transits

计算出生图位置和当前过境点以进行比较。

参数:

  • birth_datetime (string):ISO8601格式的出生日期时间
  • latitude (数字):出生纬度,以十进制表示
  • longitude (数字):出生经度,以十进制表示

退货:

  • natal_chart:完整的出生图表数据
  • current_transits:当前行星位置
  • calculation_time:运输计算时间戳

calculate_solar_revolution

计算特定年份的太阳回归图(当太阳回到出生位置时)。

参数:

  • birth_datetime (string):ISO8601格式的出生日期时间
  • birth_latitude (数字):出生纬度,以十进制表示
  • birth_longitude (数字):出生经度,以十进制表示
  • return_year (数字):计算太阳能回报的年份(例如2024年)
  • return_latitude (数字,可选):太阳返回位置纬度
  • return_longitude (数字,可选):太阳能返回位置经度

退货:

  • natal_chart:原始出生图数据
  • solar_return_chart:指定年份的太阳能回报图
  • natal_sun_longitude:原始太阳位置(度)
  • return_sun_longitude:太阳返回太阳位置(度)
  • calculation_time:计算时间戳

calculate_synastry

计算两个人之间的关系图,进行关系相容性分析。

参数:

  • person1_datetime (string):ISO8601格式的Person 1出生日期时间
  • person1_latitude (数字):人1出生纬度(十进制)
  • person1_longitude (数字):人1出生经度(十进制)
  • person2_datetime (string):ISO8601格式的Person 2出生日期时间
  • person2_latitude (数字):人2出生纬度(十进制)
  • person2_longitude (数字):人2出生经度(十进制)

退货:

  • person1_chart:第1个人的完整出生图
  • person2_chart:第2个人的完整出生图
  • synastry_aspects:图表之间的行星方位阵列
  • calculation_time:计算时间戳

码头工人

# 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

运输方式

  • 标准输入输出:Claude Desktop集成的默认模式
  • 超文本传输协议:使用 MCP_HTTP_MODE=true 通过ngrok实现web集成

链接

  • MCP网址: https://www.theme-astral.me/mcp
  • 仓库: https://github.com/dm0lz/swiss-ephemeris-mcp-server
  • 瑞士星历表: https://www.astro.com/swisseph/

许可证

麻省理工学院