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 分

    请在仓库或注册中心条目中声明许可证。