
Kumbuka
ai.kumbukaPublished by kumbuka.aiOfficial publisherv1.0.1Updated Oct 25, 2026
Governed, auditable knowledge your team curates for its AI assistants, self-hostable
Overview
Kumbuka is a hosted, OAuth-protected MCP service that gives AI assistants governed team memory, commissioned work records, and a shared worklist.
- What you can do
- Query curated team memory: settled rules, decisions, conventions, constraints and open questions, scoped and typed, including a private personal scope only the member can read through their own session. Commission and answer work through Dispatch, where a task is stated, taken up, answered and accepted as separate durable objects. Create, characterise, plan, claim and close worklist items that stay editable for their whole life. Reach all services through one connector with tools named by service and verb, such as memory query, dispatch claim and worklist create.
- When to use it
- Use it when a team wants its AI assistants to work from rules and decisions the team has written down and stands behind, rather than re-explaining context every session, and when it needs a durable record of who asked for what, who answered and what was accepted. It is not a document store or RAG index and does not watch what people do.
- Requirements
- A remote MCP endpoint reached as a custom connector, with OAuth sign-in through the provider's authorization server and identity provider. No client ID or secret to copy; the endpoint URL is enough. The project is pre-beta, and there is no self-host package for the services today.
Installation
In SourceWeft
- Open Kumbuka in the dashboard and add it to a workspace.
- Connect the required credentials. They are stored privately and never shown on public pages.
- Enable the server for the chats that should use its tools.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Use with an agent
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/ai.kumbuka%2Fkumbuka-server/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Other MCP clients
Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.
{
"mcpServers": {
"kumbuka": {
"type": "http",
"url": "https://mcp.kumbuka.ai/mcp"
}
}
}README
kumbuka
Services for teams that work with AI assistants and agents — curated rules, commissioned work, and the inventory of what is to be done, each held as individually addressable objects, each in a service of its own.
[CI] [License] [MCP] [Private memory] [Model] [Status] [Works with]
Status: pre-beta. kumbuka is in active development. The architecture and data model are settled and the private-memory guarantee is a hard design constraint, but the project is not yet a hardened, shipped product. Expect rough edges and breaking changes.
kumbuka is Swahili — the imperative "remember!". The project lives at kumbuka.ai.
The problem: a result without a record
AI assistants are stateless between sessions, and the work they do leaves a result but rarely a record. A team using them pays twice.
It pays the context tax: the same rules are explained again in every new session — "we use Postgres as the system of record", "money is integer minor units, never floats" — because the decisions, conventions and constraints that should shape the work live in people's heads and in scattered chat history.
And it loses the trail of the work itself. Once an assistant or an agent has done something, the questions that matter later are hard to answer: who asked for it, under which rule, what came back, and who accepted it. A session transcript ends with the session; a finished file does not say which request produced it.
What kumbuka is
kumbuka is a set of services that hold exactly those things — what a team has settled, the work it commissions and gets back, and what it still intends to do — as objects that are addressed one by one, read by assistants over the Model Context Protocol (MCP), and curated by the team.
Each service is built as a product of its own and published in its own repository. Every service has a complete REST interface. Dispatch and Worklist each also carry their own MCP endpoint; Memory has no MCP adapter of its own and is reached by assistants through the platform's MCP entry point (see Architecture).
kumbuka is deliberately not a document store or a RAG index, and it does not watch what people do. It holds curated content that someone wrote down and the team stands behind, not a copy of your docs or source, which stay in their own systems.
The private-memory guarantee
A member's private memory is theirs alone. It is reachable only by them, only over their own authenticated MCP session. No admin, no console screen, and no team-facing API can read it.
This is the backbone of the product, not a feature flag. It is enforced at the data-access layer — the privileged (admin/console) code paths have no route that can return private rows — not by a configuration toggle that could be flipped. Disabling a member suspends their account but leaves their private memory untouched and theirs.
See the Security & privacy guide for how this is structurally enforced.
Tenant separation
Each service keeps its own schema and its own database role in PostgreSQL. Tenants are separated by row-level security on the tenant axis: the policy fails closed, so a request that is not bound to a tenant sees no rows rather than all of them. The runtime role of a service owns nothing and holds only the privileges its migrations enumerate, so it cannot switch the policy off.
One sign-in for every service
Sign-in runs through cimd-proxy,
the OAuth 2.1 authorization server in front of the identity provider. Outward
it speaks Client ID Metadata Documents: an MCP client identifies itself by
a URL it controls, so the endpoint URL is all a client needs — no client id and
no client secret to copy around. Inward it federates the sign-in to
Keycloak, which issues the token.
From outside, the platform is one resource with one audience. One sign-in yields one token, and that token is valid for every service behind the entry point. Each service validates the unchanged token itself; none relies on a predecessor having checked it.
Connect your assistant
kumbuka is reached by AI clients as a custom MCP connector. In claude.ai you add it under Settings → Connectors, sign in once through the OAuth flow, and your assistant can then call the services' tools on your behalf, including your own private memory scope.
Through the platform's entry point the tools are named <service>_<verb> —
memory_query, dispatch_claim, worklist_create and so on — so one
connector carries the tools of every service.
Architecture
The diagram shows the hosted deployment as it runs today. Caddy is the edge and validates no token. cimd-proxy is the authorization server, and Keycloak is the identity provider behind it. The platform is the entry point: a router that reads the service named in an address and forwards the call over REST to the service that owns it, together with the management core for scopes, teams and settings. Memory, Dispatch and Worklist each validate the token themselves and keep their own schema in one PostgreSQL instance. The ops console is the operator's own interface, reachable only from an IP allow-list.
The router and the unified interface exist only in the enterprise edition. In a community installation there is no router, and the services are addressed directly.
Quickstart
There is no self-host package for the services today, and this README does not pretend otherwise. Each service repository documents how to build the service, run its full test suite, and configure it for your own database and identity provider. The suites need Docker; they start their own PostgreSQL (and, for Dispatch and Worklist, their own Keycloak) through Testcontainers.
kumbuka-memory— configuration and buildkumbuka-dispatch— configuration, build and testkumbuka-worklist— configuration, build and testcimd-proxy— quick start and configuration of the authorization server
The Docker Compose stack in
kumbuka-server starts the
management core with PostgreSQL, Keycloak and Caddy. The memory engine has
left that repository, so the stack no longer serves memory on its own.
Repo map
The router and the enterprise modules live in private repositories.
Documentation
The documentation site lives at docs.kumbuka.ai (English and German). It still describes the earlier memory-only stack in places; where it and this README disagree on which services exist, this README is current.
Editions and license
kumbuka is open core, and the line between the editions is a repository line: the repository boundary is the licence boundary.
- Community edition. The public service repositories (
kumbuka-memory,kumbuka-dispatch,kumbuka-worklist, together withkumbuka-serverandkumbuka-console) are open source under the GNU Affero General Public License v3.0 (AGPL-3.0), and each service is built as a complete product on its own.cimd-proxyis a standalone tool and is published under Apache-2.0. - Enterprise edition. Each service has a separate, closed enterprise module that is composed with its open core at build time. The enterprise edition adds and never alters: versioning and audit are the first things it adds. The router — the single entry point in front of all services — and the unified interface on top of it belong to the enterprise edition.
Because kumbuka is typically deployed as a network-accessible service, AGPL §13 applies: if you run a modified version and let users interact with it over a network, you must offer those users the corresponding source of your modified version.
Contributing
Contributions are welcome. Start with CONTRIBUTING.md for how to contribute and where the per-repo dev setup lives. To report a security issue, see SECURITY.md — please do not open a public issue for vulnerabilities.
Source: README.md at commit 3e818ec
Tools
0Version history
1- v1.0.1LatestSep 16, 2026
Score
75% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 daysRequired25 pts
- Auth declaredRequired10 pts
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Declare a license in the repository or the registry entry.