
Chaos Cypher
io.github.chaoscypherincPublished by GitHub account chaoscypherincv0.7.2Updated Nov 7, 2026
Local-first knowledge graphs from your documents: build, search (GraphRAG) and edit on your machine.
Overview
Local-first GraphRAG server that lets an assistant build, search, traverse and edit a knowledge graph extracted from your own documents.
- What you can do
- Search the knowledge graph with keyword, semantic, hybrid and GraphRAG modes
- Traverse entities and relationships and trace them back to their source documents
- Build and refine the graph by adding sources and correcting extractions
- Export and import portable knowledge packages for backup or transfer
- Chat over your sources with answers cited to the underlying content
- When to use it
- Useful when you want an assistant to answer questions from a private document collection with traceable citations, or to explore and curate an entity graph rather than a black-box vector index. Best suited to self-hosters who want the corpus and embeddings to stay on their own machine.
- Requirements
- Runs as a local process via uvx from the chaoscypher-cli PyPI package, and the full platform is normally run with Docker and Docker Compose. A single-user login is created on first run, and an LLM provider must be configured: a local Ollama model or an API key for OpenAI, Anthropic or Gemini.
Installation
In SourceWeft
- Open Chaos Cypher in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
Chaos Cypher Knowledge Engine
[License: AGPL-3.0] [Release] [PyPI] [Docs] [Discussions]
Turn your documents into a knowledge graph you can inspect, search, chat with, and take with you — all running on your own machine.
Chaos Cypher is a local-first GraphRAG platform — knowledge you can see,
trust, and own. Point it at your sources (documents, audio, video, images,
pasted text, web pages — 30+ formats, auto-detected), and it extracts entities
and relationships into a knowledge graph you can actually see and explore —
not a black-box vector blob. Search it, chat with it, refine it, and export the
result as a portable Lexicon knowledge package (.ccx) you can back up,
share, or load into another instance.
Why Chaos Cypher
- Local-first GraphRAG — sources → extraction → graph → search & chat, with embeddings generated on your own system. Bring your own LLM, or run fully offline with Ollama.
- Inspectable knowledge graphs — every entity and relationship is visible and traceable back to its source. You can correct extractions, not just trust them.
- Portable knowledge packages — import and export your graph as a self-contained package. Your knowledge is yours to move, version, and keep.
- MCP server built in — plug Claude Desktop, Cursor, or any MCP client straight into your graph: 46 tools for search, traversal, and graph building.
- Self-hosted control — you choose where data lives and which models touch it. The all-in-one container runs the whole stack on hardware you control.
Feature highlights
Core intelligence
- Knowledge graph canvas — typed, filterable, zoomable from corpus overview down to a single entity and its sources
- GraphRAG search — graph traversal fused with vector search (Personalized PageRank + Reciprocal Rank Fusion), plus keyword, semantic, and hybrid modes
- AI chat with citations — answers grounded in your content, traceable back to the sources that produced them
Data foundation
- Quality analysis — score graph richness on a 0–100 scale, with breakdowns that flag weak sources
- 30+ source formats — PDF, DOCX, Markdown, HTML, EPUB, audio (MP3/WAV/FLAC), video (MP4/MKV/MOV), images, ZIP archives, and more
- Mix-and-match LLMs — Ollama, OpenAI, Anthropic, or Gemini, configurable per operation
Automation & integration
- Automations — visual workflow builder with triggers and conditional logic
- MCP server — 46 tools for Claude Desktop, Cursor, ChatGPT, and other MCP clients
- Plugin system — drop-in Python document loaders, extraction domains, and workflow tools
What data leaves your machine?
By default, nothing leaves your machine except the LLM calls you configure. Embeddings are computed locally; your documents, graph, and exports stay on disk in a Docker volume you own. If you point Chaos Cypher at a hosted LLM provider (OpenAI, Anthropic, Gemini), the text sent for extraction and chat goes to that provider — choose a local model like Ollama to keep everything on-device.
Read the Self-Hosted Threat Model for exactly what Chaos Cypher defends against, what it accepts by design, and how to harden a LAN or internet-facing deployment.
📸 See It in Action
A quick tour — from dropping in a document to asking a question and tracing the answer back to the exact highlighted sentence in your source:
▶️ Watch the full tour (with audio-free narration captions) on chaoscypher.com.
Dashboard — your knowledge base at a glance: entity and relationship counts, quality and density scores, and a live graph preview.
[Dashboard showing entity and relationship counts, quality metrics, and a graph preview]
Knowledge graph — every source becomes an explorable, color-coded graph. Pan, zoom, search, and filter to see exactly what was extracted.
[Knowledge graph view with color-coded entity clusters around their source documents]
Entities — inspect any extracted entity: typed, directional relationships ranked by importance, with stats and provenance back to the source document.
[Entity connections view listing typed relationships sorted by importance]
Sources — each document gets a transparent pipeline view: loaded → cleaned → chunked → extracted → indexed, plus per-source entity distribution.
[Source overview with pipeline flow stages, extraction counts, and entity distribution]
Chat — ask questions in plain language and get GraphRAG answers with inline entity citations you can click through to the graph.
[Chat answering a question with a ranked entity list and clickable entity citations]
🚀 Quick Start
Prerequisites: Docker (with Compose). That's it for end users — embeddings run locally on CPU. You'll also want an LLM provider; Ollama keeps everything on-device.
Run the published container (recommended)
The recommended install path is the all-in-one image published to the GitHub Container Registry:
Prefer Compose? Save this as docker-compose.yml and run docker compose up -d:
The image is built and pushed on every
vX.Y.Zrelease by.github/workflows/publish-ghcr.yml.
Install the CLI from PyPI
Terminal-first? The standalone CLI installs with pipx (or plain pip):
All four Python packages (chaoscypher-core, -cortex, -neuron,
-cli) are published to PyPI on
every release — chaoscypher-core gives you the same extraction and search
engine as an embeddable library. See the
developer quickstart.
Build from source (alternative / development)
Clone and build the all-in-one image locally — no published image required:
Try it in about 5 minutes
The quickstart covers this in detail — import and search work within about 5 minutes; extraction and chat come online once your LLM provider is set up (for Ollama, after a one-time model download).
- Start the app with one of the paths above and open http://localhost.
- Create your single-user login on the first-run setup page.
- Pick an LLM provider in Settings — point at a local Ollama model to stay fully offline, or add an API key for OpenAI / Anthropic / Gemini.
- Add a source — upload a document or paste text. Chaos Cypher extracts entities and relationships in the background (watch progress in the Queue Monitor).
- Explore the graph — open the knowledge graph view to see what was extracted, search across it, and chat with your sources.
- Export a knowledge package when you're happy with the result, so you can back it up or load it elsewhere.
Development setup (with hot-reload)
For contributors who need per-service hot-reload (requires Python 3.14+,
Node.js 24+, and uv 0.11+ — uv replaces pip and
reads the committed uv.lock):
📦 Monorepo Structure
🛠️ Common Commands
Docker
View Logs
Testing
Individual Packages
📖 Documentation
- Published Docs Site - Full user and developer documentation
- Contributor Guide - Contribution workflow, PR checklist, and review expectations
- AI Contributor Guide - Public guidance for AI coding assistants
- Core Architecture - Hexagonal architecture deep dive
- Documentation source - Docusaurus documentation site source
- Architecture Decisions - Public ADRs
- Self-Hosted Threat Model - What data stays local, and how to harden exposure
Documentation Site (Docusaurus)
🏗️ Architecture Highlights
Chaos Cypher is organized using a brain-inspired metaphor, with each package mapped to a specialized role:
- 🧠 Core (
packages/core/) — framework-agnostic business logic (hexagonal architecture) - 🎛️ Cortex (
packages/cortex/) — FastAPI backend with vertical-slice architecture - ⚡ Neuron (
packages/neuron/) — background workers for LLM and operations processing - 💻 Interface (
packages/interface/) — React + TypeScript web UI - 🔧 CLI (
packages/cli/) — standalone command-line interface - 🐳 Docker (
packages/docker/) — orchestration (docker-compose files)
In plain English: the UI talks to one API, the API delegates all the real work to a framework-agnostic core, and slow jobs (extraction, exports) run in background workers so the app stays responsive.
Vertical Slice Architecture (Cortex Backend)
Features are self-contained vertical slices with complete functionality from API → Service → Repository → Database.
Hexagonal Architecture (Core Library)
The packages/core/ library uses Hexagonal Architecture for maximum flexibility and reusability.
- Ports: Protocol definitions (contracts)
- Adapters: Storage implementations (SQLite, file, LLM, web)
- Services: Business logic (framework-agnostic)
- Repositories: Domain repositories using storage adapters
Queue System
One unified Neuron worker consumes both queues:
- LLM queue (default 1 concurrent, one per enabled Ollama instance) - Chat, embeddings, entity extraction, tool LLM calls
- Operations queue (8 concurrent) - Source processing, exports, workflows
Monitor: http://localhost/queues (all-in-one; dev stack: http://localhost:3000/queues)
🔄 Development Workflow
🤝 Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make changes and add tests
- Ensure all tests pass
- Commit your changes following Conventional Commits (
git commit -m 'feat(scope): add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
💬 Community & Support
- Questions, ideas, show-and-tell → GitHub Discussions
- Bugs and feature requests → Issue Tracker
- What's shipping → Blog · Changelog · Roadmap
If Chaos Cypher is useful to you, a ⭐ on the repo genuinely helps other self-hosters find it.
📄 License
Chaos Cypher is licensed under the GNU Affero General Public License v3.0 only
(AGPL-3.0-only) — see the root LICENSE file. A separate
proprietary enterprise edition is available; external contributions are accepted
under the project CLA.
🔗 Links
Source: README.md at commit 3e91c69
Tools
0Version history
5- v0.7.2LatestNov 7, 2026
- v0.7.1Nov 6, 2026
- v0.7.0Nov 6, 2026
- v0.6.0Oct 29, 2026
- v0.5.0Sep 27, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts