Skip to content
Open source · Self-hosted · Private

Everything within your agent’s ken.

ken (n.) — the range of one’s knowledge or sight.

A curated memory your AI coding agent reaches over MCP, so it searches before it solves and keeps the lessons it learns. AI proposes; you curate.

Get started Star on GitHub
Warm up Search first Use Record outcome
The problem

Agents keep solving the same problems twice.

Solved work gets re-derived

Every session starts cold. An agent rediscovers the same fix it found last week, burning tokens and time on problems that were already solved.

Hard-won lessons evaporate

The subtle fix, the race condition, the config gotcha, lives in one chat log and then vanishes the moment the context window closes.

A flat memory dump goes stale

Dump everything into one file and it rots. Wrong answers sit beside right ones with nothing to tell them apart, and the agent trusts both.

How it works

A search-first loop, every session.

Ken runs the same loop on every task, so knowledge compounds instead of resetting.

01

Warm up

The agent loads recent, relevant context before it starts: what has been touched and what is fresh.

02

Search first

Before writing a fix, it searches Ken with the real symptoms and error text, not a guess at keywords.

03

Use and record

It applies what it finds and records the outcome: helped, did not apply, or was wrong.

04

Save or enhance

A new lesson becomes a saved draft or an enhanced entry. Ken self-curates from those outcome signals.

The loop closes on itself: outcomes feed curation, and curation sharpens the next search.
The curation model

AI authors. A human curates.

This is what keeps Ken trustworthy. Agents can read, draft, and propose, but only a person decides what becomes canonical.

AI proposes

Agents save drafts and propose revisions. They can never curate.

A human promotes

You review a proposal and promote it to the curated head. Only a person makes it canonical.

Append-only lineage

Every change is a new revision. Nothing is overwritten; a wrong answer is flagged stale, not deleted.

Lineage
entries/auth-jwt-refresh-race
PROPOSED CURATED · HEAD
r5Blind-retry on 401
agent · superseded
r6Cache token in memory
agent · superseded
r7Single-flight the refresh behind a per-key lock
proposed by claude-code · pending reviewpromoted by you · head
Append-only — every revision kept. Nothing overwritten.
Features

Built to be owned, not rented.

MCP

MCP-native

Eight tools over the Model Context Protocol. Works with Claude Code, a Claude.ai connector, or any MCP client.

BINARY

Single static binary

Self-hosted as one binary. No services to wire up and nothing to babysit.

SEARCH

Keyword + semantic

Fast keyword search out of the box, with optional semantic search when you want it.

OAUTH

OAuth 2.1 connector

Connect Claude.ai as a custom connector over OAuth, or use a bearer token.

VERSIONED

Versioned & append-only

Every entry is versioned with human curation. History is a visible lineage, never overwritten.

I18N

Multilingual curator UI

Curate in your language. The interface speaks more than one.

TLS

In-process TLS

Serves HTTPS itself, in-process. No reverse proxy required to run securely.

PRIVATE

Your data, your disk

Everything lives in your own SQLite file. Zero external requests; nothing leaves your machine.

Quickstart

Self-host in minutes.

Point any MCP client at your Ken server and start curating.

Connect a client
claude mcp add --transport http ken https://your.ken.server/mcp --header "Authorization: Bearer <token>"
Read the documentation
Open source

Yours to run, read, and shape.

Ken is open source under AGPL-3.0. Self-host it, read every line, and send patches.

License
AGPL-3.0
Repository
github.com/…
Contributing
Issues & PRs welcome
Bring Ken to your stack.
One binary, your SQLite, zero external requests.
Get started Star on GitHub