Lithos¶
The meta system prompt your entire agent team shares¶
Persistent. Searchable. Always up to date.
Lithos is a local, privacy-first knowledge base that lets heterogeneous AI agents β Agent Zero, Claude Code, OpenClaw, LangGraph, CrewAI, and more β read, write, and coordinate through a single MCP interface. Human-readable Markdown on disk. Zero cloud. Zero lock-in.
Markdown-first
Every knowledge item is a plain .md file compatible with Obsidian. Your agents' memory is human-readable and version-controllable β inspect it, edit it, git diff it.
Hybrid search
Tantivy full-text BM25 + ChromaDB semantic vectors, fused with Reciprocal Rank Fusion (RRF) β plus LCMA cognitive retrieval that learns which notes actually help.
Multi-agent coordination
Task claiming with TTL-based locks, plus a full task graph: blocking dependencies, epics, gates on the outside world, and a query for what's ready to work right now.
Knowledge graph
Wiki-links ([[note]]) build a NetworkX graph automatically. Traverse relationships, query provenance lineage, and assert typed edges between notes.
MCP native
Exposes 37 tools via the Model Context Protocol over stdio or HTTP (StreamableHTTP + legacy SSE on one port). Add Lithos to any MCP-compatible agent in seconds β no SDK required.
Truly local
No API keys. No telemetry by default. No cloud sync. Runs on a Raspberry Pi, a Mac Mini, or a VPS. Your data stays where you put it.
Quickstart¶
Lithos is now serving MCP at http://localhost:8765/mcp (StreamableHTTP) and http://localhost:8765/sse (legacy SSE).
Add to your claude_desktop_config.json:
In ~/.openclaw/workspace/config/mcporter.json:
Your agents, talking to each other¶
# Agent A discovers something useful
lithos_write(
title="Rate limiting pattern for OpenAI API",
content="Use exponential backoff with jitter. Base delay 1s, max 60s...",
tags=["openai", "rate-limiting", "patterns"],
agent="research-agent"
)
# Agent B finds it instantly β no re-researching, no duplicated work
results = lithos_search(query="openai rate limit backoff", mode="hybrid")
# β [{ title: "Rate limiting pattern for OpenAI API", score: 0.94, ... }]
# Agent C coordinates parallel work
task = lithos_task_create(title="Audit all API integrations", agent="orchestrator")
lithos_task_claim(task_id=task["task_id"], aspect="OpenAI audit",
agent="agent-c", ttl_minutes=60)
# Agent D just asks what's unblocked and ready to work
ready = lithos_task_ready()
Why Lithos?¶
In 2026, running one agent is table stakes. Running a team of agents is where it gets interesting β and where it gets messy. Agents duplicate research, contradict each other, lose context, and can't coordinate without a shared channel.
Lithos is that channel. It's the shared memory layer your agents can actually trust: every item is timestamped, attributed, versioned, and searchable. Agents can declare confidence, set freshness deadlines, and build provenance chains. The knowledge base is a first-class artefact you can open in Obsidian, commit to git, and inspect at any time.
The AI Runtime
Think of Lithos like a software runtime for knowledge β not a static library. Notes are executable instructions. Outdated notes are bugs. Retrieval feedback adjusts each note's salience over time, and the reconcile pipeline flags stale knowledge.