mcpField
S

Swiss Ephemeris

本地服务
github.com/dm0lz游戏娱乐1068 周前更新

关于 Swiss Ephemeris

Swiss Ephemeris 是基于 Swiss Ephemeris 库进行天文与占星计算的 MCP 服务,适合需要指定日期和地点的行星位置、星盘、行运、太阳回归或合盘数据的用户与 Agent。

主要功能

  1. 01行星与小行星位置
  2. 02Placidus 十二宫计算
  3. 03星盘点与月交点
  4. 04本命盘与当前行运比较
  5. 05太阳回归盘与合盘

适用场景

  1. 01计算指定日期和地点的星体位置
  2. 02比较本命盘与当前行运
  3. 03生成指定年份的太阳回归盘
  4. 04比较两人的出生星盘

MCP 相关

向 MCP 客户端提供行星位置、行运、太阳回归和合盘四种计算工具,支持 STDIO 与 HTTP 传输。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"swiss-ephemeris": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"olivier86/swiss-ephemeris-mcp-server:latest"
]
}
}
}
启动命令docker run -i --rm olivier86/swiss-ephemeris-mcp-server:latest

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ociolivier86/swiss-ephemeris-mcp-server:latest

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Swiss Ephemeris MCP 服务

一个使用 Swiss Ephemeris 库进行天文计算的模型上下文协议(MCP)服务。可针对任意日期和地点计算行星位置、宫位、星盘点和小行星。

功能

  • 行星位置:太阳、月亮、水星、金星、火星、木星、土星、天王星、海王星、冥王星
  • 月交点:真交点和平均交点计算
  • 小行星:凯龙星、谷神星、智神星、婚神星、灶神星、莉莉丝
  • 宫位:使用 Placidus 制的 12 宫系统
  • 星盘点:上升点、天顶、天底、下降点
  • 其他点:南交点、福点

安装

本地开发的先决条件

若要在本地与 Claude Desktop 搭配使用,需安装 Swiss Ephemeris 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

将以下内容添加到 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:上升点、天顶、天底、下降点
  • additional_points:南交点、福点
calculate_transits

计算出生星盘位置和当前行运,以供比较。

参数:

  • birth_datetime(字符串):ISO8601 格式的出生日期时间
  • latitude(数字):出生地点纬度,十进制度数
  • longitude(数字):出生地点经度,十进制度数

返回:

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

计算指定年份的太阳回归星盘(太阳回到本命位置时)。

参数:

  • birth_datetime(字符串):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(字符串):Person 1 的 ISO8601 格式出生日期时间
  • person1_latitude(数字):Person 1 出生地点纬度,十进制度数
  • person1_longitude(数字):Person 1 出生地点经度,十进制度数
  • person2_datetime(字符串):Person 2 的 ISO8601 格式出生日期时间
  • person2_latitude(数字):Person 2 出生地点纬度,十进制度数
  • person2_longitude(数字):Person 2 出生地点经度,十进制度数

返回:

  • person1_chart:Person 1 的完整出生星盘
  • person2_chart:Person 2 的完整出生星盘
  • synastry_aspects:两个星盘之间行星相位的数组
  • calculation_time:计算时间的时间戳

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

传输模式

  • Stdio:与 Claude Desktop 集成的默认模式
  • HTTP:设置 MCP_HTTP_MODE=true,通过 ngrok 进行 Web 集成

链接

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。