
Cosine Astro Mcp
io.github.ganguoguo444004-coderPublished by GitHub account ganguoguo444004-coderv0.1.0Updated Oct 25, 2026
Astrology: natal charts, transits, synastry, retrogrades, profections. Computed offline.
Overview
A local MCP server that computes Western tropical astrology charts — natal, transits, synastry, retrogrades, profections and moon phases — offline.
- What you can do
- Compute natal charts: planets, Ascendant, Midheaven, house cusps, aspects and element/modality balance, with optional birth time, coordinates or a built-in city name. Calculate transits for a date and time, including aspects to a natal chart and natal houses. Compare two charts with synastry cross-aspects and house overlays. Find Mercury retrograde periods, annual profections and moon phases over a date range. Return each result as a compact text summary plus the same data as JSON.
- When to use it
- Useful when an assistant needs accurate planetary positions rather than guessed ones, for astrology study, chart exploration or reflective readings. It suits users who want deterministic offline calculations without accounts or API keys.
- Requirements
- Node.js 20 or later; runs locally over stdio, typically started with npx. No API keys, accounts or network calls. Birth data needs a date (years 1800–2200), optionally time, IANA timezone, and latitude/longitude or one of about 110 built-in city names.
Installation
In SourceWeft
- Open Cosine Astro Mcp in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
cosine-astro-mcp
An MCP server for Western (tropical) astrology calculations: natal charts, transits, synastry, Mercury retrograde, annual profections and moon phases.
Language models are poor at working out where the planets were on a given date; they tend to guess. This server computes the positions instead, offline, from the astronomy-engine ephemeris, and hands the model both a compact text summary and the full data as JSON. No API keys, no network calls, no accounts.
Made by COSINE 余弦 — cosineastro.com, a birth-chart site with AI readings. This is the same chart engine the site runs, published as an MCP server.
Install
Requires Node.js 20 or later.
Claude Code
Add --scope user to make it available in every project.
Claude Desktop — edit claude_desktop_config.json (Settings → Developer → Edit Config):
Cursor — ~/.cursor/mcp.json (global) or .cursor/mcp.json (per project):
Any other MCP client that speaks stdio works the same way: the command is npx -y cosine-astro-mcp.
Tools
All tools are read-only and deterministic for a given input (except where a date defaults to "now").
Birth data
natal_chart, annual_profection, and the natal / person_a / person_b objects of transits and synastry take:
Other parameters: transits takes date, time, timezone, natal, max_orb; mercury_retrograde takes start_date, end_date, timezone; annual_profection takes age or on_date; moon_phase takes date, time, timezone. Every tool's JSON schema carries a description of each field.
Output
Each call returns two text blocks and structuredContent:
- a compact summary written for a model to read, ending with a short note that the positions are computed and that interpretation should be offered as reflection, not prediction;
- the same data as JSON (also in
structuredContent).
Example (natal_chart, 1995-05-12 08:30, Shanghai):
Conventions
- Positions are geocentric, apparent, tropical ecliptic longitudes of date.
- Aspects within a chart: conjunction and opposition 8°, square and trine 6°, sextile 4°. Between two charts (synastry): 6°, 5°, 5°, 3°. Transits: one orb for all, default 2°.
- Element/modality balance: Sun, Moon and Ascendant count 2 points; Mercury to Pluto and the Midheaven 1 point each. Ties go to the Sun's element, then the Moon's, then the Ascendant's.
- Profections count whole signs from the Ascendant (from the Sun's sign when the birth time is unknown); the lord of the year is the traditional ruler, with the modern co-ruler (Pluto, Uranus, Neptune) noted where it differs.
- Shadow periods: the pre-shadow starts when Mercury first reaches the degree where it will later station direct; the post-shadow ends when it moves back past the degree where it stationed retrograde.
Not included: asteroids, lunar nodes, Lilith, Chiron, sidereal zodiacs, house systems other than Placidus and whole-sign, and interpretation text.
Accuracy
The test suite compares the engine with Swiss Ephemeris (2.10.03, via pyswisseph) on 55 reference charts from 1900 to 2050 — northern and southern hemispheres, east and west longitudes, the equator, high latitudes up to and inside the Arctic Circle, historical daylight saving time, and unknown birth times. Every planet longitude, Ascendant, Midheaven and Placidus cusp is within 1′ of arc of the reference (largest gaps: planets 0.34′, Ascendant/Midheaven 0.20′, cusps 0.21′), and every UTC conversion matches. The angles use the true obliquity of the ecliptic (nutation included), as Swiss Ephemeris does. Only the reference numbers are included in this repository (tests/fixtures/reference-charts.json); no Swiss Ephemeris code is used or distributed.
Things to know:
- Time zones come from the IANA database built into Node.js. For dates before a region adopted standard time, the database uses local mean time; if your source used a different rule, pass the zone you mean (for example
"Etc/GMT-8"for a fixed UTC+8). - The Ascendant moves about a degree every four minutes: the chart is only as accurate as the birth time.
- The built-in city coordinates are city centres to about 0.01°.
- Retrograde stations are located to about a minute.
COSINE's methodology and accuracy notes: cosineastro.com/en/accuracy.
About interpretation
The positions are astronomy. What they mean is a tradition of interpretation, not a measurement. The server says so in every result and suggests that a model present readings as prompts for reflection rather than predictions or advice.
Development
Credits and license
MIT. The chart engine is ported from COSINE and uses astronomy-engine by Don Cross (MIT). Reference values for the tests were generated with Swiss Ephemeris by Astrodienst (used only to produce the numbers; not part of this package).
Made by COSINE — https://www.cosineastro.com · Free birth chart · Accuracy
繁體中文
cosine-astro-mcp 是一個 MCP 伺服器,提供西洋占星(回歸黃道)計算:本命盤、行運、合盤、水星逆行、年度小限、月相。
大型語言模型自己推算行星位置往往不準。這個伺服器改用 astronomy-engine 星曆在本機離線計算,回傳一段給模型讀的精簡文字摘要,以及完整的 JSON 資料。不需要 API 金鑰,不連網。
由 COSINE 余弦(cosineastro.com)製作,和網站使用同一套星盤引擎。
安裝
需要 Node.js 20 以上。
- Claude Code:
claude mcp add cosine-astro -- npx -y cosine-astro-mcp - Claude Desktop/Cursor:在設定檔的
mcpServers加入"cosine-astro": { "command": "npx", "args": ["-y", "cosine-astro-mcp"] }(完整範例見上方英文說明)
工具
出生資料:date(YYYY-MM-DD,必填)、time(HH:MM,不知道就省略:不給上升、天頂與宮位)、timezone(IANA 時區,如 Asia/Taipei,自動套用歷史夏令時間)、latitude/longitude(北緯、東經為正),或用 city 從內建約 110 個大城市(中英文名皆可,繁簡皆可)中選取。不呼叫任何地理編碼服務;其他地點請直接給經緯度。
準確度
測試以 Swiss Ephemeris(2.10.03,pyswisseph)計算的 55 張參考星盤(1900–2050 年,涵蓋南北半球、東西經、赤道、高緯度與北極圈內、歷史夏令時間、出生時間不詳)比對:所有行星黃經、上升、天頂與 Placidus 宮頭誤差都在 1 角分以內(最大:行星 0.34′、上升/天頂 0.20′、宮頭 0.21′),UTC 換算全部一致。上升與天頂使用含章動的真黃赤交角,與 Swiss Ephemeris 相同。本專案只收錄參考數值,不含也不散布任何 Swiss Ephemeris 程式碼。準確度說明見 cosineastro.com/en/accuracy。
關於解讀
行星位置是天文計算;它們代表什麼,屬於占星的詮釋傳統,而非測量結果。每次回傳都附上提示:請把解讀當作自我反思的參考,而不是預言或建議。
授權
MIT。星盤引擎移植自 COSINE,使用 Don Cross 的 astronomy-engine(MIT)。
由 COSINE 製作 — https://www.cosineastro.com · 免費排本命盤
Source: README.md at commit 173254a
Tools
0Version history
1- v0.1.0LatestOct 17, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts