StackMap
Subscribe

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.

The curated verdict

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.

ktxmirage
Stars1.5k3.3k
Forks93239
LanguageTypeScriptTypeScript
LicenseApache-2.0Apache-2.0
Last activity5 days agoyesterday
Topicsrag, agentsagents, coding
Curated connections13

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.