# dnotitia/akb [Health: Active]

**Category:** 🧠 Knowledge & Memory  
**Repository:** https://github.com/dnotitia/akb  
**GitHub Stars:** 163  
**Views:** 4  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/dnotitia-akb

## Description
Organizational knowledge base for AI agents. Vault-scoped Markdown docs, structured PostgreSQL tables, and files unified by a URI graph. Hybrid semantic + BM25 search, Git-backed version history, multi-tenant ACL with public-share links. Works with Claude Code, Cursor, Windsurf via npx akb-mcp.

## Tools
Capabilities this server exposes over MCP:

- **akb_list_vaults** — Vault management
- **akb_put** — Document CRUD (revision + indexing)
- **akb_put_file** — File attachments — proxy-side (requires local filesystem)
- **akb_put_image** — Validated inline Markdown images — proxy-side in `akb-mcp` 2.2+
- **akb_create_table** — Tabular content — per-doc tables + SQL
- **akb_browse** — Tree traversal (collection → docs)
- **akb_search** — Hybrid search (dense + BM25) / literal grep
- **akb_drill_down** — Section-level retrieval
- **akb_relations** — Knowledge graph
- **akb_edit** — In-place edit, diff, revision history
- **akb_grant** — Permission boundaries — per-user, per-org, public
- **akb_publish** — Public publication

## Claude Desktop Quick Installation
Remote MCP endpoint (confidence: high). Install path detected from listing signals. Add as a URL/SSE server in your client:

```json
"mcpServers": {
  "akb": {
    "url": "https://akb-demo.agent.seahorse.dnotitia.ai/mcp/"
  }
}
```

## Documentation

## What dnotitia/akb does

dnotitia/akb provides a knowledge base for AI agents, organized into access-controlled vaults. Content can include Markdown documents with YAML frontmatter, structured tables, and attached files. Documents, collections, and other resources can be connected through a URI-based knowledge graph, allowing agents to follow explicit relationships such as dependencies, related items, and implementations.

PostgreSQL is the primary source of truth for document text, metadata, revisions, and lexical-search data. Native revision history supports reviewing changes over time, while the system can also publish selected content through public links. Vaults provide the main boundary for organizing knowledge and controlling access across users and organizations.

## How it works

Agents communicate with the tool layer using MCP. The server can be reached directly through a stateless HTTP MCP endpoint or through the `akb-mcp` stdio proxy. The proxy supports local-file operations, including file attachments and validated inline Markdown images in version 2.2 and later.

Search combines dense semantic retrieval with BM25 keyword matching and fuses the results in a single request. Literal grep is available when exact text matching is more appropriate. A separate drill-down operation retrieves content at section level, while browse traverses the hierarchy from collections to documents.

Dense embeddings and sparse corpus vectors are kept in a replaceable vector-store driver, while PostgreSQL retains the authoritative content and metadata. Supported storage arrangements include pgvector by default, with optional Qdrant and Seahorse-based drivers. Index data can be rebuilt from PostgreSQL if the vector store is lost.

## Setup and configuration

The npm package `akb-mcp` provides the stdio proxy. The default authentication flow uses a Personal Access Token. Custom agents can send authenticated HTTP requests to `/mcp/` with a Bearer token. Deployments that enable the MCP OAuth Resource Server path can also use Keycloak for authorization and support Claude Code's HTTP transport and login flow.

Claude Code and Codex plugins are distributed with the repository. The plugin marketplace commands are:

- `/plugin marketplace add dnotitia/akb` for Claude Code
- `codex plugin marketplace add dnotitia/akb` for Codex

The repository also describes Docker Compose and Kubernetes as deployment options for self-hosting.

## Tools and capabilities

- `akb_list_vaults` manages vault access and discovery.
- `akb_put` creates or updates documents while recording revisions and indexing content.
- `akb_put_file` attaches files through the proxy and requires access to a local filesystem.
- `akb_put_image` validates inline Markdown images through `akb-mcp` 2.2 or later.
- `akb_create_table` adds tabular content that can be queried per document and with SQL.
- `akb_browse` walks collections and their documents.
- `akb_search` performs hybrid semantic and BM25 retrieval or literal grep.
- `akb_drill_down` retrieves individual document sections.
- `akb_relations` reads and works with the URI knowledge graph.
- `akb_edit` supports in-place changes, diffs, and revision history.
- `akb_grant` sets per-user, per-organization, or public permission boundaries.
- `akb_publish` publishes content for public access.

The repository also includes `akb-wiki`, `akb-sessions`, and `akb-claude-code` plugins for ingestion and grounded answers, session capture, and Claude Code lifecycle memory workflows.

## Limitations and notes

The public demonstration is periodically wiped and re-seeded, runs on minimal resources, and should not be used for sensitive or durable data. AKB's core records write events in a PostgreSQL outbox; optional Redis configuration publishes them to the `akb:events` stream for external consumers. Consolidation, summarization, and similar automation are intended to be implemented by those external consumers rather than built into the core server.

_Full upstream README: https://allmcps.com/mcp/dnotitia-akb/readme_

