Skip to main content

Unified knowledge management MCP server with document intelligence and research workflows

Project description

Lore

The operational knowledge layer for engineers and their AI agents.

Version Python MCP PostgreSQL CI


The Problem

Your agents are capable. But every session, they start from zero — no knowledge of your infrastructure, no memory of what broke last month, no idea why you made that architecture call.

You re-explain. They re-discover. Context vanishes when the session ends.

Lore fixes that.

Without Lore:                    With Lore:
─────────────────                ──────────────────────────────────
Agent session starts             Agent queries Lore on startup
"How does our infra work?"       Gets: topology, gotchas, runbooks,
You re-explain everything        recent incidents, verified decisions
Session ends, context lost       Knowledge persists across all sessions
                                 Next agent starts informed

What Lore Does

Knowledge Base

Structured operational knowledge your agents query in real time.

# Capture a hard-won gotcha
kb_add(topic="proxmox", title="LXC resolv.conf inherits from host — breaks without Tailscale",
       content="...", author="david", source_type="human")

# Agent queries before touching anything
kb_search(query="proxmox lxc dns")  # returns the gotcha instantly

Investigations

Structured debugging with a traceable paper trail from symptom to resolution.

investigation_add(topic="anki-media", title="Media not loading after container restart",
                  content="Hypothesis: mount collision between container volumes...")

investigation_log_experiment(title="Mount collision test", hypothesis="...",
                              results={"collision": True}, conclusion="Confirmed. Remove duplicate mount.")

Six months later, a different engineer hits the same issue. The trail is there.

Journal

Permanent record of milestones, architecture decisions, and buying decisions.

journal_append(entry_type="milestone",
               content="Migrated monitoring stack to ops bastion. Rationale: centralized visibility.",
               tags=["monitoring", "migration"])

Attribution

In a multi-agent system, provenance matters. Every Lore entry carries author, source_type, and verified.

kb_search("proxmox lxc networking")

Results:
  [1] "LXC resolv.conf inherits from host — Tailscale breaks containers"
      author: david | source_type: human | verified: true

  [2] "LXC container DNS fix after Tailscale install"
      author: engineer-agent | source_type: agent | verified: null

  [3] "LXC DNS configuration reference"
      author: research-agent | source_type: agent | verified: false

Agents know: result 1 is production-safe. Result 2, spot-check first. Result 3, review before acting.


Quick Start

Solo (SQLite — no server needed)

pip install lore-mcp
export DB_BACKEND=sqlite KNOWLEDGE_DATA_DIR=~/.lore
lore-mcp

Add to Claude Code (~/.claude.json or project .mcp.json):

{
  "mcpServers": {
    "lore": {
      "command": "lore-mcp",
      "env": {
        "DB_BACKEND": "sqlite",
        "KNOWLEDGE_DATA_DIR": "/home/yourname/.lore"
      }
    }
  }
}

Team (PostgreSQL)

pip install lore-mcp
export DB_BACKEND=local DB_HOST=localhost DB_PORT=5432 \
       DB_NAME=lore DB_USER=lore_user DB_PASSWORD=yourpassword
lore-mcp --host 0.0.0.0 --port 5555

All agents on your team point at http://your-server:5555/mcp. One shared knowledge layer.


Tool Reference

Knowledge Base

Tool What it does
kb_add Add an entry. Accepts author, source_type for attribution.
kb_search Semantic search with optional topic filter.
kb_get Fetch full entry by ID.
kb_list List entries, filter by topic.
kb_update Update content, tags, or set verified flag.
kb_delete Delete entry (requires confirm=true).

Investigations

Tool What it does
investigation_add Open or add to an investigation (topic, title, content, tags).
investigation_list List investigations, filter by topic.
investigation_get Fetch full investigation by ID.
investigation_log_experiment Log a structured experiment with hypothesis, methodology, results, conclusion.
investigation_list_experiments List all logged experiments.

Journal

Tool What it does
journal_append Add a milestone, decision, or reflection.
journal_list List recent entries (default 20).
journal_get Fetch entry by ID.
snapshot_config Snapshot a config object to the journal.

Document Ingestion

Tool What it does
kb_ingest_doc Ingest a markdown file into the KB.
kb_ingest_dir Batch-ingest a directory, with change detection.
kb_sync_status Check what's changed since last sync.

MCP Index

Tool What it does
mcp_index_scan Scan all configured MCP servers and index their tools.
mcp_index_search Search indexed tools by description.
mcp_index_get_server Get all tools for a specific MCP server.
mcp_index_rebuild Force a full rescan.

Search

Tool What it does
multi_search Search across KB, investigations, journal, and transcripts at once.
search_local Search local files by content.
search_transcripts Search Whisper transcript segments.
deduplicate_results Deduplicate a result set by similarity.
cluster_results Cluster results by topic.

Backends

Backend Use case Setup
SQLite Solo / local dev / single machine No server, one env var
PostgreSQL Team / shared / production Self-hosted DB
Supabase Cloud PostgreSQL Managed, zero-ops

How It's Different

Tool Built for What it remembers Agent-native
OB1 / personal memory One person Your thoughts and captures No
Mem0 / Zep App developers User preferences, conversations Partially
Confluence / Notion Human teams Documentation (human-browsed) No
Lore Engineering teams + AI agents How your systems work Yes

Lore is not a second brain. It's the operational intelligence layer your agents need to work in your environment — not just any environment.

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

lore_knowledge_mcp-0.5.0.tar.gz (48.9 kB view details)

Uploaded Source

Built Distribution

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

lore_knowledge_mcp-0.5.0-py3-none-any.whl (46.0 kB view details)

Uploaded Python 3

File details

Details for the file lore_knowledge_mcp-0.5.0.tar.gz.

File metadata

  • Download URL: lore_knowledge_mcp-0.5.0.tar.gz
  • Upload date:
  • Size: 48.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for lore_knowledge_mcp-0.5.0.tar.gz
Algorithm Hash digest
SHA256 ee93fad84c1e59ee71b512ed449a4a080529d01f6fedc209f7f94b5f900b8103
MD5 4d1464562fb39a7a8f420e8bb6bf014d
BLAKE2b-256 73a8e6e13b58a7c7b0fee339dc79c222cec9eebf0adf15921e54d8d2978aaea2

See more details on using hashes here.

Provenance

The following attestation bundles were made for lore_knowledge_mcp-0.5.0.tar.gz:

Publisher: publish.yml on davidgut1982/lore-mcp

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

File details

Details for the file lore_knowledge_mcp-0.5.0-py3-none-any.whl.

File metadata

File hashes

Hashes for lore_knowledge_mcp-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ed7d0b07dfcb4502e16c3bf95c0b9551f8e1a199afa80829963a5b4e8233977d
MD5 c14bceb57d5d008c11779b467a2e89a6
BLAKE2b-256 a00926b8653e52d2dce1c1197090c479b5831724a077834665defcc295377ecd

See more details on using hashes here.

Provenance

The following attestation bundles were made for lore_knowledge_mcp-0.5.0-py3-none-any.whl:

Publisher: publish.yml on davidgut1982/lore-mcp

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