Generated banner for data-olympus
Generated logo for data-olympus

data-olympus

Memory serverOfficial Knaisoma project

Created by Knaisoma

Published in knaisoma/data-olympus. Publisher page

30 GitHub stars

What it is

Governance-grade, OKF-compatible knowledge-base format with a single-writer MCP server and CLI. Pre-release.
— the description by Knaisoma

Summary from the brain’s metadata

Governance-grade, OKF-compatible knowledge-base format with a single-writer MCP server and CLI. Pre-release. New here? Start with WHY.md. It is the story behind the project: the problem we kept hitting with coding agents, what data-olympus does differently, how it relates to Google's Open Knowledge Format, and where our benchmarks say it is strong and where it is not. The rest of this README is the technical reference.

How it works

Memory model: Markdown vault

AutoGineer overview, from the brain’s own files

Memory model: Markdown vault. Folders: .github (agent config, 20 files); bin (scripts, 7 files); docs (docs, 47 files); scripts (scripts, 29 files); src (source code, 81 files); tests (tests, 286 files). The agent reads .rules/versioning.md, example-bundle.

Folders
FolderRoleFiles
.githubagent-config20
binscripts7
docsdocs47
scriptsscripts29
srcsource-code81
teststests286
.rulesfolder5
benchmarksfolder328
deployfolder19
example-bundlefolder27
releasefolder2

The agent reads

Requirements

Runtimes: Python >=3.13

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Google Antigravity, Kiro, OpenCode, Amp, Roo Code, Cline, JetBrains Junie, Devin (ex-Windsurf)

Set it up

  1. Not scanned by AutoGineerIts dependencies are installed by pip or uv when you run it and were not scanned by AutoGineer (5 declared). https://pypi.org/project/data-olympus/
  2. Not scanned by AutoGineerAutoGineer could not scan everything it runs. https://pypi.org/project/data-olympus/
  3. Created by Knaisoma. Published in knaisoma/data-olympus. Licence: Apache License 2.0.

Usage

From the brain’s own files

  • Requires Python 3.13+ and uv.
  • Run the stable CLI directly from PyPI:
  • Install it persistently when you are ready to create a bundle and run the server:
  • An announced candidate remains opt in through its exact PyPI version.
  • Replace X.Y.ZrcN with the candidate named on the releases page, if any:
  • See release channels for what each channel means, how to verify a candidate before adopting it, and how to roll back.
  • See docs/quickstart.md for bundle initialization, server startup, readiness, agent registration, and the contributor source installation.
  • See docs/adoption.md for the full bundle authoring guide.

Documentation by Knaisoma

data-olympus

Image: knaisoma/data-olympus MCP server Image: MCP Marketplace

<!-- mcp-name: io.github.knaisoma/data-olympus -->

New here? Start with WHY.md. It is the story behind the project: the problem we kept hitting with coding agents, what data-olympus does differently, how it relates to Google's Open Knowledge Format, and where our benchmarks say it is strong and where it is not. The rest of this README is the technical reference.

data-olympus is a governance-grade knowledge-base format and server for agent workforces. It is readable by Open Knowledge Format (OKF) v0.2 consumers: it inherits OKF's directory structure, frontmatter conventions, reserved filenames, and link model, then layers governance extensions on top (stable id, controlled type/status/tier fields, supersedes chains) plus a single-writer MCP server and a CLI. CI proves two concrete directions against official Google OKF v0.2 commit ad30107c31c06aec8a7d5636e0d1058118604e6f: its reference visualization consumer reads every concept in example-bundle, and data-olympus imports, lints, indexes, searches, and retrieves the pinned official Bitcoin sample. This is fixture-scoped interoperability evidence, not a blanket guarantee for every OKF bundle or future upstream revision. The result is a git-native, version-controlled document graph of engineering standards, architectural decisions, and project knowledge that agents and humans can read, search, and extend without any proprietary service.

It governs decisions, not code. When an agent is about to make a choice (a library, a pattern, a migration), data-olympus surfaces the established standard or decision that should govern that choice. It is deliberately not a code-search, reference-finding, or "where is X used" tool: LSP, grep, and Sourcegraph already do that well. The retrieval task it targets is coding-intent to governing-rule, and it helps where current model interaction during vibe-coding is weakest: keeping the model aligned to patterns the team has already established as correct.

Status: pre-1.0 beta. Stable releases are distributed through PyPI and GHCR.

Why

  • Portable, no lock-in. The entire KB is a directory of markdown files in git. No database, no proprietary schema, no vendor.

  • Git-native diffs and review. Every change is a commit. Proposed edits go through a pending queue before commit; history is plain git log.

  • Agent and human readable. Plain markdown with YAML frontmatter. No SDK required to read or author a document.

  • Governed multi-agent writes. The single-writer MCP pipeline (advisory locks, per-session worktrees, durable push queue) prevents concurrent write races without requiring distributed locking infrastructure.

  • Queryable by status, tier, and type. Filter by status: accepted, tier: T1, or type: decision without post-processing. The supersedes chain makes it possible to trace decision history across the graph.

  • Tested with official OKF tooling. CI pins an exact Google OKF revision and proves both consumption directions over committed fixtures. The pin, fixture checksum, and Apache 2.0 license provenance live in tests/okf/reference.json.

Quickstart

Requires Python 3.13+ and uv. Run the stable CLI directly from PyPI:

uvx --from data-olympus data-olympus --help

Install it persistently when you are ready to create a bundle and run the server:

uv tool install data-olympus
data-olympus init my-kb
data-olympus-mcp --help

An announced candidate remains opt in through its exact PyPI version. Replace X.Y.ZrcN with the candidate named on the releases page, if any:

uvx --from 'data-olympus==X.Y.ZrcN' data-olympus --help

See release channels for what each channel means, how to verify a candidate before adopting it, and how to roll back.

See docs/quickstart.md for bundle initialization, server startup, readiness, agent registration, and the contributor source installation.

See docs/adoption.md for the full bundle authoring guide.

Documentation

  • SPEC.md: format specification (bundle layout, frontmatter schema, serving contracts).

  • docs/quickstart.md: verified local-run procedure.

  • docs/adoption.md: bring-your-own-KB guide (author, lint, index, serve, wire an agent).

  • docs/serving.md: single-replica serving model, read-only replicas, git pull loop, health/readiness/liveness split, proxy headers, audit-log rotation.

  • docs/operations.md: production runbook: backup, upgrade, recovery playbooks (degraded/fetch-failed, history rewrite, frozen/demoted push entries, orphaned locks), the health/alerting model, and release channels (stable and candidate, verification, rollback).

  • docs/comparison.md: how data-olympus relates to OKF, enterprise catalogs, markdown KB tools, agent-context conventions, RAG, and ADR tooling.

  • docs/okf-profile.md: field-by-field OKF profile: which governance extensions are stable, which are runtime-only serving fields, and which are experimental candidates.

  • docs/glama.md: Glama registry claim, release, and score-maintenance notes.

  • docs/mcp-registry.md: official MCP Registry notes, what server.json declares, and the checklist for publishing.

  • docs/enforcement.md: turning the KB into a mandatory consultation gate (hooks, kb enforce).

  • benchmarks/README.md: retrieval benchmark methodology and how to reproduce the numbers in docs/comparison.md.

  • SECURITY.md: supported versions and how to report a vulnerability.

License

Apache 2.0. See LICENSE and NOTICE.

docs/glama.md

Glama registry notes

Data Olympus is listed on Glama at:

Claim metadata

Repository ownership is declared in the root glama.json. For an organization-owned repository, Glama requires this file so a GitHub user with repository access can claim and manage the server listing.

Release setup

Glama only scores the tool surface after it can build, start, and introspect the MCP server. The Data Olympus production image is built from the repository root with a non-root Dockerfile path:

  • Build context: repository root

  • Dockerfile path: deploy/docker/Dockerfile

  • HTTP port: 8080

  • MCP endpoint: /mcp

For Glama introspection, do not point the release at a real operator knowledge base. Use the repository's bundled example-bundle corpus. It is safe to expose, it lets startup build a SQLite index with a schema, and it gives catalog inspectors valid results for read tools instead of an empty database or a database without tables.

Suggested sandbox environment:

KB_MAIN_PATH=/example-bundle
KB_INDEX_PATH=/index/kb.db
KB_REMOTE_URL=
KB_GIT_REMOTE_URL=
KB_HTTP_PORT=8080

Leave KB_AUTH_TOKEN and KB_AUTH_PRINCIPALS unset for the public sandbox so Glama can introspect the schema. Do not mount deploy keys or production state into the Glama release.

Score maintenance

Glama derives the score from the running server, not from README prose alone. The highest-impact repo-side checks are:

  • Keep glama.json valid and merged to main.

  • Keep the Glama score badge in the README so downstream catalog PRs can link the canonical server entry.

  • Keep MCP tool annotations accurate: read-only tools must be marked read-only, write/proposal tools must not be.

  • Keep every MCP parameter schema described. Glama's TDQS rubric uses schema description coverage when scoring parameter semantics.

  • Keep tool descriptions concise and sibling-aware: say when to use a tool and which neighboring tool to use instead.

  • After changing MCP tool descriptions, titles, annotations, or parameter schemas, trigger a new Glama release or rescan so the public score updates.

Maintenance profile actions

The 0.6.0 Glama readiness pass addresses the remaining profile gaps tracked in GitHub issue #155.

Completed repository actions:

  • glama.json declares related servers: knowledge-mcp, en-quire, md-graph, and obsidian-kb.

  • Public issue triage comments record maintainer responses for the current open backlog entries that lacked one.

  • The public sandbox image uses example-bundle, so usage seeding can exercise real read tools without exposing an operator knowledge base.

Manual follow-up after the release branch merges:

  • Trigger a Glama rescan or new release.

  • Use Glama "Try in Browser" against the rebuilt sandbox and call kb_health, kb_search, kb_get, kb_list, kb_outline, kb_onboarding_status, and kb_cleanup_plan.

  • Recheck the score page and confirm Maintenance grade A and profile completion 100 percent.

512 files · 486 not served here

Advantages

  • Local-first: the memory stays in files or a database on your own machine (a rule-derived fact from the brain’s files, evidence: README.md)
  • Works with 14 MCP clients (a rule-derived fact from the brain’s files, evidence: README.md)
  • Plain markdown memory that you can read and edit yourself (a rule-derived fact from the brain’s files, evidence: README.md)
  • No API key is named in its files (a rule-derived fact from the brain’s files, evidence: README.md)
  • Open licence (Apache-2.0) (a rule-derived fact from the brain’s files)

Limitations

  • No ZIP download: install it from its source (a rule-derived fact from the brain’s files)

Security

Risk level: Low risk

This brain runs

Agent instructions that run or fetch something (5)

  • AGENTS.md: `uv run pytest` on its own is not equivalent.
  • AGENTS.md: `tests/test_server_cli.py` and `tests/test_smoke.py` spawn a subprocess with `sys.executable` and read installed distribution metadata, so without the editable install they fail with `No module named data_olympus.server` and a stale version assertion.
  • AGENTS.md: Anything that gates on `uv run pytest` without the editable install (a release routine, a scheduled job) will block on a false failure.
  • AGENTS.md: Run the linter before the tests.
  • tests/importer-fixtures/.cursorrules: Run the type checker in CI and treat type errors as build failures rather than warnings.
  • Low risk: network-instructions (AGENTS.md:75)
  • Low risk: scripts-present (scripts/check_benchmark_docs.py)
  • Low risk: scripts-present (scripts/okf_conformance.py)

Attribution and licence

Created by
Knaisoma
Declared authors
  • knaisoma (declared in pyproject.toml)
Publisher
Knaisoma (Official Knaisoma project)
Source
knaisoma/data-olympus · commit 6d46033
Licence
Apache License 2.0 (files served here)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

AutoGineer is not affiliated with or endorsed by Knaisoma.

Install from source

486 of its files are not served here, so there is no ZIP. knaisoma/data-olympus at 6d46033