ktx vs mirage
Self-improving context layer for data agents — ingests dbt/Looker/wikis, maps your warehouse, builds a semantic layer with approved metrics, and serves Claude Code/Codex via CLI and MCP. — versus — Unified virtual filesystem for AI agents — mounts S3, Slack, Gmail, Postgres and ~50 backends as one tree so any bash-speaking LLM can grep and pipe across services. Snapshotable, embeddable.
Opposite philosophies for the same job — letting agents work with your company's data. Mirage mounts ~50 backends as a raw virtual filesystem to grep and pipe; ktx curates a semantic layer with approved metric definitions and compiled read-only SQL.
| ktx | mirage | |
|---|---|---|
| Stars | 1.5k | 3.3k |
| Forks | 93 | 239 |
| Language | TypeScript | TypeScript |
| License | Apache-2.0 | Apache-2.0 |
| Last activity | 5 days ago | yesterday |
| Topics | rag, agents | agents, coding |
| Curated connections | 1 | 3 |
ktx — the curator's take
Reach for it when agents re-explore your warehouse on every question and invent their own metric logic: ktx samples tables, detects joinable columns (resolving chasm/fan traps), absorbs dbt/MetricFlow/LookML/Notion knowledge into one searchable surface, and flags contradictions for human review. Read-only by design; runs locally on your own LLM keys or your Claude Code / Codex login. Skip it if you have no SQL warehouse to sit on, or for one ad-hoc query. It ingests your existing semantic layers rather than replacing them. YC-backed (Kaelio); telemetry is on by default with opt-out.
mirage — the curator's take
One interface instead of N SDKs and M MCP servers: mount S3, Slack, Gmail, GitHub, Postgres, Redis (~50 backends) side-by-side as one filesystem, and any LLM that already knows bash can cat, grep and pipe across all of them with zero new tool vocabulary — plus per-resource command overrides (cat a Parquet as JSON rows), snapshotable/portable workspaces, and in-process Python/TS SDKs with OpenAI Agents/LangChain/Pydantic AI adapters and a CLI+daemon for Claude Code/Codex. Reach for it when your agent touches many external systems and tool-schema sprawl is eating your context window. NOT for a single data source (just use its SDK), heavy binary/streaming workloads, or Windows — FUSE mounts need macOS/Linux.