The first algorithm on Ulysses: unsupervised structural change detection, real-time, on a CPU.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
Ulysses is an algorithmic primitive for computing the complete pairwise structure of a system β every variable against every other, all at once β unsupervised, real-time, on a CPU.
Kirk is the first algorithm on Ulysses. It signals the moment structure breaks.
Borg is the second algorithm on Ulysses. Radio-frequency spectrum anomaly detection.
This repository is the public documentation and configuration surface for the hosted kirk-mcp MCP server at kirk-mcp.kavara.ai β where Kirk is exposed as a set of MCP tools for validation and discovery use cases.
The Kalman filter for the non-Gaussian, non-stationary world.
The Kalman filter is a special case: linear, Gaussian. Ulysses closes the full-joint intractability that stopped the Boltzmann-machine family, in polynomial time, and Kirk applies that primitive to non-stationary streams. Not a foundation model β the Kalman filter's category, not GPT's. The IP is the math.
Add this to your MCP client's config:
First 100 inference units are free per new account. Contact sales@kavara.ai for service token provisioning.
For per-client configuration templates see examples/.
Almost all of AI is supervised: predict a target Y from inputs X. It's powerful, but it needs a target β someone has to define and label Y β and it only sees the slice you framed, not the structure you didn't think to ask about.
What actually drives market regimes, trips alarms, and breaks systems lives in how all the variables relate to each other β the joint structure of the whole system. That structure is unlabeled, it shifts over time, and "Y given X" is blind to it.
Kirk answers the question nobody's model is answering:
"Is the structure of this system still normal β and if not, where did it break?"
Kirk maintains a continuously-updated model of what "normal" looks like across every-pairwise interaction. Read any relationship straight off it, including the classic Y-given-X. When structure breaks, Kirk fires. When it holds, Kirk sits flat.
Additive, not substitutive. Keep your models β Kirk aims them. An attention layer that tells the rest of your stack where to look.
Keeping the exact full joint costs O(2βΏ) β intractable beyond toy sizes. The classical world restricts the graph or samples and hopes. Ulysses computes the exact full joint in a deterministic O(nΒ³) per sample, paid once per incoming sample, independent of history length.
| n | Ulysses β nΒ³ / sample | Boltzmann (exact) β 2βΏ |
|---|---|---|
| 30 | 27,000 | 1,073,741,824 |
| 64 | 262,144 | 18,400,000,000,000,000,000 |
| 100 | 1,000,000 | 1.3 Γ 10Β³β° |
At n=100: a million ops vs more terms than atoms in the room. Polynomial means it runs anywhere.
Measured on the production engine β one dual-socket Xeon box, 192 cores, no GPU:
Kirk exposes six capability classes. Three are directly accessible via this MCP endpoint:
Three more capabilities live in the in-process wheel license (Path B) β not exposed via MCP today:
Contact sales@kavara.ai for wheel access if C1/C3/C4 apply to your workload.
Kirk reproduced a proprietary FY24 US equities top-512 dynamic-universe evaluation harness β bit-exact against the customer-published golden β across 252 trading days.
| Anchor | Customer golden | Kirk-reproduced | Delta | Status |
|---|---|---|---|---|
| 2024-01-02 single-day mean_H | 3.3636 | 3.363630 | +2.97 Γ 10β»β΅ | Match |
| 2024-01-03 single-day mean_H | 3.2881 | 3.288437 | +3.37 Γ 10β»β΄ | Match |
| 95-day aggregate mean_H | 3.3308 | 3.330077 | β7.23 Γ 10β»β΄ | Match |
| Full FY24 (252 days) | β | 3.339602 | β | New baseline |
Delta magnitudes are ~33Γ tighter than the customer's published tolerance. Wall clock: 39 minutes single Python process, in-process, $0 marginal cost. Determinism verified: 252-day sweep run twice, byte-identical output. Substrate check: engine sha bit-identical across Intel SPR + Intel GNR-AP + AMD Genoa.
Independent third-party validation on RF anomaly detection: comparable detection to a supervised CNN that trained on the anomaly class β Kirk never saw an anomaly. 24β1,364Γ cheaper, ~32 KB of state, fully online.
Fetch the full FY24 case study machine-readably via the kirk://case-studies/fy24-us-equities-reproduction MCP resource on this server.
Kirk in-process throughput on production Granite Rapids silicon (2Γ Xeon 6972P, one pinned core, warm engine): 823 ΞΌs/book / 1,215 books-per-second/core, bit-identical against the Sapphire Rapids reference fleet. Full-box extrapolation on the 2Γ192-core node: ~237,000 IU/second. Benchmark workload is synthetic 20Γ20 complex128 books β same per-call compute shape as thermometer-rendered market data, so the figure carries to production. MCP API adds millisecond-scale round-trip and is a validation and discovery surface, not a latency-critical production path.
Production speed lives in-process. Four delivery paths:
pip install kirk_cascade + kirk_rs_edge. In-process, unmetered per-call, deterministic against sealed sha.Scoring core
kirk_score_book(bid_px, ask_px, model_id) β Score one L2 order-book snapshot. Returns scalar signal + engine attestation. Surfaces C2.kirk_score_book_batch(books, model_id) β Batch scoring, up to 500 books per call. For larger workloads, call kirk_bulk_howto first.kirk_score_random(n, model_id) β Convenience wrapper: synthesize N realistic-geometry L2 books and score them.kirk_infer_legacy(features, model_id) β Backwards-compatible scoring on a 50-value feature vector.Discovery / attestation
kirk_list_models() β Enumerate available model_ids with the engine sha stamped in the response. Surfaces C5.kirk_healthz() β Ping the sealed backend, confirm engine identity, return sha256 of the running scoring binary.Cost steering
kirk_bulk_howto() β Returns a self-contained stdlib Python client (~500 LOC) that runs at zero LLM-token cost per iteration. Call this before any bulk workload (>500 books, whole-day sweeps). Running kirk_score_book in a tool-call loop from your LLM burns tokens per call; the Python client runs locally.Utility / research
kirk_render_book(book) β Render an L2 snapshot into the 20Γ20 complex128 thermometer tensor WITHOUT invoking the sealed engine. Useful for local pre-processing.kirk_sweep_test1_day(day, override) β Score one day of the internal Test-1 QQQ L2 corpus at a caller-supplied override. Research-grade endpoint.Billing / platform
kirk_billing_show() β Return account balance, IU remaining, USD equivalent at list, frozen flag, recent ledger.kirk_billing_checkout(pack) β Stripe Checkout URL for buying credit packs (starter / scale / enterprise).kirk_billing_usage(days) β Historical inference consumption over N days.kirk://case-studies/fy24-us-equities-reproduction β The FY24 case study (machine-readable markdown, no auth required)Use Kirk when the ML workload matches any of:
Do NOT use this MCP endpoint when the workload matches:
kirk_billing_checkout from your agent to get a Stripe Checkout URL._cost envelope with per-call IU, session accumulation, and remaining balance.kirk_bulk_howto β which returns a Python client that runs at zero LLM-token cost per iteration.Direct Python-client calls (via kirk_bulk_howto) are metered identically to MCP calls but incur no LLM token cost β a customer running 60,000 book scores via the Python client pays only for compute, not for orchestration.
Every scoring response includes an engine_sha header stamped by the sealed binary itself. To verify the endpoint is running the exact sealed release Kavara published:
Cross-check the returned sha against Kavara's published manifest.
Sealed engine sha at time of writing: f3c548477d3b5c7612ef1863b06293d3a922c57926738426bc75ab64720de5ec
Physical AI's bottleneck isn't semantics β vision-language-action foundation models cover perception and planning. The gap is the continuous-signal substrate: coupled sensor channels, non-stationary, real-time, unlabeled, constrained hardware. That is the layer Ulysses fills, and Kirk is the first algorithm shipping on it.
Verticals validated today:
Additive: keep your models β Kirk aims them.
Kavara ships the Ulysses primitive and the Kirk and Borg algorithms through four channels: hosted MCP API (this endpoint), sealed Python wheel license, OpenShift Operator, and AWS Nitro Enclave AMI. All four channels serve byte-identical output from the same cryptographically-attested binary.
https://kavara.aisales@kavara.aisales@kavara.aiThe MCP interface documentation and configuration templates in this repository are released under Apache License 2.0. See LICENSE.
The sealed engine (kirk_rs_edge, kirk_py, kirk_cascade) is Kavara proprietary and not distributed here. Access is via commercial license β contact sales@kavara.ai.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/kirk-unsupervised-structural-change-detection)<a href="https://allmcps.com/mcp/kirk-unsupervised-structural-change-detection"><img src="https://allmcps.com/api/badge/kirk-unsupervised-structural-change-detection?style=directory" alt="Kirk β Unsupervised Structural Change Detection on AllMCPs" /></a>