Skip to main content
返回
PythonLLMMCPKnowledge GraphSQLiteLocal-firstAI Agents

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.

01. 问题

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.

02. 解决方案概述

  • Built a local document ingestion pipeline (MD, PDF, TXT, images) feeding a SQLite-backed knowledge store
  • LLM extraction layer produces typed nodes — claims, concepts, entities, decisions — compounded additively across sources as the corpus grows
  • Hybrid FTS5 + semantic search with graph-neighbour expansion surfaces deep 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 manages independent vaults with cross-vault search, contradiction detection, and policy drift radar

构建

技术栈

Python 3.10+SQLite FTS5 (hybrid search)MCP stdio serverOpenAI / Anthropic / Mock LLM providersObsidian-compatible vault layout
  • Ingests Markdown, PDF, TXT, and images into a linked, searchable, git-friendly wiki
  • LLM extraction layer produces typed knowledge nodes: claims, concepts, entities, and decisions — compounded additively across sources
  • 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 — cross-vault search, contradiction detection, and policy radar across independent vaults
  • 183 tests passing across 18 completed phases

安全

  • Local-first by design — no cloud storage or external transmission of document content
  • MCP server is read-only by default; write mode requires explicit opt-in flag
  • Project paths stored in ~/.zurvan/projects.json — 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

03. 证明与验证

已验证声明

  • >183 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

项目链接