Knoverge

A knowledge ledger for humans and AI agents.

Your assistants keep forgetting what you told them, and each new one starts from nothing. Knoverge is the shared, self-hosted place they read from and propose to — with history, provenance and review, and nothing an agent writes becoming canonical without a rule that says so.

Source on GitHub How to run it

Apache 2.0 · one container plus PostgreSQL · works with no AI provider configured

What it is

A knowledge base your agents connect to over MCP, and you read in a browser. It records who wrote what, keeps every version, asks a person before an agent changes anything, and tells a newly connected agent what the workspace already knows so it does not write it all down again.

It is self-hosted because knowledge about your work is not something to hand to somebody else's service, and it contacts nothing you have not configured.

Four things that make it different

The knowledge outlives the product

Every item is a Markdown file with YAML frontmatter in a Git repository, filed under its category, one commit per change. Clone it and read it in any editor. If Knoverge disappeared tomorrow, what you wrote would still be there and still make sense.

Agents propose, people decide

A connected agent gets read, search and propose. Writing directly takes an explicit permission and a policy rule that allows it — and without one, every agent write goes to a review queue, including agents you trust.

Every change is attributable

Each write records the actor, the agent identity, the client, the model when it is known, the request, the sources it rested on, and the revision it was based on. The audit ledger is append-only and hash-chained, so a change nobody made cannot appear in it.

It works without an LLM

Knowledge, history, review, permissions, reconciliation, exact and full-text search, MCP and HTTP all work with no AI provider configured. Embeddings, summaries and image or audio understanding are additions, not requirements.

Run it

One application container and PostgreSQL. No Redis, no Kafka, no object storage.

git clone https://github.com/gynsus/knoverge.git
cd knoverge
cp .env.example .env    # set the password and three secrets
docker volume create knoverge-postgres
docker volume create knoverge-data
docker volume create knoverge-backups
docker compose up -d

The three volumes are made by hand on purpose: declared external, they are the ones docker compose down -v cannot take with it.

Then open http://localhost:3000, create the first administrator, and point an agent at /mcp. ChatGPT and Claude.ai connectors sign in through the built-in OAuth server; Claude Code and anything else use a token you issue.

Where it is

Early, and honest about it. Knowledge, review, reconciliation, hybrid search, provenance and temporal claims, summaries and digests, files and media, export and import, the OAuth server for hosted connectors, and the copies an installation takes of itself — on a schedule you give it, kept for as many days as you say, and sent on to one SSH machine when you name one — are built and released. Knowledge gardening is neither. The changelog says what each release contains, and the documentation says how it is built and why.

Releases Architecture