Skip to main content

Shared cognitive substrate for AI agents (local-first, Markdown-native, MCP)

Project description

Lithos

Shared memory for AI agents.

A local, privacy-first knowledge base that enables heterogeneous AI agents to share knowledge and coordinate work.

What It Is

Lithos is an MCP server that provides a shared knowledge store for AI agents running on your local infrastructure. Knowledge is stored as human-readable Markdown files (compatible with Obsidian) while providing fast full-text and semantic search for agents.

Who It's For

  • Teams running multiple AI agents (Agent Zero, OpenClaw, Claude Code, custom agents)
  • Developers who want agents to share discoveries and avoid duplicate work
  • Anyone who needs agent knowledge to be inspectable and version-controlled

Key Features

  • 📁 Markdown-first: All knowledge stored as Obsidian-compatible .md files
  • 🔍 Fast search: Tantivy full-text + ChromaDB semantic search
  • 🕸️ Knowledge graph: NetworkX-powered relationships via [[wiki-links]]
  • 🤝 Multi-agent coordination: Task claiming, findings sharing, status tracking
  • 🧠 Research cache: One-call freshness check so agents skip redundant research — returns hit/miss/stale with update guidance
  • 🔗 URL deduplication: Automatic detection and prevention of duplicate notes from the same source URL
  • 🧬 Provenance tracking: Declare which notes a synthesis is derived from and query lineage across the knowledge base
  • 🔌 MCP interface: Works with any MCP-compatible agent or tool
  • 🏠 Local & private: No cloud dependencies, you own your data

Quickstart

Agent Zero

Agent Zero running inside docker on the same machine running lithos

{
  "mcpServers": {
    "lithos": {
      "url": "http://host.docker.internal:8765/sse"
    }
  }
}

OpenClaw

Update mcporter.json Probably in ~/.openclaw/workspace/config/mcporter.json

Use localhost if running on the same machine as OpenClaw, otherwise the name or IP address of the server.

{
  "mcpServers": {
    "lithos": {
      "baseUrl": "http://<your hostname>:8765/sse"
    }
  },
  "imports": []
}

Claude code

claude mcp add --transport sse lithos http://localhost:8765/sse

Documentation

Tech Stack

Component Technology
Storage Markdown + YAML frontmatter
Full-text search Tantivy
Semantic search ChromaDB + sentence-transformers
Knowledge graph NetworkX
Agent interface MCP (FastMCP)
File sync watchdog

Development Commands

# Install dependencies (uses uv)
uv sync --extra dev

# Run unit tests
uv run --extra dev pytest -m "not integration" tests/ -q

# Run integration tests
uv run --extra dev pytest -m integration tests/ -q

# Run all tests with coverage
uv run --extra dev pytest tests/ --cov=lithos --cov-report=xml

# Lint
uv run --extra dev ruff check .

# Format check
uv run --extra dev ruff format --check src/ tests/

# Type check
uv run --extra dev pyright src/

# Auto-fix lint + format
uv run --extra dev ruff check --fix . && uv run --extra dev ruff format src/ tests/

# Start server (stdio)
uv run lithos serve

# Start server (SSE)
uv run lithos serve --transport sse --port 8765

# Docker
cd docker && docker compose up -d --build

# run pointing at data dir
LITHOS_DATA_PATH="<DATA DIR PATH>" docker compose up -d --build

# stop
cd docker && docker compose down

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lithos_mcp-0.1.6.tar.gz (483.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lithos_mcp-0.1.6-py3-none-any.whl (71.4 kB view details)

Uploaded Python 3

File details

Details for the file lithos_mcp-0.1.6.tar.gz.

File metadata

  • Download URL: lithos_mcp-0.1.6.tar.gz
  • Upload date:
  • Size: 483.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for lithos_mcp-0.1.6.tar.gz
Algorithm Hash digest
SHA256 ec326fa0a5432618da5484643b56bcf059fc2dd4eb66b42df0a670be9d82c802
MD5 250fa48717394c096cd22a053087376e
BLAKE2b-256 81b7d78da0a1e3774854c598507a18a1455b811a88679af71693691bb6fb46a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for lithos_mcp-0.1.6.tar.gz:

Publisher: pypi.yml on agent-lore/lithos

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lithos_mcp-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: lithos_mcp-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 71.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for lithos_mcp-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 0342d3b6c289c818edf83191e27a0966607fb408212841bdc8743c36d511dc8d
MD5 3c4688a0cf5da6d18ca1fc0da532ab59
BLAKE2b-256 67d28a340725e31df7a788f3e88630d402eb38e181d78e1f94af531f95231f1c

See more details on using hashes here.

Provenance

The following attestation bundles were made for lithos_mcp-0.1.6-py3-none-any.whl:

Publisher: pypi.yml on agent-lore/lithos

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page