io.github.stardustxx/kairos
NPM · KAIROS-ASTROLOGY · SCANNED SEP 25
Astrology decision support: accurate Swiss Ephemeris charts with calibrated classical verdicts.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security98
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 32 of 101 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency19
- Repository check failed: no source repository is declared. See how to fix → View diagnostics → Fail
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (AGPL-3.0-or-later).Pass
- Actively maintained (last published 106 days ago).Pass
- Security-disclosure policy not yet verified: we couldn't inspect the source repository.Unverified
Schema Quality & AI Usability70
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 2205 tokens (~147/item across 15 items; 15 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage95
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 85% of tool parameters carry a description.Partial
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 15 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 16 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the io.github.stardustxx/kairos MCP server?
io.github.stardustxx/kairos runs locally as an npm package, launched with npx -y kairos-astrology. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · kairos-astrology
claude mcp add stardustxx-kairos -- npx -y kairos-astrology
{
"mcpServers": {
"stardustxx-kairos": {
"command": "npx",
"args": [
"-y",
"kairos-astrology"
]
}
}
} {
"servers": {
"stardustxx-kairos": {
"command": "npx",
"args": [
"-y",
"kairos-astrology"
]
}
}
} codex mcp add stardustxx-kairos -- npx -y kairos-astrology
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"stardustxx-kairos": {
"type": "local",
"command": [
"npx",
"-y",
"kairos-astrology"
],
"enabled": true
}
}
} openclaw mcp add stardustxx-kairos --command npx --arg -y --arg kairos-astrology
mcp_servers:
stardustxx-kairos:
command: "npx"
args: ["-y", "kairos-astrology"] {
"McpServers": {
"stardustxx-kairos": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"kairos-astrology"
]
}
}
} assistant mcp add stardustxx-kairos -t stdio -c npx -a -y kairos-astrology
{
"mcpServers": {
"stardustxx-kairos": {
"command": "npx",
"args": [
"-y",
"kairos-astrology"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 25 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 24 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
- 21 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 19 Sept 26 −2
- Stability: pass → 0.80 functional
- 18 Sept 26 0
- Stability: 0.97 → pass security
- 17 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
- 14 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 13 Sept 26 −2
- Stability: pass → 0.83 functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 25 Sept 2026 · Analysed npm/kairos-astrology@1.1.0
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | npm |
Background: How many MCP packages publish verified provenance →
Dependencies 101 packages
| Packages resolved | 101 |
|---|---|
| Stale | 32 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
compute Compute a chart judgment ~404
The core tool. Validates a ComputeRequest (kind plus the per-kind fields) and runs the engine, returning the full ComputeResult: a horary judgment, transit aspects + annual profection, a natal/electional chart, optional relocation, and (when `journal` is supplied) the auto-logged entry id.
| Name | Type | Req | Description |
|---|---|---|---|
| journal | object | – | Optional auto-logging: when present, the compute appends a journal entry (the engine-derived fields plus this question) and returns the new entry id. |
| kind | string | yes | Chart kind. Drives which other fields are required. |
| location | object | – | Required for "electional": the place to cast each candidate chart for. |
| moment | object | – | The chart's own moment. Required for natal/transit/horary; for "transit" use now. |
| natal | object | – | Required only for kind "transit": the natal chart. |
| querentHouse | integer | – | Horary only. Radix house (1..12) the QUERENT's significator is read from (default 1, the asker). Set to TURN THE CHART for a third-party question: the querent house becomes the radix house of the per… |
| quesitedHouse | integer | – | House of the matter (2..12). Required for horary; reused by electional. |
| relocation | object | – | Optional: recast the chart's houses/angles for another place (same moment). |
| significatorHints | object | – | Optional for "electional": steer significator choice/weighting. |
| stepMinutes | number | – | Required for "electional": scan interval in minutes (e.g. 15). |
| window | object | – | Required for "electional": local-time window to scan (ISO without offset). |
No output schema declared.
No examples provided.
electional Electional search (convenience) ~126
Convenience wrapper over compute for an electional search: scans a local-time window at a step interval for the best moments to act on a matter (quesitedHouse), returning the top candidates and the #1 chart.
| Name | Type | Req | Description |
|---|---|---|---|
| location | object | yes | The place to cast each candidate chart for. |
| quesitedHouse | integer | yes | House of the matter (2..12). |
| significatorHints | object | – | – |
| stepMinutes | number | yes | Scan interval in minutes (e.g. 15). |
| window | object | yes | Local-time window to scan (ISO without offset). |
No output schema declared.
No examples provided.
geocode Resolve a city to coordinates ~96
Look up a city name in the cached offline GeoNames gazetteer, returning authoritative lat/lon + IANA timezone (most populous first). Errors with an install hint if the gazetteer is absent (use the geocode_install tool, with user consent).
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Max matches to return (default 5). |
| query | string | yes | City name, e.g. "Tokyo" or "San Francisco". |
No output schema declared.
No examples provided.
geocode_install Install the offline geocoding gazetteer ~182
One-time setup for the geocode tool: downloads the GeoNames cities15000 gazetteer (a single ~3 MB network fetch from geonames.org, ~8 MB on disk once extracted) into local storage under KAIROS_HOME. This is the only network download Kairos ever performs and it must stay strictly user-initiated: ASK THE USER FOR EXPLICIT CONSENT before calling ("download the offline city database — ~3 MB, one time?") and only call on a clear yes. Idempotent and safe to call when unsure — if the gazetteer is already installed it performs no network access and returns { installed: true, alreadyInstalled: true, path, cities }; a fresh download returns the same shape with alreadyInstalled: false.
| Name | Type | Req | Description |
|---|---|---|---|
| force | boolean | – | Re-download even when already installed (still requires user consent). |
No output schema declared.
No examples provided.
horary Horary judgment (convenience) ~132
Convenience wrapper over compute for a horary question: builds the request from a moment + quesitedHouse and returns the judgment (lean, confidence, perfection picture, timing).
| Name | Type | Req | Description |
|---|---|---|---|
| journal | object | – | – |
| moment | object | yes | The moment the question was asked (with place). |
| querentHouse | integer | – | Radix house (1..12) the querent's significator is read from (default 1). Set to turn the chart for a third-party question. |
| quesitedHouse | integer | yes | House of the matter asked about (2..12). |
| relocation | object | – | – |
No output schema declared.
No examples provided.
memory_calibration Self-reported calibration ~46
Report Kairos's hit-rate by confidence band over resolved, directional readings — a personal pattern, not proof.
| Name | Type | Req | Description |
|---|---|---|---|
| profile | string | – | Profile slug (default: the active one). |
No output schema declared.
No examples provided.
memory_calibration_card Shareable calibration track-record card ~130
Render Kairos's calibration as a clean, HONEST, shareable card — Markdown (default) or a self-contained SVG badge. Always surfaces the sample size (n resolved) and the small-sample caveat so a tiny streak is never presented as proof; when nothing has resolved yet it renders an explicit 'no outcomes yet' state instead of a misleading 100%/0%. Returns the rendered card as plain text.
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | – | Card format: "markdown" (default) or "svg". |
| profile | string | – | Profile slug (default: the active one). |
No output schema declared.
No examples provided.
memory_due Readings ripe to resolve ~52
List logged-but-unresolved readings that are now ripe to ask about (most-ripe first), so Kairos can follow up on past questions.
| Name | Type | Req | Description |
|---|---|---|---|
| profile | string | – | Profile slug (default: the active one). |
No output schema declared.
No examples provided.
memory_log Log a reading to the journal ~187
Append a reading to the local append-only journal and return its id. Note: passing `journal` to the compute tool is the PREFERRED path — it captures the engine-derived lean/confidence/score itself so the track record can't drift. Use this only to log a reading computed elsewhere.
| Name | Type | Req | Description |
|---|---|---|---|
| confidence | string | – | – |
| expectedResolutionAt | string | – | When this reading is expected resolvable (the "ask me later" date, ISO-8601). |
| kind | string | yes | The chart kind this reading used. |
| lean | string | – | – |
| profile | string | – | Profile slug to log against (default: the active one). |
| quesitedHouse | integer | – | – |
| question | string | yes | The user's question, recorded verbatim. |
| score | number | – | – |
| verdictText | string | – | The plain-language verdict given at log time. |
No output schema declared.
No examples provided.
memory_outcome Record how a reading turned out ~81
Record the outcome of a previously logged reading by id (happened / did-not-happen / partial / unknown), feeding the calibration track record.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | The journal entry id returned by memory_log or compute. |
| note | string | – | Optional note on what actually happened. |
| outcome | string | yes | How the matter actually resolved. |
No output schema declared.
No examples provided.
natal Natal chart (convenience) ~58
Convenience wrapper over compute for a natal chart: casts the chart for a single birth moment + place (planets, houses, aspects, dignities, lots).
| Name | Type | Req | Description |
|---|---|---|---|
| moment | object | yes | The birth moment + place. |
| relocation | object | – | – |
No output schema declared.
No examples provided.
profile_get Get the remembered profile ~49
Return the stored profile (birth + home places) for the active profile, or a named one. Null when nothing is saved.
| Name | Type | Req | Description |
|---|---|---|---|
| profile | string | – | Profile slug (default: the active one). |
No output schema declared.
No examples provided.
profile_set Update the remembered profile ~73
Deep-merge a patch over the profile (birth/home merged field-wise) and return the merged profile. Stored LOCALLY only under KAIROS_HOME — birth data never leaves the machine.
| Name | Type | Req | Description |
|---|---|---|---|
| patch | object | yes | Partial profile to merge in. |
| profile | string | – | Profile slug (default: the active one). |
No output schema declared.
No examples provided.
render_wheel Render a chart wheel to an openable HTML file ~442
Takes the SAME request as compute (a ComputeRequest), runs the engine, and writes ONE self-contained chart wheel as an openable .html file (web assets + the ComputeResult inlined, no network needed). Returns { path, note } with the artifact's absolute path for the user to open in a browser. The visual verdict panel covers horary/electional; transit/natal render the wheel without one. Errors when the request produces no chart (e.g. an electional with no candidates).
| Name | Type | Req | Description |
|---|---|---|---|
| journal | object | – | Optional auto-logging: when present, the compute appends a journal entry (the engine-derived fields plus this question) and returns the new entry id. |
| kind | string | yes | Chart kind. Drives which other fields are required. |
| location | object | – | Required for "electional": the place to cast each candidate chart for. |
| moment | object | – | The chart's own moment. Required for natal/transit/horary; for "transit" use now. |
| natal | object | – | Required only for kind "transit": the natal chart. |
| querentHouse | integer | – | Horary only. Radix house (1..12) the QUERENT's significator is read from (default 1, the asker). Set to TURN THE CHART for a third-party question: the querent house becomes the radix house of the per… |
| quesitedHouse | integer | – | House of the matter (2..12). Required for horary; reused by electional. |
| relocation | object | – | Optional: recast the chart's houses/angles for another place (same moment). |
| significatorHints | object | – | Optional for "electional": steer significator choice/weighting. |
| stepMinutes | number | – | Required for "electional": scan interval in minutes (e.g. 15). |
| window | object | – | Required for "electional": local-time window to scan (ISO without offset). |
No output schema declared.
No examples provided.
transit Transit + profection (convenience) ~78
Convenience wrapper over compute for a transit reading: compares a transit `moment` against a `natal` chart and returns transit aspects plus the annual profection (lord of the year).
| Name | Type | Req | Description |
|---|---|---|---|
| moment | object | yes | The transit moment (typically "now"). |
| natal | object | yes | The natal chart to compare against. |
| relocation | object | – | – |
No output schema declared.
No examples provided.
What is the io.github.stardustxx/kairos MCP server?
io.github.stardustxx/kairos is an MCP server listed in the public MCP registry as io.github.stardustxx/kairos. Astrology decision support: accurate Swiss Ephemeris charts with calibrated classical verdicts. This page covers its npm package (kairos-astrology).
Is the io.github.stardustxx/kairos MCP server safe to use?
io.github.stardustxx/kairos scores 77 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 25 September 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.github.stardustxx/kairos MCP server expose?
io.github.stardustxx/kairos exposes 15 tools: compute, render_wheel, horary, transit, natal, and 10 more. Their descriptions and schemas cost roughly 2,136 tokens of context every time the server is loaded.
Is the io.github.stardustxx/kairos MCP server still maintained?
io.github.stardustxx/kairos is still listed as active in the MCP registry. We last reached this channel on 25 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the io.github.stardustxx/kairos MCP server under?
io.github.stardustxx/kairos declares the AGPL-3.0-or-later licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.