Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Lore DB Server

FreeNot checked

Provides tools for semantic search, CRUD, verification, and reindexing of documents in a local vector-based knowledge base, usable via HTTP or stdio.

GitHubEmbed

About

Provides tools for semantic search, CRUD, verification, and reindexing of documents in a local vector-based knowledge base, usable via HTTP or stdio.

README

A local, vector-based knowledge base with semantic search, a web UI, and an MCP server for use with Claude and other AI tools.

  • Python backend — FastAPI REST API, sentence-transformer embeddings, SQLite storage
  • React frontend — document management, semantic search, analytics dashboard
  • MCP server — eight tools (get, search, create, update, delete, verify, stale, reindex) over HTTP or stdio
  • Multi-namespace — isolate knowledge bases per project using the X-KB-Namespace header or KB_NAMESPACE env var
  • Analytics — tracks MCP tool usage (searches, views, creates) in a separate SQLite database

Architecture

proxy (nginx :8765)
  ├── /api/         → backend (FastAPI :8000)
  ├── /mcp/         → mcp    (FastMCP :8000, streamable-http)
  └── /             → frontend (nginx :80, React SPA)
Module Description
backend/app/vector_store.py SQLite document store + all-MiniLM-L6-v2 semantic embeddings
backend/app/api.py FastAPI CRUD, search, reindex, analytics, namespace endpoints
backend/app/mcp_server.py MCP tools (stdio, SSE, streamable-http transports)
backend/app/service.py Per-namespace KB instances with LRU caching
backend/app/analytics.py MCP event logging in a global analytics.db
frontend/ Vite + React + TypeScript, TanStack Router, Tailwind

Quick Start

Production

npm run start

Runs docker compose up --build -d. The app is available at http://localhost:8765.

npm run stop      # docker compose down
npm run restart   # down + up --build -d

Development (hot reload)

npm run dev

Runs docker compose -f docker-compose.dev.yml up --build. The app is available at http://localhost:8766.

  • Backend restarts on Python file changes (--reload)
  • Frontend uses the Vite dev server with full HMR
  • Uses a separate database at .localdata/backend-dev/ so dev never touches prod data

Persistent Storage

SQLite databases are stored on the host and are gitignored:

Path Contents
.localdata/backend/knowledge_base*.db Document store (one file per namespace)
.localdata/backend/analytics.db MCP event log

MCP Configuration

The MCP server is exposed at http://localhost:8765/mcp/ using the streamable-http transport.

Add a .mcp.json in the directory where you start Claude:

{
  "mcpServers": {
    "knowledge-base": {
      "type": "http",
      "url": "http://localhost:8765/mcp/",
      "headers": {
        "X-KB-Namespace": "my-project"
      }
    }
  }
}

Set X-KB-Namespace to any alphanumeric slug. Each unique namespace gets its own isolated database.

Available MCP Tools

Tool Description
get_document(document_id) Fetch full document content
search_documents(query, limit) Semantic + lexical search with freshness decay
create_document(title, content) Add a new document
update_document(document_id, ...) Update title and/or content
delete_document(document_id) Remove a document
verify_document(document_id) Confirm a document is still accurate (bumps freshness timestamp)
get_stale_documents(days_threshold) Find documents that may be outdated
reindex_documents Re-embed all documents (run after first deploy or model changes)

Stdio fallback

For direct CLI invocation without the HTTP server:

{
  "mcpServers": {
    "knowledge-base": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "compose",
        "exec",
        "-T",
        "-e",
        "KB_NAMESPACE=my-project",
        "backend",
        "python",
        "-m",
        "app.mcp_server"
      ]
    }
  }
}

Reindexing

Run reindex_documents() via MCP tool, the Settings page, or curl after:

  • First deploy switching from the old hash embedder to all-MiniLM-L6-v2
  • Upgrading to a different embedding model
curl -X POST http://localhost:8765/api/reindex -H "X-Kb-Namespace: my-project"

Normal create and update operations always auto-embed — no manual reindex needed.

Running Tests

cd backend
python -m pytest tests/ -v

from github.com/andreehultgren/lore-db

Installing Lore DB Server

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/andreehultgren/lore-db

FAQ

Is Lore DB Server MCP free?

Yes, Lore DB Server MCP is free — one-click install via Unyly at no cost.

Does Lore DB Server need an API key?

No, Lore DB Server runs without API keys or environment variables.

Is Lore DB Server hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Lore DB Server in Claude Desktop, Claude Code or Cursor?

Open Lore DB Server on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Lore DB Server with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All ai MCPs