Mcp Ephemeris

io.github.kairosastro-sketch由 GitHub 帳號 kairosastro-sketch 發布v0.2.3更新於 Oct 24, 2026

NASA-validated computed planetary positions for your AI: 19 astrology tools, never hallucinated.

已驗證STDIO僅桌面位置與生活資料與分析

概覽

AI 產生的概覽

本機 MCP 伺服器,為助理提供經計算的占星星曆資料:行星位置、出生星盤、行運與食相,採用瑞士星曆表引擎。

可以做什麼
計算天象位置:行星黃道位置、月相與照明度、某地目前行運、指定時刻的相位網格。產生出生與關係星盤:含宮位與點的完整本命盤、行運對本命盤、合盤、組合盤、二次推運、太陽返照與月亮返照。查找天象事件:星座換座、逆行區間、食相詳情或下一次及上一次食相。產生占星地圖線與帕蘭,以及數字學生命靈數。檢查引擎狀態,並將計算結果與 NASA JPL Horizons 比對。
適用情境
適合希望助理依據實際計算而非猜測回答占星問題(本命盤、行運、返照、食相、占星地圖),或需要對照 NASA 參考資料驗證引擎精度的情境。
執行需求
透過 npx 以 stdio 在本機執行,需要 Node.js 20 或更新版本。最高精度需要 C++ 建置工具鏈(python3、make、編譯器)來編譯瑞士星曆表外掛;否則自動退回純 TypeScript 引擎。可用 ASTRO_ENGINE 變數強制指定引擎。NASA 比對工具需要網路存取。
安裝前請注意
除使用 NASA 比對工具(會向 NASA 公開 API 發出對外請求)外,出生資料不會離開本機。退回引擎對外行星的精度較低。安裝會下載 npm 套件,首次執行可能編譯原生程式碼。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Mcp Ephemeris,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

@cosmosos/mcp-ephemeris

The real sky, for your AI. An MCP server that gives any assistant (Claude, Cursor, agents) computed planetary positions — never guessed — powered by the Swiss Ephemeris engine, and validated against JPL Horizons (NASA) to under one arcsecond.

Cardinal rule: the LLM never computes. This server is a facade over an ephemeris engine. The model interprets; the sky is a fact.

(Version française : https://llmastro.com/notre-moteur)

Quick start (Claude Desktop)

Open Settings → Developer → Edit Config, then add:

json
{  "mcpServers": {    "llmastro": {      "command": "npx",      "args": ["-y", "@cosmosos/mcp-ephemeris"]    }  }}

Fully quit Claude Desktop (system tray) and relaunch it. Then ask: "What's the moon phase today?" — Claude calls the server and answers from genuinely computed positions.

Cursor / Windsurf / others: add the same llmastro entry (command: npx, args: ["-y", "@cosmosos/mcp-ephemeris"]) to your client's MCP configuration.

Tools exposed

19 tools, all backed by the same server-side computed engine.

Positions & sky

ToolInputOutput
get_planet_positionsdatetime (ISO UTC)ecliptic positions of all bodies (sign, degree, retro)
get_moon_phasedatetime (ISO UTC)moon phase, illumination %, description
get_current_skylatitude, longitudethe sky right now (current transits) for a place
get_aspectsdatetime (ISO UTC)grid of major + minor aspects between bodies

Natal chart & relationships

ToolInputOutput
get_natal_chartbirth + zodiac (tropical/sidereal), houseSystem (7 systems)full chart: houses, aspects, ASC/MC, moon phase, Hermetic Lots
get_transitsbirth + optional datetimetransit→natal aspects, sorted by orb
get_synastrytwo birthsinter-chart aspects + harmony/tension summary
get_composite_charttwo birthsmidpoint composite chart
get_secondary_progressionsbirth + targetDateprogressed positions ("a day for a year")
get_solar_returnbirth + year (+ optional place)instant + chart of the solar return
get_lunar_returnbirth + optional afterinstant + chart of the next lunar return

Celestial events

ToolInputOutput
get_ingressesbody, start, endsign-change dates (retrograde-robust)
get_retrograde_windowsbody, start, endretrograde/direct stations over the range
get_eclipse_detailsdatetime, kindmagnitude, obscuration, Saros of a known eclipse (swisseph)
get_next_eclipsefrom, kind, optional backwardnext/previous eclipse: maximum, type, contacts (swisseph)

Astrocartography, numerology, authority

ToolInputOutput
get_astrocartographydatetime (ISO UTC)planetary MC/IC lines + parans (crossings)
get_life_pathdate (YYYY-MM-DD)life-path number (numerology)
get_engine_diagnostic—active engine, native addon load status, real precision
validate_against_horizonsdatetime, optional bodiesdelta of our positions vs JPL Horizons (NASA) in arcseconds — network required

(swisseph) = requires the native Swiss Ephemeris addon; returns null on the AstraCore fallback.

Precision

Under Swiss Ephemeris, positions match the world reference JPL Horizons (NASA) to under one arcsecond (measured 2026-07-19):

BodyDifference vs NASA
Sun0.2″
Moon1.5″
Jupiter0.1″
Pluto0.4″

Check it yourself with the validate_against_horizons tool.

Two engines

Computation is routed by the ASTRO_ENGINE variable:

  • swisseph (default) — Swiss Ephemeris, native addon, sub-arcsecond precision. Compiles automatically wherever a C++ build chain is present (Linux, macOS, most servers).
  • astracore — in-house pure-TypeScript engine (VSOP/Meeus), no native binary. Used as an automatic fallback when swisseph couldn't be compiled (common on Windows). Sun and Moon stay accurate; outer planets drift by a few arcminutes.

To force an engine: ASTRO_ENGINE=swisseph or ASTRO_ENGINE=astracore.

Privacy

The server runs on your machine: your birth data is sent nowhere. Only validate_against_horizons makes an outbound request (to NASA's public API).

Requirements

  • Node.js ≥ 20.
  • For maximum precision (swisseph): a C++ build chain (python3, make, a compiler) on the machine. Otherwise, automatic fallback to astracore, with no configuration.

About

Powered by the astrology engine of Llmastro. Learn more about the precision and architecture: https://llmastro.com/notre-moteur.

License

Free for non-commercial use (personal, research, education, non-profit organizations) — under the PolyForm Noncommercial 1.0.0 license.

Commercial / professional use: a paid license is required. To obtain one, contact KAIROSAST LTD via https://llmastro.com/contact.

Note: the optional swisseph dependency (Swiss Ephemeris, Astrodienst) has its own license (AGPL or a commercial Swiss Ephemeris license) and is not covered by this one. Professional use must comply with it separately.

Development

This repository is self-contained: the ephemeris engine is vendored in vendor/ephemeris/ (source), and the build inlines it into dist/ via tsup.

bash
pnpm install          # or npm installpnpm build            # bundles dist/index.js (engine inlined)pnpm start            # runs the MCP server (stdio) locally
  • Default engine: swisseph (sub-arcsecond precision) if the native addon compiles, otherwise automatic fallback to astracore (pure TypeScript, no binary). Force via ASTRO_ENGINE=swisseph|astracore.
  • The vendored engine is a snapshot of @astro-platform/ephemeris (Llmastro), re-synced manually.

來源:README.md,提交 ba8d1b4

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.2.3最新Sep 16, 2026

評分

已滿足適用檢查項的 40%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。