@openephemeris/mcp-server 3.4.2 → 3.5.1
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 +14 -0
- package/README.md +58 -11
- package/config/dev-allowlist.json +105 -2
- package/dist/tools/index.js +0 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,8 +7,22 @@ Version numbering follows [Semantic Versioning](https://semver.org/).
|
|
|
7
7
|
|
|
8
8
|
---
|
|
9
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
|
+
|
|
10
23
|
## [3.4.1] — 2026-03-25
|
|
11
24
|
|
|
25
|
+
|
|
12
26
|
### Fixed
|
|
13
27
|
- Chiron position fallback for edge-date calculations now uses full Swiss Ephemeris path instead of simplified approximation
|
|
14
28
|
- SSE server chart wheel responses now correctly deliver native MCP image blocks instead of raw base64 JSON
|
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
|
|
@@ -84,12 +86,57 @@ This package runs as a local stdio MCP server. Remote-only clients require a hos
|
|
|
84
86
|
|
|
85
87
|
## What You Can Ask
|
|
86
88
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
89
|
+
```
|
|
90
|
+
"Calculate a natal chart for 1990-04-15 at 2:30 PM in Chicago."
|
|
91
|
+
"Find all Saturn transits to my natal Sun in the next 6 months."
|
|
92
|
+
"Get the current moon phase and void-of-course status."
|
|
93
|
+
"Find the next solar eclipse visible from Tokyo."
|
|
94
|
+
"Find the best time to sign a contract in March — electional window."
|
|
95
|
+
"Generate a Human Design chart for my birth data."
|
|
96
|
+
"What is my Vedic (sidereal) chart?"
|
|
97
|
+
"Calculate my Chinese BaZi (Four Pillars) chart."
|
|
98
|
+
"Show me my Astrocartography power lines — where is my Venus line on the map?"
|
|
99
|
+
"Find all ACG lines within 3° of Paris for my chart."
|
|
100
|
+
"Calculate a synastry chart between two people."
|
|
101
|
+
"Find the next Venus Star Point and my relationship to it."
|
|
102
|
+
"What are the active planetary stations in the next 3 months?"
|
|
103
|
+
"Calculate primary directions for the next 5 years."
|
|
104
|
+
"Find my Firdaria time lord period."
|
|
105
|
+
"What is the sidereal time and delta-T right now?"
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## Tools at a Glance
|
|
109
|
+
|
|
110
|
+
| Category | Tool | Tier |
|
|
111
|
+
|---|---|---|
|
|
112
|
+
| Natal chart | `ephemeris_natal_chart` | Explorer |
|
|
113
|
+
| Transit forecast | `ephemeris_transits` | Personal |
|
|
114
|
+
| Transit chart snapshot | `ephemeris_natal_transits` | Personal |
|
|
115
|
+
| Moon phase / VOC | `ephemeris_moon_phase` | Explorer |
|
|
116
|
+
| Eclipse next visible | `ephemeris_next_eclipse` | Explorer |
|
|
117
|
+
| Electional window | `ephemeris_electional` | Developer |
|
|
118
|
+
| Moment analysis | `electional_moment_analysis` | Developer |
|
|
119
|
+
| Station tracker | `electional_station_tracker` | Developer |
|
|
120
|
+
| Aspect search | `electional_aspect_search` | Developer |
|
|
121
|
+
| Human Design chart | `human_design_chart` | Explorer |
|
|
122
|
+
| HD composite | `human_design_composite` | Explorer |
|
|
123
|
+
| HD penta | `human_design_penta` | Explorer |
|
|
124
|
+
| HD return / opposition | `hd_planetary_return`, `hd_opposition` | Explorer |
|
|
125
|
+
| Vedic chart | `vedic_chart` | Explorer |
|
|
126
|
+
| BaZi (Chinese) | `chinese_bazi` | Explorer |
|
|
127
|
+
| Synastry | `ephemeris_synastry` | Developer |
|
|
128
|
+
| Composite chart | `ephemeris_composite` | Developer |
|
|
129
|
+
| Relocation chart | `ephemeris_relocation` | Developer |
|
|
130
|
+
| Progressed chart | `ephemeris_progressed_chart` | Explorer |
|
|
131
|
+
| Solar return | `ephemeris_solar_return` | Developer |
|
|
132
|
+
| Lunar return | `ephemeris_lunar_return` | Developer |
|
|
133
|
+
| Planetary return | `ephemeris_planetary_return` | Developer |
|
|
134
|
+
| Astrocartography lines | `acg_power_lines` | Developer |
|
|
135
|
+
| ACG hits at location | `acg_hits` | Scale |
|
|
136
|
+
| Venus Star Points | `venus_star_points` + 4 more | Explorer |
|
|
137
|
+
| Chart wheel image | `ephemeris_chart_wheel` | Developer |
|
|
138
|
+
| Bi-wheel image | `ephemeris_bi_wheel` | Developer |
|
|
139
|
+
| Dignities / Midpoints / Fixed stars | `ephemeris_dignities`, `ephemeris_midpoints`, `ephemeris_fixed_stars` | Explorer |
|
|
93
140
|
|
|
94
141
|
## Tooling Model
|
|
95
142
|
|
|
@@ -177,10 +224,10 @@ OpenEphemeris API
|
|
|
177
224
|
|
|
178
225
|
Generated by `npm run sync:readme` from `config/dev-allowlist.json` and the live tool registry.
|
|
179
226
|
|
|
180
|
-
- Allowlisted operations: **
|
|
181
|
-
- Methods: `GET=4`, `POST=
|
|
182
|
-
- Registered tools (`OPENEPHEMERIS_PROFILE=dev`): **
|
|
183
|
-
- Typed tools: `
|
|
227
|
+
- Allowlisted operations: **20**
|
|
228
|
+
- Methods: `GET=4`, `POST=16`, `PUT=0`, `PATCH=0`, `DELETE=0`
|
|
229
|
+
- Registered tools (`OPENEPHEMERIS_PROFILE=dev`): **48**
|
|
230
|
+
- Typed tools: `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
231
|
- Generic tools:
|
|
185
232
|
|
|
186
233
|
### Allowlist Families
|
|
@@ -191,7 +238,7 @@ Generated by `npm run sync:readme` from `config/dev-allowlist.json` and the live
|
|
|
191
238
|
| `comparative` | 5 | `POST /comparative/composite`, `POST /comparative/composite/midpoint` |
|
|
192
239
|
| `electional` | 4 | `GET /electional/aspect-search`, `GET /electional/find-window` |
|
|
193
240
|
| `ephemeris` | 1 | `POST /ephemeris/relocation` |
|
|
194
|
-
| `predictive` |
|
|
241
|
+
| `predictive` | 6 | `POST /predictive/returns`, `POST /predictive/returns/lunar` |
|
|
195
242
|
| `visualization` | 2 | `POST /visualization/bi-wheel`, `POST /visualization/chart-wheel` |
|
|
196
243
|
<!-- GENERATED:RUNTIME_SNAPSHOT:END -->
|
|
197
244
|
|
|
@@ -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-29T02:31:11.230Z",
|
|
100
|
+
"openapi_sha256": "c92376455af5f33481fd676a126d9b9436b30d5dd0c681d33258cf74a19ba18b",
|
|
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,22 @@
|
|
|
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
|
+
},
|
|
632
|
+
{
|
|
633
|
+
"method": "POST",
|
|
634
|
+
"path": "/ephemeris/heatmap/score",
|
|
635
|
+
"tags": [
|
|
636
|
+
"Ephemeris"
|
|
637
|
+
],
|
|
638
|
+
"operationId": "HeatmapScoreEphemerisHeatmapScorePost"
|
|
639
|
+
},
|
|
580
640
|
{
|
|
581
641
|
"method": "POST",
|
|
582
642
|
"path": "/ephemeris/hermetic-lots",
|
|
@@ -633,6 +693,14 @@
|
|
|
633
693
|
],
|
|
634
694
|
"operationId": "planet_position_ephemeris_planet_position_post"
|
|
635
695
|
},
|
|
696
|
+
{
|
|
697
|
+
"method": "POST",
|
|
698
|
+
"path": "/ephemeris/prenatal-lunation",
|
|
699
|
+
"tags": [
|
|
700
|
+
"ephemeris"
|
|
701
|
+
],
|
|
702
|
+
"operationId": "calculate_prenatal_lunation_ephemeris_prenatal_lunation_post"
|
|
703
|
+
},
|
|
636
704
|
{
|
|
637
705
|
"method": "POST",
|
|
638
706
|
"path": "/ephemeris/progressed",
|
|
@@ -761,6 +829,14 @@
|
|
|
761
829
|
],
|
|
762
830
|
"operationId": "human_design_transit_human_design_transit_post"
|
|
763
831
|
},
|
|
832
|
+
{
|
|
833
|
+
"method": "POST",
|
|
834
|
+
"path": "/predictive/primary-directions",
|
|
835
|
+
"tags": [
|
|
836
|
+
"predictive"
|
|
837
|
+
],
|
|
838
|
+
"operationId": "CalculatePrimaryDirections"
|
|
839
|
+
},
|
|
764
840
|
{
|
|
765
841
|
"method": "POST",
|
|
766
842
|
"path": "/predictive/returns/lunar",
|
|
@@ -785,6 +861,30 @@
|
|
|
785
861
|
],
|
|
786
862
|
"operationId": "calculate_planetary_return_predictive_returns_post"
|
|
787
863
|
},
|
|
864
|
+
{
|
|
865
|
+
"method": "POST",
|
|
866
|
+
"path": "/predictive/time-lords/firdaria",
|
|
867
|
+
"tags": [
|
|
868
|
+
"predictive"
|
|
869
|
+
],
|
|
870
|
+
"operationId": "calculate_firdaria_predictive_time_lords_firdaria_post"
|
|
871
|
+
},
|
|
872
|
+
{
|
|
873
|
+
"method": "POST",
|
|
874
|
+
"path": "/predictive/time-lords/profections",
|
|
875
|
+
"tags": [
|
|
876
|
+
"predictive"
|
|
877
|
+
],
|
|
878
|
+
"operationId": "calculate_profections_predictive_time_lords_profections_post"
|
|
879
|
+
},
|
|
880
|
+
{
|
|
881
|
+
"method": "POST",
|
|
882
|
+
"path": "/predictive/time-lords/zodiacal-releasing",
|
|
883
|
+
"tags": [
|
|
884
|
+
"predictive"
|
|
885
|
+
],
|
|
886
|
+
"operationId": "calculate_zodiacal_releasing_predictive_time_lords_zodiacal_releasing_post"
|
|
887
|
+
},
|
|
788
888
|
{
|
|
789
889
|
"method": "POST",
|
|
790
890
|
"path": "/predictive/transit-chart",
|
|
@@ -889,6 +989,9 @@
|
|
|
889
989
|
"Non-GET allowlisted: POST /predictive/returns/lunar",
|
|
890
990
|
"Non-GET allowlisted: POST /predictive/returns/solar",
|
|
891
991
|
"Non-GET allowlisted: POST /predictive/returns",
|
|
992
|
+
"Non-GET allowlisted: POST /predictive/time-lords/firdaria",
|
|
993
|
+
"Non-GET allowlisted: POST /predictive/time-lords/profections",
|
|
994
|
+
"Non-GET allowlisted: POST /predictive/time-lords/zodiacal-releasing",
|
|
892
995
|
"Non-GET allowlisted: POST /visualization/bi-wheel",
|
|
893
996
|
"Non-GET allowlisted: POST /visualization/chart-wheel"
|
|
894
997
|
]
|
package/dist/tools/index.js
CHANGED
|
@@ -36,7 +36,6 @@ export async function initTools(profile) {
|
|
|
36
36
|
await import("./specialized/returns.js");
|
|
37
37
|
await import("./specialized/progressed.js");
|
|
38
38
|
await import("./specialized/ephemeris_core.js");
|
|
39
|
-
await import("./specialized/acg.js");
|
|
40
39
|
await import("./specialized/comparative.js");
|
|
41
40
|
await import("./specialized/hd_group.js");
|
|
42
41
|
await import("./specialized/hd_cycles.js");
|