Skip to main content

PROJECT CASE STUDY · BACKEND ENGINEERING

Kioku

A local-first .NET 10 MCP server that keeps agent decisions, specs, plans, bugs and session handoffs as durable Markdown and YAML records inside an Obsidian vault.

v3.1.2 Public source Active

CURRENT SYSTEM

Stable 3.1.2 release with active development continuing

Kioku is distributed as a public .NET project with release artifacts, a NuGet package and operational documentation. Version 3.1.2 is the current stable tagged server release, while ongoing work continues toward later releases.

PROBLEM

Agent context should survive the session that created it

Coding agents can make good decisions and still lose the reasoning behind them when a process, terminal or conversation ends. Provider history is not a durable project record, and a handoff should not require the next agent to reconstruct intent from chat logs.

Kioku treats the vault as durable project memory instead: specs, implementation plans, decisions, bugs, knowledge and session handoffs remain readable as Markdown and YAML even without the MCP server or Obsidian UI running.

SYSTEM

Local-first MCP boundary

Kioku runtime boundary. MCP clients reach a .NET 10 Kioku server over local stdio or authenticated Streamable HTTP. The server reads the Obsidian vault directly, with semantic retrieval and the Obsidian bridge remaining optional integrations.

ENGINEERING DECISIONS

Keep storage human-readable and protocol boundaries explicit

DECISION 01

MARKDOWN IS THE DURABLE FORMAT

The vault remains understandable and editable without Kioku. The MCP layer coordinates workflows; it does not become the only place where project knowledge can be recovered.

DECISION 02

HEADLESS CORE, OPTIONAL UI

Core notes, search, projects, sessions, indexing and coordination work directly against the vault. Obsidian and its companion plugin are optional for UI and bridge-specific operations.

DECISION 03

REMOTE ACCESS REQUIRES AN EXPLICIT TRUST BOUNDARY

Local stdio stays the default. Streamable HTTP binds to loopback by default, and non-loopback exposure requires authentication unless an explicit unsafe override is chosen.

WORKFLOW

Design intent becomes a recoverable project artifact

Durable engineering workflow. Kioku separates the requirement, implementation plan and execution handoff so a fresh agent can recover both intent and current state.

RELEASE STATUS

A stable release and an active development line

STABLE RELEASE

3.1.2 · PACKAGE · CONTRACTS · OPERATIONAL DOCS

Release 3.1.2 publishes server artifacts and the project links the kioku-mcp-server NuGet package. The project also maintains generated MCP references, engineering-workflow documentation, configuration, security guidance and automated tests.

ACTIVE DEVELOPMENT

NEW WORK CONTINUES BEYOND 3.1.2

Ongoing development can introduce changes after the stable 3.1.2 release. Release-specific behavior stays tied to the tagged version until newer work is promoted into a subsequent release.

LEARNINGS

What this project changed in how I build

LEARNING 01

DURABILITY BEATS PROVIDER HISTORY

Human-readable project records survive session and process boundaries better than depending on one AI provider’s conversation history.

LEARNING 02

SPEC → PLAN → SESSION IS A USEFUL BOUNDARY

Keeping requirements, implementation intent and execution state separate makes a fresh agent more likely to continue the right work instead of merely continuing text.

LEARNING 03

LOCAL-FIRST DOES NOT REMOVE SECURITY WORK

The moment a local protocol becomes remotely reachable, authentication, origin policy, proxy trust and vault boundaries become first-class engineering concerns.