@openephemeris/mcp-server 3.4.1 → 3.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +112 -0
- package/LICENSE +21 -0
- package/README.md +5 -3
- package/config/dev-allowlist.json +97 -2
- package/package.json +4 -2
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to `@openephemeris/mcp-server` are documented here.
|
|
4
|
+
|
|
5
|
+
Format follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
|
6
|
+
Version numbering follows [Semantic Versioning](https://semver.org/).
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## [3.5.0] — 2026-03-28
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
- `POST /ephemeris/draconic` — Draconic chart: full planetary set shifted to True Node as 0° Aries (Explorer tier, 1 credit)
|
|
14
|
+
- `POST /ephemeris/prenatal-lunation` — Finds the prenatal new and full moon preceding a subject's birth date (Developer tier, 5 credits)
|
|
15
|
+
- `POST /predictive/primary-directions` — Placidian semi-arc primary directions with configurable arc length and body/angle targets (Developer tier, 5 credits)
|
|
16
|
+
|
|
17
|
+
### Changed
|
|
18
|
+
- Total production endpoints: **107 → 110**
|
|
19
|
+
- `dev-allowlist.json`, `endpoint-tier-matrix.json`, `llms.txt` all updated to reflect new surface
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## [3.4.1] — 2026-03-25
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
### Fixed
|
|
27
|
+
- Chiron position fallback for edge-date calculations now uses full Swiss Ephemeris path instead of simplified approximation
|
|
28
|
+
- SSE server chart wheel responses now correctly deliver native MCP image blocks instead of raw base64 JSON
|
|
29
|
+
|
|
30
|
+
### Changed
|
|
31
|
+
- Explorer tier daily cap set to 50 credits/day (resets midnight UTC)
|
|
32
|
+
- Catalog and metadata endpoints (`/acg/meta`, `/acg/datasets`, `/catalogs/*`) moved to free tier (0 credits)
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## [3.4.0] — 2026-03-22
|
|
37
|
+
|
|
38
|
+
### Added
|
|
39
|
+
- `hd_planetary_return` tool — finds the exact date when a planet returns to its natal position in HD context
|
|
40
|
+
- `hd_opposition` tool — finds the exact date/age of a planet's first opposition (age cycle milestone)
|
|
41
|
+
- `venus_star_points`, `venus_eight_year_star`, `venus_elongations`, `venus_phase`, `venus_stations` — complete Venus Star Point toolkit
|
|
42
|
+
- `ephemeris_planetary_return` — generic multi-planet support for solar, lunar, and outer planet returns
|
|
43
|
+
- `ephemeris_lunar_return` — dedicated monthly lunar return chart
|
|
44
|
+
|
|
45
|
+
### Changed
|
|
46
|
+
- Asteroid data (Chiron, Ceres, Pallas, Juno, Vesta, Pholus) now included by default in natal chart responses
|
|
47
|
+
- `ephemeris_transits` tool now includes explicit `aspect_angle` parameter with examples for returns and oppositions
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## [3.3.0] — 2026-03-21
|
|
52
|
+
|
|
53
|
+
### Added
|
|
54
|
+
- Timezone parameter added to all natal/transit/predictive tools — resolves ambiguous local-time inputs
|
|
55
|
+
- `ephemeris_composite_midpoint` — Davison midpoint composite chart
|
|
56
|
+
- `ephemeris_fixed_stars` — Ptolemaic fixed star positions with orb and conjunction data
|
|
57
|
+
- `ephemeris_hermetic_lots` — Arabic parts / Hermetic Lots (Lot of Fortune, Spirit, etc.)
|
|
58
|
+
|
|
59
|
+
### Fixed
|
|
60
|
+
- ACG power lines now correctly render for southern hemisphere birth locations
|
|
61
|
+
- Timezone resolution for "America/Denver" and similar IANA names no longer defaults to UTC
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## [3.2.0] — 2026-03-21
|
|
66
|
+
|
|
67
|
+
### Added
|
|
68
|
+
- SSE (Server-Sent Events) transport support — enables remote MCP clients without local `npx` installs
|
|
69
|
+
- `ephemeris_chart_wheel` and `ephemeris_bi_wheel` tools now deliver native MCP image blocks (PNG)
|
|
70
|
+
- Payload size safety cap — responses over 500kb return a structured `PAYLOAD_TOO_LARGE` error
|
|
71
|
+
|
|
72
|
+
### Fixed
|
|
73
|
+
- Composite chart endpoint route corrected in allowlist
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## [3.1.0] — 2026-03-20
|
|
78
|
+
|
|
79
|
+
### Added
|
|
80
|
+
- `human_design_composite` — dual-chart BodyGraph overlay for relationship analysis
|
|
81
|
+
- `human_design_penta` — 5-person Penta composite for group/team dynamics
|
|
82
|
+
- `ephemeris_progressed_chart` — secondary progressions (day-for-a-year method)
|
|
83
|
+
|
|
84
|
+
### Changed
|
|
85
|
+
- Personal tier: 1,500 credits/month (formerly 'Maker' at 750)
|
|
86
|
+
- Startup tier: 15,000 credits/month (formerly 'Pro')
|
|
87
|
+
- Developer tier: 75,000 credits/month
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## [3.0.0] — 2026-03-15
|
|
92
|
+
|
|
93
|
+
### Added
|
|
94
|
+
- Full tool allowlist security model — default-deny with `config/dev-allowlist.json`
|
|
95
|
+
- `dev.call` and `dev.list_allowed` generic proxy tools for allowlisted operations
|
|
96
|
+
- `welcome_to_open_ephemeris` MCP Prompt — orientation guide available to MCP clients
|
|
97
|
+
- Server icon registered at `https://mcp.openephemeris.com/icon.png`
|
|
98
|
+
- `verify:release` npm gate script for pre-publish validation
|
|
99
|
+
|
|
100
|
+
### Breaking
|
|
101
|
+
- Environment variable renamed from `ASTROMCP_API_KEY` to `OPENEPHEMERIS_API_KEY` (old name kept as fallback)
|
|
102
|
+
- Package renamed from `@astromcp/server` to `@openephemeris/mcp-server`
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## [2.x] — Legacy
|
|
107
|
+
|
|
108
|
+
Earlier versions published under `@astromcp/server`. All users should migrate to `@openephemeris/mcp-server`.
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
*[Unreleased changes are tracked in commit history.]*
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025-2026 Open Ephemeris
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# OpenEphemeris MCP Server
|
|
2
2
|
|
|
3
|
+
[](https://status.openephemeris.com/)
|
|
4
|
+
|
|
3
5
|
Model Context Protocol server for OpenEphemeris. This package exposes typed astrology tools and an allowlist-gated generic proxy (`dev.call`) for MCP-compatible clients.
|
|
4
6
|
|
|
5
7
|
## Quick Start
|
|
@@ -177,8 +179,8 @@ OpenEphemeris API
|
|
|
177
179
|
|
|
178
180
|
Generated by `npm run sync:readme` from `config/dev-allowlist.json` and the live tool registry.
|
|
179
181
|
|
|
180
|
-
- Allowlisted operations: **
|
|
181
|
-
- Methods: `GET=4`, `POST=
|
|
182
|
+
- Allowlisted operations: **20**
|
|
183
|
+
- Methods: `GET=4`, `POST=16`, `PUT=0`, `PATCH=0`, `DELETE=0`
|
|
182
184
|
- Registered tools (`OPENEPHEMERIS_PROFILE=dev`): **50**
|
|
183
185
|
- Typed tools: `acg_hits`, `acg_power_lines`, `auth_login`, `auth_logout`, `auth_status`, `chinese_bazi`, `dev_call`, `dev_list_allowed`, `electional_aspect_search`, `electional_moment_analysis`, `electional_station_tracker`, `ephemeris_angles_points`, `ephemeris_aspect_check`, `ephemeris_bi_wheel`, `ephemeris_chart_wheel`, `ephemeris_composite`, `ephemeris_composite_midpoint`, `ephemeris_dignities`, `ephemeris_electional`, `ephemeris_fixed_stars`, `ephemeris_hermetic_lots`, `ephemeris_house_cusps`, `ephemeris_lunar_return`, `ephemeris_midpoints`, `ephemeris_moon_phase`, `ephemeris_natal_batch`, `ephemeris_natal_chart`, `ephemeris_natal_transits`, `ephemeris_next_eclipse`, `ephemeris_overlay`, `ephemeris_planet_position`, `ephemeris_planetary_return`, `ephemeris_progressed_chart`, `ephemeris_relocation`, `ephemeris_retrograde_status`, `ephemeris_solar_return`, `ephemeris_synastry`, `ephemeris_transits`, `hd_opposition`, `hd_planetary_return`, `human_design_chart`, `human_design_composite`, `human_design_penta`, `vedic_chart`, `venus_eight_year_star`, `venus_elongations`, `venus_phase`, `venus_star_points`, `venus_star_points_conjunctions`, `venus_stations`
|
|
184
186
|
- Generic tools:
|
|
@@ -191,7 +193,7 @@ Generated by `npm run sync:readme` from `config/dev-allowlist.json` and the live
|
|
|
191
193
|
| `comparative` | 5 | `POST /comparative/composite`, `POST /comparative/composite/midpoint` |
|
|
192
194
|
| `electional` | 4 | `GET /electional/aspect-search`, `GET /electional/find-window` |
|
|
193
195
|
| `ephemeris` | 1 | `POST /ephemeris/relocation` |
|
|
194
|
-
| `predictive` |
|
|
196
|
+
| `predictive` | 6 | `POST /predictive/returns`, `POST /predictive/returns/lunar` |
|
|
195
197
|
| `visualization` | 2 | `POST /visualization/bi-wheel`, `POST /visualization/chart-wheel` |
|
|
196
198
|
<!-- GENERATED:RUNTIME_SNAPSHOT:END -->
|
|
197
199
|
|
|
@@ -75,6 +75,18 @@
|
|
|
75
75
|
"method": "POST",
|
|
76
76
|
"path": "/predictive/returns"
|
|
77
77
|
},
|
|
78
|
+
{
|
|
79
|
+
"method": "POST",
|
|
80
|
+
"path": "/predictive/time-lords/firdaria"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"method": "POST",
|
|
84
|
+
"path": "/predictive/time-lords/profections"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"method": "POST",
|
|
88
|
+
"path": "/predictive/time-lords/zodiacal-releasing"
|
|
89
|
+
},
|
|
78
90
|
{
|
|
79
91
|
"method": "POST",
|
|
80
92
|
"path": "/visualization/bi-wheel"
|
|
@@ -84,8 +96,8 @@
|
|
|
84
96
|
"path": "/visualization/chart-wheel"
|
|
85
97
|
}
|
|
86
98
|
],
|
|
87
|
-
"last_generated_at": "2026-03-
|
|
88
|
-
"openapi_sha256": "
|
|
99
|
+
"last_generated_at": "2026-03-28T17:28:53.352Z",
|
|
100
|
+
"openapi_sha256": "cb3161103c61dfa063dcfed946f96ecf6c1df3c9f6c5d20378b54583d70d2f75",
|
|
89
101
|
"candidates_get": [
|
|
90
102
|
{
|
|
91
103
|
"method": "GET",
|
|
@@ -553,6 +565,14 @@
|
|
|
553
565
|
],
|
|
554
566
|
"operationId": "angles_points_ephemeris_angles_points_post"
|
|
555
567
|
},
|
|
568
|
+
{
|
|
569
|
+
"method": "POST",
|
|
570
|
+
"path": "/ephemeris/antiscia",
|
|
571
|
+
"tags": [
|
|
572
|
+
"ephemeris"
|
|
573
|
+
],
|
|
574
|
+
"operationId": "calculate_antiscia_ephemeris_antiscia_post"
|
|
575
|
+
},
|
|
556
576
|
{
|
|
557
577
|
"method": "POST",
|
|
558
578
|
"path": "/ephemeris/aspect-check",
|
|
@@ -561,6 +581,14 @@
|
|
|
561
581
|
],
|
|
562
582
|
"operationId": "aspect_check_ephemeris_aspect_check_post"
|
|
563
583
|
},
|
|
584
|
+
{
|
|
585
|
+
"method": "POST",
|
|
586
|
+
"path": "/ephemeris/declinations",
|
|
587
|
+
"tags": [
|
|
588
|
+
"ephemeris"
|
|
589
|
+
],
|
|
590
|
+
"operationId": "analyze_declinations_ephemeris_declinations_post"
|
|
591
|
+
},
|
|
564
592
|
{
|
|
565
593
|
"method": "POST",
|
|
566
594
|
"path": "/ephemeris/dignities",
|
|
@@ -569,6 +597,22 @@
|
|
|
569
597
|
],
|
|
570
598
|
"operationId": "dignities_ephemeris_dignities_post"
|
|
571
599
|
},
|
|
600
|
+
{
|
|
601
|
+
"method": "POST",
|
|
602
|
+
"path": "/ephemeris/dispositor-tree",
|
|
603
|
+
"tags": [
|
|
604
|
+
"ephemeris"
|
|
605
|
+
],
|
|
606
|
+
"operationId": "calculate_dispositor_tree_ephemeris_dispositor_tree_post"
|
|
607
|
+
},
|
|
608
|
+
{
|
|
609
|
+
"method": "POST",
|
|
610
|
+
"path": "/ephemeris/draconic",
|
|
611
|
+
"tags": [
|
|
612
|
+
"ephemeris"
|
|
613
|
+
],
|
|
614
|
+
"operationId": "calculate_draconic_chart_ephemeris_draconic_post"
|
|
615
|
+
},
|
|
572
616
|
{
|
|
573
617
|
"method": "POST",
|
|
574
618
|
"path": "/ephemeris/fixed-stars",
|
|
@@ -577,6 +621,14 @@
|
|
|
577
621
|
],
|
|
578
622
|
"operationId": "calculate_fixed_stars_ephemeris_fixed_stars_post"
|
|
579
623
|
},
|
|
624
|
+
{
|
|
625
|
+
"method": "POST",
|
|
626
|
+
"path": "/ephemeris/harmonics",
|
|
627
|
+
"tags": [
|
|
628
|
+
"ephemeris"
|
|
629
|
+
],
|
|
630
|
+
"operationId": "calculate_harmonics_ephemeris_harmonics_post"
|
|
631
|
+
},
|
|
580
632
|
{
|
|
581
633
|
"method": "POST",
|
|
582
634
|
"path": "/ephemeris/hermetic-lots",
|
|
@@ -633,6 +685,14 @@
|
|
|
633
685
|
],
|
|
634
686
|
"operationId": "planet_position_ephemeris_planet_position_post"
|
|
635
687
|
},
|
|
688
|
+
{
|
|
689
|
+
"method": "POST",
|
|
690
|
+
"path": "/ephemeris/prenatal-lunation",
|
|
691
|
+
"tags": [
|
|
692
|
+
"ephemeris"
|
|
693
|
+
],
|
|
694
|
+
"operationId": "calculate_prenatal_lunation_ephemeris_prenatal_lunation_post"
|
|
695
|
+
},
|
|
636
696
|
{
|
|
637
697
|
"method": "POST",
|
|
638
698
|
"path": "/ephemeris/progressed",
|
|
@@ -761,6 +821,14 @@
|
|
|
761
821
|
],
|
|
762
822
|
"operationId": "human_design_transit_human_design_transit_post"
|
|
763
823
|
},
|
|
824
|
+
{
|
|
825
|
+
"method": "POST",
|
|
826
|
+
"path": "/predictive/primary-directions",
|
|
827
|
+
"tags": [
|
|
828
|
+
"predictive"
|
|
829
|
+
],
|
|
830
|
+
"operationId": "CalculatePrimaryDirections"
|
|
831
|
+
},
|
|
764
832
|
{
|
|
765
833
|
"method": "POST",
|
|
766
834
|
"path": "/predictive/returns/lunar",
|
|
@@ -785,6 +853,30 @@
|
|
|
785
853
|
],
|
|
786
854
|
"operationId": "calculate_planetary_return_predictive_returns_post"
|
|
787
855
|
},
|
|
856
|
+
{
|
|
857
|
+
"method": "POST",
|
|
858
|
+
"path": "/predictive/time-lords/firdaria",
|
|
859
|
+
"tags": [
|
|
860
|
+
"predictive"
|
|
861
|
+
],
|
|
862
|
+
"operationId": "calculate_firdaria_predictive_time_lords_firdaria_post"
|
|
863
|
+
},
|
|
864
|
+
{
|
|
865
|
+
"method": "POST",
|
|
866
|
+
"path": "/predictive/time-lords/profections",
|
|
867
|
+
"tags": [
|
|
868
|
+
"predictive"
|
|
869
|
+
],
|
|
870
|
+
"operationId": "calculate_profections_predictive_time_lords_profections_post"
|
|
871
|
+
},
|
|
872
|
+
{
|
|
873
|
+
"method": "POST",
|
|
874
|
+
"path": "/predictive/time-lords/zodiacal-releasing",
|
|
875
|
+
"tags": [
|
|
876
|
+
"predictive"
|
|
877
|
+
],
|
|
878
|
+
"operationId": "calculate_zodiacal_releasing_predictive_time_lords_zodiacal_releasing_post"
|
|
879
|
+
},
|
|
788
880
|
{
|
|
789
881
|
"method": "POST",
|
|
790
882
|
"path": "/predictive/transit-chart",
|
|
@@ -889,6 +981,9 @@
|
|
|
889
981
|
"Non-GET allowlisted: POST /predictive/returns/lunar",
|
|
890
982
|
"Non-GET allowlisted: POST /predictive/returns/solar",
|
|
891
983
|
"Non-GET allowlisted: POST /predictive/returns",
|
|
984
|
+
"Non-GET allowlisted: POST /predictive/time-lords/firdaria",
|
|
985
|
+
"Non-GET allowlisted: POST /predictive/time-lords/profections",
|
|
986
|
+
"Non-GET allowlisted: POST /predictive/time-lords/zodiacal-releasing",
|
|
892
987
|
"Non-GET allowlisted: POST /visualization/bi-wheel",
|
|
893
988
|
"Non-GET allowlisted: POST /visualization/chart-wheel"
|
|
894
989
|
]
|
package/package.json
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openephemeris/mcp-server",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.5.0",
|
|
4
4
|
"description": "Model Context Protocol server for the Open Ephemeris astronomical computation API",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"files": [
|
|
8
8
|
"dist",
|
|
9
9
|
"config/dev-allowlist.json",
|
|
10
|
-
"README.md"
|
|
10
|
+
"README.md",
|
|
11
|
+
"CHANGELOG.md",
|
|
12
|
+
"LICENSE"
|
|
11
13
|
],
|
|
12
14
|
"bin": {
|
|
13
15
|
"openephemeris-mcp": "dist/index.js"
|