caelus-mcp 0.2.0 → 0.2.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.
Files changed (2) hide show
  1. package/README.md +80 -0
  2. package/package.json +2 -2
package/README.md ADDED
@@ -0,0 +1,80 @@
1
+ # caelus-mcp
2
+
3
+ MCP server for the [caelus](https://github.com/heavyblotto/caelus) ephemeris
4
+ engine: six chart tools over stdio. Computation only — positions, houses,
5
+ aspects with orbs — the model does the interpreting. No API keys, no
6
+ ephemeris files, no network calls; the engine data ships inside the package.
7
+
8
+ ## Setup
9
+
10
+ Any MCP client that speaks stdio:
11
+
12
+ ```json
13
+ {
14
+ "mcpServers": {
15
+ "caelus": { "command": "npx", "args": ["caelus-mcp"] }
16
+ }
17
+ }
18
+ ```
19
+
20
+ - **Claude Desktop** — `claude_desktop_config.json`
21
+ - **Cursor** — `.cursor/mcp.json` (project) or `~/.cursor/mcp.json` (global)
22
+ - **Anything else** — spawn `npx caelus-mcp` and speak JSON-RPC over stdio
23
+
24
+ ## Tools
25
+
26
+ | tool | what it answers |
27
+ |------|-----------------|
28
+ | `natal_chart` | A person's birth chart: 13 bodies with sign, house, retrograde, speed; ASC/MC; cusps; aspects |
29
+ | `current_sky` | The sky at a moment and place (defaults to now), not tied to a person |
30
+ | `transits` | Transiting planets vs a natal chart: aspects within orb, applying/separating, natal house per body |
31
+ | `synastry` | Two charts compared: inter-chart aspects, house overlays both ways |
32
+ | `find_aspect_dates` | Exact dates a transiting body aspects a longitude or another body, retrograde re-hits included |
33
+ | `rectification_grid` | ASC/MC sweep across a window of hours for birth-time rectification |
34
+
35
+ Bodies: sun through pluto, chiron, mean and true node. House systems:
36
+ placidus (default), whole_sign, equal, porphyry. Placidus falls back to
37
+ whole_sign above the polar circles and says so in the payload.
38
+
39
+ ## Output
40
+
41
+ Token-frugal JSON: terse keys, positions to 0.01°, a full natal chart is
42
+ ~2.5 KB. Each aspect is a structured object the client can use directly:
43
+
44
+ ```json
45
+ { "a": "moon", "b": "venus", "aspect": "trine", "orb": 2.09 }
46
+ ```
47
+
48
+ A `natal_chart` or `current_sky` response feeds
49
+ [caelus-wheel](https://www.npmjs.com/package/caelus-wheel)'s `<ChartWheel>`
50
+ directly — no adapter:
51
+
52
+ ```tsx
53
+ const payload = JSON.parse(result.content[0].text);
54
+ <ChartWheel chart={payload} size={520} />
55
+ ```
56
+
57
+ ## Dates are UT
58
+
59
+ Tools take ISO 8601 UTC date-times. Convert local birth times first — the
60
+ tool descriptions instruct the model to do this, and
61
+ [caelus-birth](https://www.npmjs.com/package/caelus-birth) does it correctly
62
+ in code (historical tzdb rules, DST edge cases flagged). Longitude is
63
+ east-positive everywhere; the Americas are negative.
64
+
65
+ ## Accuracy
66
+
67
+ Checked against Swiss Ephemeris across 1900–2099: Sun–Saturn ≤1″,
68
+ Uranus ≤1.9″, Neptune ≤4.6″, Moon ≤2.5″, Pluto ≤2.5″ (series valid
69
+ 1885–2099), Chiron ≤1″, nodes ≤1″. Tables:
70
+ [ephemengine.com/validation](https://ephemengine.com/validation).
71
+
72
+ ## The caelus packages
73
+
74
+ - [caelus](https://www.npmjs.com/package/caelus) — the engine
75
+ - [caelus-birth](https://www.npmjs.com/package/caelus-birth) — local birth time + place → UT
76
+ - [caelus-wheel](https://www.npmjs.com/package/caelus-wheel) — React SVG chart wheel
77
+ - caelus-mcp — this package
78
+
79
+ Spec and design notes:
80
+ [MCP_SPEC.md](https://github.com/heavyblotto/caelus/blob/main/MCP_SPEC.md).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "caelus-mcp",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "MCP server for caelus chart computation.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -14,7 +14,7 @@
14
14
  "dependencies": {
15
15
  "@modelcontextprotocol/sdk": "^1.12.0",
16
16
  "zod": "^3.24.0",
17
- "caelus": "^0.2.0"
17
+ "caelus": "^0.2.1"
18
18
  },
19
19
  "devDependencies": {
20
20
  "ajv": "^8.17.1"