Kumbuka

ai.kumbuka由 kumbuka.ai 發布官方發布者v1.0.1更新於 Oct 25, 2026

Governed, auditable knowledge your team curates for its AI assistants, self-hostable

已驗證Streamable HTTP可網頁執行效率與工作流知識與記憶

概覽

AI 產生的概覽

Kumbuka 是受 OAuth 保護的託管 MCP 服務,讓 AI 助理使用團隊治理的記憶、委託工作記錄和共享工作清單。

可以做什麼
查詢團隊策展記憶:已定案的規則、決策、慣例、限制和待決問題,帶類型和範圍,並包含僅成員本人可透過自己的工作階段讀取的私有範圍。透過 Dispatch 委託和回覆工作,任務提出、承接、回覆和驗收各自作為持久物件。建立、描述、規劃、認領和結束工作清單項目,項目在整個生命週期內保持可編輯。透過一個連接器存取所有服務,工具依服務和動詞命名,例如記憶查詢、委託認領和工作清單建立。
適用情境
適用於團隊希望 AI 助理依據團隊寫下並認可的規則和決策工作,而不是每個工作階段重新解釋背景,並且需要持久記錄誰提出了什麼、誰回覆了什麼、驗收了什麼。它不是文件儲存或 RAG 索引,也不監視人們的行為。
執行需求
作為自訂連接器存取的遠端 MCP 端點,透過提供方的授權伺服器和身分提供者進行 OAuth 登入。無需複製用戶端 ID 或密鑰,端點 URL 即可。專案處於 pre-beta 階段,目前沒有服務的自託管安裝套件。
安裝前請注意
登入會授予助理存取你的私有記憶範圍和團隊服務的權限,請確認連接器可代表你執行的操作。Dispatch 和 Worklist 工具會建立和變更記錄,委託一旦送出即凍結。專案處於 pre-beta 階段,可能有粗糙之處和破壞性變更。策展內容由託管服務保存,而非你自己的系統。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Kumbuka,將其新增到工作區。
  2. 連接 所需的 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/ai.kumbuka%2Fkumbuka-server/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。 客戶端會在首次連接時完成 OAuth 登入。

{
  "mcpServers": {
    "kumbuka": {
      "type": "http",
      "url": "https://mcp.kumbuka.ai/mcp"
    }
  }
}

README

[kumbuka]

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.

ServiceWhat it holds
MemoryThe curated rules a team has settled — decisions, conventions, constraints, definitions, open questions and status — typed, scoped, and read by the assistant at the start of the work.
DispatchWork commissioned and returned: one party states a task, another takes it up and answers, and the acceptance of the answer is an act of its own; the commission freezes when it is sent, so it stays readable later who asked what, who answered, and what was accepted.
WorklistThe inventory of what is to be done and in what order: items that are created, characterised, planned, claimed, worked and terminated, and that stay editable for their whole life.
DocumentsThe documents that say what currently holds. kumbuka-documents is not yet publicly available.

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.

mermaid
flowchart TD    C["AI assistant or agent<br/>(any MCP client)"]    O["Operator browser"]
    E["Caddy edge<br/>(validates no token)"]
    X["cimd-proxy<br/>OAuth 2.1 authorization server<br/>(Client ID Metadata Documents)"]    K["Keycloak<br/>(identity provider, issues the token)"]
    R["platform<br/>router + management core"]
    subgraph services["Domain services (each validates the token itself)"]      M["Memory"]      D["Dispatch"]      W["Worklist"]    end
    OC["ops console<br/>(operator, IP allow-list)"]    P[("PostgreSQL<br/>one schema and one role per service")]
    C -- "1 · sign-in" --> E    E -- "auth host" --> X    X -- "federates sign-in" --> K    C -- "2 · MCP or REST + bearer token" --> E    E -- "/mcp, /api" --> R    R -- "REST, token forwarded unchanged" --> M    R -- "REST, token forwarded unchanged" --> D    R -- "REST, token forwarded unchanged" --> W
    O --> E    E -- "ops host" --> OC
    R --> P    M --> P    D --> P    W --> P    K --> P    OC --> P

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.

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

RepoWhat it is
kumbukaThis repo — the project front door and public documentation.
kumbuka-memoryThe memory service: curated entries, their scoping and authorship, and the typed relations between them. AGPL-3.0.
kumbuka-dispatchThe dispatch service: commissioned work and its answer as durable, addressable objects. AGPL-3.0.
kumbuka-worklistThe worklist service: what a scope intends to do, as items worked through a process. AGPL-3.0.
kumbuka-documentsThe documents service. Not yet publicly available.
cimd-proxyThe OAuth 2.1 authorization server: Client ID Metadata Documents outward, federation to an existing OIDC provider such as Keycloak inward. Apache-2.0.
kumbuka-serverThe management core: scopes, teams, settings and the tenancy directory. AGPL-3.0.
kumbuka-consoleThe Next.js admin console. AGPL-3.0.

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 with kumbuka-server and kumbuka-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-proxy is 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.

來源:README.md,提交 3e818ec

工具

0
該伺服器需要登入,因此 SourceWeft 無法在沒有帳號的情況下讀取其工具,也未收錄。已連接帳號所能看到的內容可能因帳號及其權限而異。

版本歷史

1
  1. v1.0.1最新Sep 16, 2026

評分

已滿足適用檢查項的 75%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。