CSOAI-ORG

OpenChronicle

Community CSOAI-ORG
Updated

OpenChronicle

License: AGPL-3.0DockerPython 3.11+

A memory database for LLM agents. Persistent semantic + keywordmemory, project namespacing, git-onboard, served over HTTP REST andMCP from a single ASGI process. Runs on your hardware.

What it does

  • Persistent memory across sessions. Save decisions, milestones,and rejected approaches that survive context compression and newconversations. Retrieve them with hybrid full-text and semanticsearch via Reciprocal Rank Fusion.
  • Project namespacing. Memory is scoped to projects, so contextfor one workstream doesn't leak into another.
  • Git onboarding. Clone a repo, cluster commits by relatedness,return summaries ready for memory ingestion. Seeds long-term memorywith the WHY behind existing code.
  • One process, two transports. FastAPI hosts both the REST surface(/api/v1/*) and the MCP streamable-HTTP transport (/mcp) on thesame port. Single container, single port mapping, singlehealthcheck.
  • Embedding-failure degradation. When the embedding provider goesdown, search degrades cleanly to FTS5-only and surfaces thedegraded state via /health. Backfill catches up when the providerreturns.
  • Schema migration framework. Versioned .sql migrations withsavepoint atomicity. Re-runs are idempotent. Future schema changesdrop in as NNN_<slug>.sql files.
  • Atomic online backups. Uses SQLite's online backup API.Backup-before-destructive policy: vacuum runs a backup first aspart of the same job. Integrity-check failures trigger emergencybackups.

What it isn't

  • Not a conversation engine. v3 has no LLM. Use Claude Code, Goose,Open WebUI, etc. via the MCP server.
  • Not multi-tenant. Single user. Bearer-token auth via OC_API_KEYis supported but optional — disabled by default for trusted-LANdeployments. See docs/configuration/security_posture.md for thewhen-to-enable guidance.
  • Not a cloud sync layer. The DB lives on your hardware. Backups goto a directory next to it. Cross-device sync isn't built in (seeV3_PLAN.md open question 12 for the design sketch).

By design.

Install

From source:

pip install -e ".[mcp,openai]"
oc init
oc serve

The default oc serve binds 127.0.0.1:8000. Override with--host/--port or OC_API_HOST/OC_API_PORT.

Docker (single container, NAS-friendly):

docker run --rm \
  -p 8000:8000 \
  -v $(pwd)/data:/app/data \
  -v $(pwd)/config:/app/config \
  ghcr.io/carldog/openchronicle-mcp:latest

For a Portainer stack on a NAS, use the docker-compose.nas.yml atthe repo root.

Quickstart

# Bootstrap the runtime tree
oc init
oc init-config

# Create a project
PROJECT_ID=$(oc init-project "my-project")

# Save your first memory
oc memory add "Decision: SQLite for storage; AGPL for license" \
    --project-id $PROJECT_ID --tags decision

# Search it
oc memory search "storage decision" --project-id $PROJECT_ID

Or do the same via MCP — register the server with Claude Code:

claude mcp add --scope user --transport http openchronicle \
    http://127.0.0.1:8000/mcp

Then ask Claude to call memory_save and memory_search.

Architecture

Hexagonal: domain/ (pure types + ports) → application/ (use cases,services) → infrastructure/ (SQLite, embedding adapters, themaintenance loop). Driver-side adapters in interfaces/ host theHTTP, MCP, and CLI surfaces.

See docs/architecture/ARCHITECTURE.md for the full layout.

Documentation

  • docs/architecture/ARCHITECTURE.md — layout, schema, ASGI design
  • docs/architecture/MAINTENANCE.md — maintenance loop + degradation policy
  • docs/cli/commands.md — oc subcommand reference
  • docs/configuration/env_vars.md — environment variables
  • docs/configuration/config_files.md — core.json schema
  • docs/configuration/security_posture.md — security model
  • docs/integrations/mcp_client_setup.md — register the MCP server
  • docs/integrations/mcp_server_spec.md — MCP tool surface
  • docs/api/STABILITY.md — versioning + deprecation policy

Development

pip install -e ".[dev,mcp,openai,ollama]"
pre-commit install
pytest

The architecture is enforced by tests:

  • tests/test_hexagonal_boundaries.py — domain/application/infrastructure layering
  • tests/test_architectural_posture.py — core agnostic of MCP SDK
  • tests/test_no_secrets_committed.py, tests/test_no_soft_deprecation.py — repo hygiene

License

AGPL-3.0.

MCP Server · Populars

MCP Server · New

    n24q02m

    email

    IMAP/SMTP email for AI agents -- read, send, organize folders, and manage attachments across multiple accounts, with auto-discovery.

    Community n24q02m
    reticlehq

    reticle

    AI agents can generate code, but still struggle to understand what they build. Reticle brings Jev-style machine-native runtime perception to web & desktop applications.

    Community reticlehq
    tubeagentkit

    YouTube MCP Server: Transcripts, Search, Channels & Playlists

    YouTube MCP server: get YouTube video transcripts, search YouTube, browse channels and playlists from Claude, ChatGPT, Cursor and VS Code. Remote, free tier.

    Community tubeagentkit
    lrvx

    lrvx

    Framework for building trading systems

    Community lrvx
    koda-ai-studio

    agent-bom

    Open security scanner and self-hosted control plane for AI, MCP, and cloud. One evidence model — run scans in your environment, centralize findings, govern in your VPC.

    Community koda-ai-studio