@openephemeris/mcp-server 3.0.1 → 3.2.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/README.md +32 -22
- package/config/dev-allowlist.json +1319 -1165
- package/dist/backend/client.d.ts +12 -0
- package/dist/backend/client.js +99 -35
- package/dist/index.js +5 -0
- package/dist/schema-packs/llm.d.ts +1 -1
- package/dist/schema-packs/llm.js +1 -1
- package/dist/scripts/dev-allowlist.d.ts +1 -0
- package/dist/scripts/dev-allowlist.js +287 -0
- package/dist/scripts/pack-audit.d.ts +1 -0
- package/dist/scripts/pack-audit.js +45 -0
- package/dist/scripts/schema-packs.d.ts +1 -0
- package/dist/scripts/schema-packs.js +150 -0
- package/dist/scripts/smoke-dev-profile.d.ts +1 -0
- package/dist/scripts/smoke-dev-profile.js +25 -0
- package/dist/scripts/sync-readme.d.ts +1 -0
- package/dist/scripts/sync-readme.js +141 -0
- package/dist/src/auth/credentials.d.ts +65 -0
- package/dist/src/auth/credentials.js +200 -0
- package/dist/src/auth/device-auth.d.ts +56 -0
- package/dist/src/auth/device-auth.js +144 -0
- package/dist/src/backend/client.d.ts +61 -0
- package/dist/src/backend/client.js +335 -0
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.js +92 -0
- package/dist/src/schema-packs/llm.d.ts +105 -0
- package/dist/src/schema-packs/llm.js +429 -0
- package/dist/src/tools/auth.d.ts +1 -0
- package/dist/src/tools/auth.js +202 -0
- package/dist/src/tools/dev.d.ts +1 -0
- package/dist/src/tools/dev.js +187 -0
- package/dist/src/tools/index.d.ts +25 -0
- package/dist/src/tools/index.js +33 -0
- package/dist/src/tools/specialized/eclipse.d.ts +1 -0
- package/dist/src/tools/specialized/eclipse.js +56 -0
- package/dist/src/tools/specialized/electional.d.ts +1 -0
- package/dist/src/tools/specialized/electional.js +79 -0
- package/dist/src/tools/specialized/human_design.d.ts +1 -0
- package/dist/src/tools/specialized/human_design.js +53 -0
- package/dist/src/tools/specialized/moon.d.ts +1 -0
- package/dist/src/tools/specialized/moon.js +50 -0
- package/dist/src/tools/specialized/natal.d.ts +1 -0
- package/dist/src/tools/specialized/natal.js +71 -0
- package/dist/src/tools/specialized/relocation.d.ts +1 -0
- package/dist/src/tools/specialized/relocation.js +71 -0
- package/dist/src/tools/specialized/synastry.d.ts +1 -0
- package/dist/src/tools/specialized/synastry.js +61 -0
- package/dist/src/tools/specialized/transits.d.ts +1 -0
- package/dist/src/tools/specialized/transits.js +80 -0
- package/dist/test/allowlist-and-tools.test.d.ts +1 -0
- package/dist/test/allowlist-and-tools.test.js +96 -0
- package/dist/test/backend-client.test.d.ts +1 -0
- package/dist/test/backend-client.test.js +286 -0
- package/dist/test/credentials.test.d.ts +1 -0
- package/dist/test/credentials.test.js +143 -0
- package/dist/tools/dev.js +7 -3
- package/dist/tools/index.d.ts +7 -0
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@ Model Context Protocol server for OpenEphemeris. This package exposes typed astr
|
|
|
7
7
|
### One-click install (Cursor)
|
|
8
8
|
|
|
9
9
|
<!-- GENERATED:CURSOR_INSTALL:BEGIN -->
|
|
10
|
-
[](cursor://anysphere.cursor-deeplink/mcp/install?name=openephemeris&config=
|
|
10
|
+
[](cursor://anysphere.cursor-deeplink/mcp/install?name=openephemeris&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBvcGVuZXBoZW1lcmlzL21jcC1zZXJ2ZXIiXSwiZW52Ijp7Ik9QRU5FUEhFTUVSSVNfUFJPRklMRSI6ImRldiIsIk9QRU5FUEhFTUVSSVNfQkFDS0VORF9VUkwiOiJodHRwczovL2FwaS5vcGVuZXBoZW1lcmlzLmNvbSIsIk9QRU5FUEhFTUVSSVNfQVBJX0tFWSI6IllPVVJfQVBJX0tFWV9IRVJFIn19)
|
|
11
11
|
|
|
12
12
|
> Replace `YOUR_API_KEY_HERE` in Cursor MCP settings with your API key from https://openephemeris.com/dashboard.
|
|
13
13
|
|
|
@@ -20,9 +20,9 @@ Cursor deeplink payload:
|
|
|
20
20
|
"@openephemeris/mcp-server"
|
|
21
21
|
],
|
|
22
22
|
"env": {
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
23
|
+
"OPENEPHEMERIS_PROFILE": "dev",
|
|
24
|
+
"OPENEPHEMERIS_BACKEND_URL": "https://api.openephemeris.com",
|
|
25
|
+
"OPENEPHEMERIS_API_KEY": "YOUR_API_KEY_HERE"
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
```
|
|
@@ -37,9 +37,9 @@ Cursor deeplink payload:
|
|
|
37
37
|
"command": "npx",
|
|
38
38
|
"args": ["-y", "@openephemeris/mcp-server"],
|
|
39
39
|
"env": {
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
40
|
+
"OPENEPHEMERIS_PROFILE": "dev",
|
|
41
|
+
"OPENEPHEMERIS_BACKEND_URL": "https://api.openephemeris.com",
|
|
42
|
+
"OPENEPHEMERIS_API_KEY": "YOUR_API_KEY_HERE"
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
}
|
|
@@ -48,6 +48,8 @@ Cursor deeplink payload:
|
|
|
48
48
|
|
|
49
49
|
### Platform guide
|
|
50
50
|
|
|
51
|
+
> **Detailed setup walkthroughs** for each platform are in [SETUP.md](./SETUP.md).
|
|
52
|
+
|
|
51
53
|
| Client | Install mode | Config location |
|
|
52
54
|
|---|---|---|
|
|
53
55
|
| Cursor | One-click deeplink or manual | `~/.cursor/mcp.json` |
|
|
@@ -112,15 +114,16 @@ This package runs as a local stdio MCP server. Remote-only clients require a hos
|
|
|
112
114
|
|
|
113
115
|
| Variable | Required | Description |
|
|
114
116
|
|---|---|---|
|
|
115
|
-
| `
|
|
116
|
-
| `
|
|
117
|
-
| `
|
|
118
|
-
| `
|
|
119
|
-
| `
|
|
120
|
-
| `
|
|
117
|
+
| `OPENEPHEMERIS_API_KEY` | Yes (unless service key/JWT used) | API key for OpenEphemeris |
|
|
118
|
+
| `ASTROMCP_API_KEY` | No | Legacy alias for `OPENEPHEMERIS_API_KEY` (checked as fallback) |
|
|
119
|
+
| `OPENEPHEMERIS_BACKEND_URL` | No | Defaults to `https://api.openephemeris.com` |
|
|
120
|
+
| `OPENEPHEMERIS_PROFILE` | No | `dev` by default |
|
|
121
|
+
| `OPENEPHEMERIS_SERVICE_KEY` | No | Internal service auth |
|
|
122
|
+
| `OPENEPHEMERIS_JWT` | No | Bearer token auth |
|
|
123
|
+
| `OPENEPHEMERIS_DEV_ALLOWLIST_PATH` | No | Override allowlist file path |
|
|
121
124
|
| `MCP_USER_ID` | No | Per-instance user identifier |
|
|
122
125
|
|
|
123
|
-
Legacy aliases (`MERIDIAN_*`) remain supported.
|
|
126
|
+
Legacy aliases (`ASTROMCP_*`, `MERIDIAN_*`) remain supported.
|
|
124
127
|
|
|
125
128
|
## Development
|
|
126
129
|
|
|
@@ -161,24 +164,31 @@ OpenEphemeris API
|
|
|
161
164
|
|
|
162
165
|
Generated by `npm run sync:readme` from `config/dev-allowlist.json` and the live tool registry.
|
|
163
166
|
|
|
164
|
-
- Allowlisted operations: **
|
|
165
|
-
- Methods: `GET=
|
|
166
|
-
- Registered tools (`
|
|
167
|
-
- Typed tools: `ephemeris.electional`, `ephemeris.moon_phase`, `ephemeris.natal_chart`, `ephemeris.next_eclipse`, `ephemeris.relocation`, `ephemeris.synastry`, `ephemeris.transits`, `human_design.chart`
|
|
167
|
+
- Allowlisted operations: **97**
|
|
168
|
+
- Methods: `GET=41`, `POST=56`, `PUT=0`, `PATCH=0`, `DELETE=0`
|
|
169
|
+
- Registered tools (`OPENEPHEMERIS_PROFILE=dev`): **13**
|
|
170
|
+
- Typed tools: `auth.login`, `auth.logout`, `auth.status`, `ephemeris.electional`, `ephemeris.moon_phase`, `ephemeris.natal_chart`, `ephemeris.next_eclipse`, `ephemeris.relocation`, `ephemeris.synastry`, `ephemeris.transits`, `human_design.chart`
|
|
168
171
|
- Generic tools: `dev.call`, `dev.list_allowed`
|
|
169
172
|
|
|
170
173
|
### Allowlist Families
|
|
171
174
|
|
|
172
175
|
| Family | Operations | Example |
|
|
173
176
|
|---|---:|---|
|
|
174
|
-
| `acg` |
|
|
177
|
+
| `acg` | 12 | `POST /acg/aspects`, `POST /acg/ccg` |
|
|
178
|
+
| `calendar` | 3 | `GET /calendar/astrology/cross-quarter`, `GET /calendar/astrology/lunar-standstill` |
|
|
175
179
|
| `catalogs` | 3 | `GET /catalogs/bodies`, `GET /catalogs/fixed-stars` |
|
|
176
|
-
| `
|
|
180
|
+
| `chinese` | 2 | `POST /chinese/bazi`, `GET /chinese/zodiac` |
|
|
181
|
+
| `comparative` | 5 | `POST /comparative/composite`, `POST /comparative/composite/midpoint` |
|
|
182
|
+
| `eclipse` | 5 | `GET /eclipse/besselian-elements`, `GET /eclipse/lunar/global` |
|
|
177
183
|
| `electional` | 5 | `GET /electional/aspect-search`, `GET /electional/find-window` |
|
|
178
|
-
| `ephemeris` |
|
|
184
|
+
| `ephemeris` | 33 | `GET /ephemeris/agro/calendar`, `GET /ephemeris/agro/daily` |
|
|
179
185
|
| `health` | 1 | `GET /health` |
|
|
180
|
-
| `human-design` |
|
|
186
|
+
| `human-design` | 5 | `POST /human-design/chart`, `POST /human-design/composite` |
|
|
181
187
|
| `location` | 2 | `GET /location/autocomplete`, `GET /location/reverse` |
|
|
182
188
|
| `predictive` | 8 | `POST /predictive/events`, `POST /predictive/returns` |
|
|
189
|
+
| `tidal` | 2 | `GET /tidal/forcing`, `GET /tidal/forcing/deep-time` |
|
|
190
|
+
| `time` | 6 | `GET /time/delta-t`, `GET /time/equation-of-time` |
|
|
183
191
|
| `timezone` | 2 | `POST /timezone/lookup`, `POST /timezone/offset` |
|
|
192
|
+
| `vedic` | 1 | `POST /vedic/chart` |
|
|
193
|
+
| `visualization` | 2 | `POST /visualization/bi-wheel`, `POST /visualization/chart-wheel` |
|
|
184
194
|
<!-- GENERATED:RUNTIME_SNAPSHOT:END -->
|