Skip to main content
RaoufResearchOS
English
Sydney, AustraliaCurrent Sydney Time—
Press Escape to close this window.
Project Zurvan

Engineering

Project Zurvan

Project Zurvan is a local-first LLM knowledge engine that turns raw documents into a linked, searchable, git-friendly wiki, then exposes that wiki to AI agents via a Model Context Protocol (MCP) server. Inspired by Andrej Karpathy's personal knowledge management gist, Zurvan is designed for researchers, engineers, and agents that need structured long-term memory without cloud lock-in.

  • Python
  • LLM
  • MCP
  • Knowledge Graph
  • SQLite
  • Local-first
  • AI Agents

The source repository is private. Contact me to request access.

Project IdentityStill

01 / Overview

Knowledge and retrieval

Follow a typed idea from source to agent context

Select a knowledge type to trace its schematic relationship from a source document through retrieval. The labels below describe architecture, not a private-corpus example.

Illustrative schema · no corpus records or retrieval results shown
Source documentMarkdown · PDF · TXT · images

extracted from source material; links accumulate across sources

Claim: retrieved by hybrid search; graph neighbours can add related context

Hybrid retrievalFTS5 + semantic search · optional graph-neighbour expansion
MCP contextSearch and context tools for an agent

What the selected type means

  1. Claim

    A claim node preserves a statement as structured knowledge linked back to source material.

  2. Concept

    A concept node connects a topic to related knowledge across the local wiki.

  3. Entity

    An entity node represents a named subject that can connect claims and concepts.

  4. Decision

    A decision node records a decision as a typed item that can be retrieved with related context.

This schematic does not claim complete source fidelity, provenance coverage, or retrieval recall. It shows the documented data model and retrieval stages only.

Zurvan’s repository is private; this public-facing schema uses generic labels and contains no corpus records.

Problem

LLM agents lack persistent, structured memory that survives between sessions. Existing RAG pipelines either require cloud infrastructure or lose the relational structure of knowledge: which claim supports which decision, which concept contradicts another. A local-first solution needs to ingest arbitrary documents, preserve knowledge relationships as a graph, and present the result to agents in a queryable, privacy-preserving format.

Solution Overview

  1. Built a local document ingestion pipeline (MD, PDF, TXT, images) feeding a SQLite-backed knowledge store
  2. The LLM extraction layer produces typed nodes for claims, concepts, entities, and decisions. The knowledge set grows as the corpus grows
  3. Hybrid FTS5 + semantic search with graph-neighbour expansion surfaces deep context bundles for agent prompts
  4. MCP stdio server exposes zurvan_search, zurvan_context, zurvan_remember, zurvan_decision_add, and graph tools to Claude Code and Cursor
  5. Multi-project federation manages independent vaults with cross-vault search, contradiction detection, and policy drift radar

02 / Evidence

Proof & Verification

  • 218 tests passing across 18 completed development phases
  • MCP server verified with Claude Code and Cursor client setup guides
  • Obsidian vault integration with colour-coded 7-type knowledge graph (claims, concepts, entities, decisions, sessions, contradictions, syntheses)
  • Evidence pack → report → review → publish pipeline runs fully offline
  • Agent workflow orchestration (preflight / postedit / session close) documented for Claude Code and Codex

03 / Methods

Build

Tech Stack

  • Python 3.10+
  • SQLite FTS5 (hybrid search)
  • MCP stdio server
  • OpenAI / Anthropic / Mock LLM providers
  • Obsidian-compatible vault layout
  • Ingests Markdown, PDF, TXT, and images into a linked, searchable, git-friendly wiki
  • The LLM extraction layer produces typed knowledge nodes: claims, concepts, entities, and decisions. The knowledge set grows as sources are added
  • Hybrid FTS5 + semantic search with graph-neighbour expansion surfaces dense context bundles for agent prompts
  • MCP stdio server exposes zurvan_search, zurvan_context, zurvan_remember, zurvan_decision_add, and graph tools to Claude Code and Cursor
  • Multi-project federation supports cross-vault search, contradiction detection, and policy monitoring across independent vaults
  • 218 tests passing across 18 completed phases

Secure

  • Document content stays in local storage and is not sent to cloud services
  • MCP server is read-only by default; write mode requires explicit opt-in flag
  • Project paths are stored in ~/.zurvan/projects.json and are never committed to version control
  • Mock LLM provider available for safe dev/test without API key exposure
  • Agent memory isolated per vault; cross-vault federation requires explicit registration

Search

Find a project, paper, write-up, or page.

30 / 41 · Search results

↑ ↓ Workspace NavigationEnter OpenEsc Close