Skip to content

kyma

The context engine for coding agents.

Not just memory — one place your agent recalls durable, graph-aware memory, queries live data (logs, traces, code, every signal your org emits) in KQL/SQL, and walks the graph that links them. Connect it via a plugin, a CLI, or MCP — a local single binary that syncs to your control plane.

latest query"AWS spend by team this week"
wall
83 ms
extents pruned
99.34%
scanned
1.5 MiB
rows
498

// THE HOOK

Your coding agent forgets everything. kyma is the memory it keeps.

Install one binary, wire it to your agent, and it recalls durable, graph-aware memory into every prompt — across sessions and machines. That's the hook. Then it grows: the same engine lets your agent query your live data in KQL or SQL, and walks the graph that ties every memory to the real services, repos, and traces it's about. Memory → data → graph, one surface.

// BEYOND MEMORY — THE LIVE DATA

The same engine runs your whole stack

Memory is the front door. Underneath, kyma is one columnar engine for every signal your org emits — so the live data your agent reasons over is the same data these teams already live in. One schema, one query language, one agent.

SRE

Replace your observability stack

OTLP logs, traces, metrics in one engine — sub-second queries over years of history. Agents triage incidents from the same data your dashboards render.

  • Logs · traces · metrics over OTLP
  • Sub-second pruning over a decade
  • Agent-driven triage on the same data
BI

Replace dashboard sprawl

Federate Postgres, MySQL, Mongo. Join customer rows with product events and revenue. Skip the warehouse rebuild — query the data where it lives.

  • Federate to operational DBs
  • CDC sync for hot tables
  • Cross-source joins in DataFusion
FinOps

Cloud spend, queryable

Pull AWS, GCP, Azure billing exports through the same ingest path. Group by service, team, tag. Alert on anomalies. The agent answers "why is spend up?" without a separate tool.

  • CUR / billing exports as kyma tables
  • Group by tag, team, env
  • Anomaly queries in KQL or SQL
Security

Audit logs that survive a decade

Auth events, IAM changes, deploys, secret rotations — one immutable, time-partitioned store. Forensic queries that would take hours in a SIEM, in seconds.

  • Immutable append-only extents
  • Token index on every string column
  • KQL pivot in seconds
Graph

A native graph layer at million-node scale

Beyond rows and columns: kyma stores entities and relationships as a first-class graph. Trace from a Stripe customer to their auth events to the deploy that broke their checkout — in one query, in milliseconds, at organizational scale.

  • Entities and edges as native types
  • Cypher-style traversals over Arrow
  • Same pruning cascade applies
Anything

Whatever your org runs on

Stripe events. GitHub Actions outcomes. Customer support tickets. Webhook payloads. If it has a timestamp and a JSON body, it goes through one POST and becomes queryable.

  • POST /v1/ingest takes NDJSON
  • Auto-create + schema-evolve
  • Idempotent by design

// THE GRAPH — WHERE IT ALL CONNECTS

Where memory meets your systems.

The third layer. A native graph over the same Arrow storage, where your agent's memories are nodes wired to the real services, repos, and traces they're about — millions of entities, hundreds of millions of relationships, queried in milliseconds.

  • Entities + relationships as native types. Customers, deploys, services, alerts, agent runs — all linked, all queryable.
  • Cypher-style traversals. "Find every customer affected by a deploy that touched the payments service in the last 24h" — one query.
  • Same pruning cascade. Graph queries hit the same time-bound + token-index pruning that makes log queries fast.
  • Federated edges. Pull entities from Postgres, edges from MongoDB, events from OTLP — kyma joins them in the graph layer.

// THE NEW PRIMITIVE

Recursive intelligence — agents that build on each other's answers.

When every signal — including the agents themselves — flows through one engine, agents stop being one-shot tools. They become a recursive layer: a triage agent's output is the next triage agent's input. A finance agent reads what the SRE agent observed last hour. A security agent traces an anomaly through the graph the BI agent just queried. The engine that answered the last question is the engine that asked the next one.

01

Agents observe

Every /v1/agent/ask call is itself logged into kyma — question, tool calls, result. Agent runs become first-class data.

02

Agents query other agents

The next agent reads agent_runs the same way it reads otel_logs. It sees what colleagues asked, found, missed.

03

Insights compound

Patterns across runs surface in the graph. The org's collective troubleshooting becomes an asset that improves with use, not a stream that vanishes.

// THE QUERY SURFACE

KQL or SQL, take your pick

Both languages parse to the same logical plan. Both run through the same three-level pruning cascade. Both stream Arrow over the same Flight gRPC endpoint. Pick whichever your tool already speaks.

// errors per service in the last hour
otel_logs
| where _timestamp > ago(1h)
| where severity_text == "ERROR"
| summarize n = count() by service_name
| order by n desc
| take 5
99.94%
extents pruned at the catalog
~ 84ms
typical wall time, decade of data
2.1MiB
bytes actually decoded

// HOW IT STAYS FAST

Three levels of pruning before any byte is decoded.

Catalog pruning eliminates 99% of extents using time-range and column statistics. Extent footers eliminate 90%+ of blocks via bloom filters. Block-level posting lists narrow to exact rows. The decode step only touches data that matters.

Read the deep dive →

// THE DOCS

Get going

An open-source project · MIT licensed.