LmCast :: Stay tuned in

Show HN: Ktx – Open-source executable context layer for data agents

Recorded: May 28, 2026, 6 p.m.

Original Summarized

GitHub - Kaelio/ktx: ktx is the context layer for analytics agents · GitHub

Skip to content

Navigation Menu

Toggle navigation

Sign in

Appearance settings

PlatformAI CODE CREATIONGitHub CopilotWrite better code with AIGitHub SparkBuild and deploy intelligent appsGitHub ModelsManage and compare promptsMCP RegistryNewIntegrate external toolsDEVELOPER WORKFLOWSActionsAutomate any workflowCodespacesInstant dev environmentsIssuesPlan and track workCode ReviewManage code changesAPPLICATION SECURITYGitHub Advanced SecurityFind and fix vulnerabilitiesCode securitySecure your code as you buildSecret protectionStop leaks before they startEXPLOREWhy GitHubDocumentationBlogChangelogMarketplaceView all featuresSolutionsBY COMPANY SIZEEnterprisesSmall and medium teamsStartupsNonprofitsBY USE CASEApp ModernizationDevSecOpsDevOpsCI/CDView all use casesBY INDUSTRYHealthcareFinancial servicesManufacturingGovernmentView all industriesView all solutionsResourcesEXPLORE BY TOPICAISoftware DevelopmentDevOpsSecurityView all topicsEXPLORE BY TYPECustomer storiesEvents & webinarsEbooks & reportsBusiness insightsGitHub SkillsSUPPORT & SERVICESDocumentationCustomer supportCommunity forumTrust centerPartnersView all resourcesOpen SourceCOMMUNITYGitHub SponsorsFund open source developersPROGRAMSSecurity LabMaintainer CommunityAcceleratorGitHub StarsArchive ProgramREPOSITORIESTopicsTrendingCollectionsEnterpriseENTERPRISE SOLUTIONSEnterprise platformAI-powered developer platformAVAILABLE ADD-ONSGitHub Advanced SecurityEnterprise-grade security featuresCopilot for BusinessEnterprise-grade AI featuresPremium SupportEnterprise-grade 24/7 supportPricing

Search or jump to...

Search code, repositories, users, issues, pull requests...

Search

Clear

Search syntax tips

Provide feedback


We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Cancel

Submit feedback

Saved searches

Use saved searches to filter your results more quickly

Name

Query

To see all available qualifiers, see our documentation.

Cancel

Create saved search

Sign in

Sign up

Appearance settings

Resetting focus

You signed in with another tab or window. Reload to refresh your session.
You signed out in another tab or window. Reload to refresh your session.
You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

Kaelio

/

ktx

Public

Notifications
You must be signed in to change notification settings

Fork
7

Star
185

Code

Issues
14

Pull requests
5

Actions

Security and quality
0

Insights

Additional navigation options

Code

Issues

Pull requests

Actions

Security and quality

Insights


Kaelio/ktx

 mainBranchesTagsGo to fileCodeOpen more actions menuFolders and filesNameNameLast commit messageLast commit dateLatest commit History405 Commits405 Commits.github.github  assetsassets  docs-sitedocs-site  docsdocs  examplesexamples  packages/clipackages/cli  pythonpython  scriptsscripts  skills/ktxskills/ktx  websitewebsite  .gitignore.gitignore  .pre-commit-config.yaml.pre-commit-config.yaml  .releaserc.cjs.releaserc.cjs  AGENTS.mdAGENTS.md  CLAUDE.mdCLAUDE.md  CONTRIBUTING.mdCONTRIBUTING.md  GEMINI.mdGEMINI.md  LICENSELICENSE  README.mdREADME.md  SECURITY.mdSECURITY.md  biome.jsonbiome.json  codecov.ymlcodecov.yml  conductor.jsonconductor.json  knip.jsonknip.json  package.jsonpackage.json  pnpm-lock.yamlpnpm-lock.yaml  pnpm-workspace.yamlpnpm-workspace.yaml  pyproject.tomlpyproject.toml  release-policy.jsonrelease-policy.json  skills.sh.jsonskills.sh.json  tsconfig.base.jsontsconfig.base.json  uv.lockuv.lock  View all filesRepository files navigationREADMEContributingApache-2.0 licenseSecurity

The context layer for data agents

Quickstart ·
CLI Reference ·
Agent Setup ·
Slack

ktx is a self-improving context layer that teaches agents how to query your
warehouse accurately - from approved metric definitions, joinable columns, and
business knowledge it builds and maintains for you.
NoteRun ktx with your own LLM API keys or a Claude Pro/Max subscription.
No extra usage billing from ktx.

Why ktx
General-purpose agents struggle on data tasks. They re-explore your warehouse
on every question, invent their own metric logic, and return numbers that
don't match approved definitions.
Traditional semantic layers don't fix this. They demand constant manual
upkeep and don't absorb the rest of your company's knowledge.
ktx does both, automatically:

Learns from company knowledge. Ingests wiki content, organizes it,
removes duplicates, and flags contradictions for human review.
Maps the data stack. Samples tables, captures metadata and usage
patterns, detects joinable columns, and annotates sources so agents write
better queries.
Builds a semantic layer. Combines raw tables and high-level metrics
through a join graph that automatically resolves chasm and fan traps, so
agents fetch metrics declaratively instead of rewriting canonical SQL each
time.
Serves agents at execution. Exposes CLI and MCP tools with combined
full-text and semantic search across wiki and semantic-layer entities.

How ktx compares

General-purpose agent
Traditional semantic layer
ktx

Builds warehouse context automatically


Detects joinable columns + resolves fan/chasm traps

Manual

Approved, reusable metric definitions


Absorbs wiki / Notion / team knowledge


Flags contradictions across sources


Ships CLI + MCP for agent execution
Partial

Read-only by design
n/a
n/a

Who is ktx for
Use ktx if you:

Want agents like Claude Code, Codex, Cursor, or OpenCode to query your
warehouse with approved metric definitions
Have business knowledge scattered across dbt, Looker, Metabase, Notion, and
team wikis
Need agents to reuse canonical SQL instead of inventing it on every prompt

Skip ktx if you:

You don't have a SQL warehouse - ktx sits on top of one
You only need one ad-hoc query - psql or a notebook will do

Works with PostgreSQL, Snowflake, BigQuery, ClickHouse, MySQL, SQL Server, and
SQLite. Integrates with dbt, MetricFlow, LookML, Looker, Metabase, and Notion.
Quick Start
npm install -g @kaelio/ktx
ktx setup
ktx status
ktx setup creates or resumes a local ktx project, configures providers
and connections, builds context, and installs agent integration.
Example ktx status after setup:
ktx project: /home/user/analytics
Project ready: yes
LLM ready: yes (claude-sonnet-4-6)
Embeddings ready: yes (text-embedding-3-small)
Databases configured: yes (warehouse)
Context sources configured: yes (dbt_main)
ktx context built: yes
Agent integration ready: yes (codex:project)

TipAlready using an agent? Ask Claude Code, Codex, Cursor, or OpenCode from
your project directory:
Run npx skills add Kaelio/ktx --skill ktx and use the ktx skill to install
and configure ktx in this project.

ImportantIf ktx status prints ktx mcp start --project-dir ..., run it before
opening your agent client.

First commands

Command
Purpose

ktx setup
Create, resume, or update a ktx project

ktx status
Check project readiness

ktx ingest
Build context for every configured connection

ktx sl "revenue"
Search semantic sources

ktx wiki "refund policy"
Search local wiki pages

ktx mcp start
Start the MCP server for agent clients

See the CLI Reference
for every command, flag, and option.
Project Layout
my-project/
├── ktx.yaml # Project configuration
├── semantic-layer/<connection-id>/ # YAML semantic sources
├── wiki/global/ # Shared business context
├── wiki/user/<user-id>/ # User-scoped notes
├── raw-sources/<connection-id>/ # Ingest artifacts and reports
└── .ktx/ # Local state and secrets, git-ignored

Commit ktx.yaml, semantic-layer/, and wiki/. Keep .ktx/ local.
Project resolution defaults to KTX_PROJECT_DIR, then the nearest ktx.yaml,
then the current directory. Pass --project-dir <path> when scripting.
FAQ

Does ktx send my schema or query results to a hosted service?
No. ktx runs locally. The only data leaving your machine is what you
send to the LLM provider you configured.
Which LLM backends are supported?
Anthropic API, Google Vertex AI, AI Gateway, and the local Claude Code
session through the Claude Agent SDK. See
LLM configuration.
How is ktx different from a dbt or MetricFlow semantic layer?
ktx ingests those layers and combines them with raw-table
introspection and wiki content. Agents get one searchable surface instead
of three disconnected ones - and ktx flags contradictions across
sources.
Does ktx need a running server?
There is no hosted service. The local MCP daemon runs on demand via
ktx mcp start when an agent client needs it.
Is my warehouse safe?
Yes. Connections are read-only - ktx never writes to your database.

Docs

Quickstart
The Context Layer
Building Context
CLI Reference
Agent Quickstart
Community & Support

Community

Slack — ask questions, share what you're building, and chat with maintainers.
GitHub Issues — report bugs and request features.
Contributing — set up the repo, run tests, and open a PR.

Development
git clone https://github.com/kaelio/ktx.git
cd ktx
pnpm install
uv sync --all-groups
pnpm run build
pnpm run check
ktx is a pnpm + uv workspace:

Path
Purpose

packages/cli
TypeScript CLI and published npm package source

packages/cli/src/context
Core context engine

packages/cli/src/llm
LLM and embedding providers

packages/cli/src/connectors
Database scan connectors

python/ktx-sl
Semantic-layer query planning

python/ktx-daemon
Portable compute service

Local development CLI:
pnpm run setup:dev
pnpm run link:dev
ktx-dev --help
Useful checks:
pnpm run type-check
pnpm run test
pnpm run dead-code
uv run pytest -q
Telemetry
ktx collects anonymous usage telemetry from interactive CLI runs to
improve setup, command reliability, and data-agent workflows. No file paths,
hostnames, SQL, schema names, error messages, or argv are recorded. See
Telemetry for the
event catalog and opt-out options.
License
ktx is licensed under the Apache License, Version 2.0. See LICENSE.
Star History

About

ktx is the context layer for analytics agents

docs.kaelio.com/ktx

Resources

Readme

License

Apache-2.0 license

Contributing

Contributing

Security policy

Security policy

Uh oh!

There was an error while loading. Please reload this page.


Activity

Custom properties
Stars

185
stars
Watchers

0
watching
Forks

7
forks

Report repository

Releases
11

v0.7.0

Latest

May 28, 2026


+ 10 releases

Packages
0

 

 

 

Uh oh!

There was an error while loading. Please reload this page.


Uh oh!

There was an error while loading. Please reload this page.


Contributors

Uh oh!

There was an error while loading. Please reload this page.


Languages

TypeScript
82.0%

Python
9.9%

JavaScript
4.9%

MDX
2.6%

CSS
0.4%

Shell
0.1%

LookML
0.1%

Footer

© 2026 GitHub, Inc.

Footer navigation

Terms

Privacy

Security

Status

Community

Docs

Contact

Manage cookies

Do not share my personal information

You can’t perform that action at this time.

The ktx project represents a context layer designed specifically for analytics agents, serving to teach these agents how to accurately query data warehouses by integrating approved metric definitions, joinable columns, and relevant business knowledge that the system automatically builds and maintains. This layer addresses the inherent difficulties general-purpose agents face when performing data-related tasks, as they tend to re-explore data warehouses on every query, invent their own metric logic, and generate results that deviate from established definitions. Unlike traditional semantic layers, which require constant manual upkeep and fail to absorb broader company knowledge, ktx automates these processes.

The core functionality of ktx involves several integrated mechanisms that automate the contextual understanding of the data environment. First, ktx learns from company knowledge by ingesting content from sources like wikis and Notion, where it organizes information, removes redundancies, and flags any contradictions for subsequent human review. Second, it maps the entire data stack by sampling tables, capturing metadata and usage patterns, detecting joinable columns, and annotating data sources to ensure agents write more effective queries. Third, ktx constructs a semantic layer by combining raw tables and high-level metrics through an internal join graph that automatically resolves potential difficulties, such as chasm and fan traps, enabling agents to fetch required metrics declaratively rather than requiring them to reconstruct canonical SQL repeatedly. Finally, ktx serves these contextualized insights to agents by exposing Command Line Interface and MCP tools, facilitating combined full-text and semantic search across both the internalized knowledge sources and the semantic-layer entities.

In comparison to other approaches, ktx offers a distinct advantage by automating the contextualization process. It automatically builds warehouse context, manages approved, reusable metric definitions, and absorbs scattered corporate knowledge from various sources. Moreover, ktx actively flags contradictions discovered across these disparate sources, a feature lacking in passive semantic layers. The system also provides direct capability for agent execution by shipping CLI and MCP functionality.

ktx is designed for organizations that utilize data warehouses supporting various SQL dialects, including PostgreSQL, Snowflake, BigQuery, ClickHouse, MySQL, SQL Server, and SQLite, and integrates seamlessly with tools like dbt, MetricFlow, LookML, Looker, Metabase, and Notion. Its primary utility is for users who want agents, such as those powered by Claude Code, Codex, Cursor, or OpenCode, to interact with their data warehouses using strictly approved metric definitions, thereby ensuring agents reuse canonical SQL instead of inventing new logic for every prompt.

Initial setup of ktx involves running specific commands to configure the local environment, establish connections to data sources, build the necessary context, and install agent integrations. The system utilizes a structured project layout, including files for project configuration, semantic layer definitions, wiki documentation, and raw source artifacts, all of which organize the contextual information locally. The system operates entirely locally, ensuring data security because the connections are read-only, and no data is written to the underlying database; the local MCP daemon runs on demand when an agent client requires it. This architecture ensures that the ktx context remains a localized, secure asset while providing a comprehensive, searchable surface for agents to query complex analytical needs.