A desktop knowledge graph with full-text search, multi-LLM canvas, and MCP integration.
Windows · macOS · Linux
Download · Features · Quick Start · MCP for Claude
Early development — expect rough edges. Bug reports welcome via Issues.
- Markdown notes with
[[wikilinks]]and YAML frontmatter (Obsidian-compatible) - Full-text search powered by Tantivy with graph-aware ranking
- Backlink graph with force-directed D3.js visualization
- Note workflows — Draft, Evidence, Canonical status progression
- Compare models side-by-side — send one prompt to GPT-4, Claude, Gemini, and 100+ others simultaneously
- Real-time streaming — parallel responses via OpenRouter
- Semantic note context — automatically retrieves relevant notes as LLM context
- Debate mode — models critique and build on each other's responses
- Infinite canvas — drag, zoom, and pan with D3.js
- Smart web search — auto-detects queries that benefit from live web results
- Distillation — split large notes into atomic notes and topic hubs using LLM or rules-based extraction
- Link Discovery — AI suggests connections between notes (Zettelkasten-style)
- Conversation Import — bring in chat history from ChatGPT, Claude, Grok, and Gemini
- Native Rust MCP server bundled with the app for Claude Desktop
- 10 tools: note CRUD, search, backlinks, outgoing links, recall, and conversation import
- Zero-config — copy the config snippet from Grafyn Settings into Claude Desktop
Grab the latest installer from Releases:
| Platform | File |
|---|---|
| Windows (64-bit) | Grafyn_*_x64-setup.exe |
| Windows (ARM) | Grafyn_*_arm64-setup.exe |
| macOS (Apple Silicon) | Grafyn_*_aarch64.dmg |
| Linux (Debian/Ubuntu) | grafyn_*_amd64.deb |
| Linux (Universal) | grafyn_*_amd64.AppImage |
Grafyn auto-updates after installation.
Prerequisites: Node.js 20+, Rust via rustup, and Tauri v1 dependencies.
cd frontend
npm install
node scripts/generate-icons.cjs # first build only
npm run tauri:dev # dev mode with hot reload
npm run tauri:build # production buildOn first launch, Grafyn walks you through setup:
- Vault path — where your markdown notes are stored (default:
~/Documents/Grafyn/vault/) - OpenRouter API key — required for Canvas, distillation, and link discovery (get one here)
All data stays on your machine. No account needed.
Connect Claude Desktop to your knowledge base:
- Open Grafyn Settings and copy the MCP config snippet
- Add it to your
claude_desktop_config.json:
{
"mcpServers": {
"grafyn": {
"command": "path/to/grafyn-mcp",
"args": ["--vault", "path/to/vault", "--data", "path/to/data"]
}
}
}The MCP server is a standalone Rust binary (grafyn-mcp) bundled with the installer. It shares the same vault and search index as the desktop app.
Single binary, no server — Tauri wraps a Vue 3 frontend with a Rust backend.
Tauri Desktop App
├── Vue 3 Frontend (WebView)
│ └── Tauri IPC (invoke)
├── Rust Backend
│ ├── 65 IPC commands across 13 modules
│ ├── Tantivy full-text search
│ ├── petgraph link graph
│ └── OpenRouter LLM integration
├── grafyn-mcp (bundled MCP server)
└── ~/Documents/Grafyn/
├── vault/ (markdown notes)
└── data/ (search index, canvas sessions, settings)
| Layer | Technology |
|---|---|
| Frontend | Vue 3, Vite, Pinia, D3.js |
| Desktop | Tauri 1.8 |
| Search | Tantivy 0.22 |
| Graph | petgraph 0.6 |
| LLM | OpenRouter via reqwest |
| MCP | rmcp (stdio transport) |
| Updates | Cloudflare R2 + Workers |
- Fork and create a feature branch
- Make changes and add tests
- Run
cargo testandnpm run test:run - Submit a pull request
See CLAUDE.md for detailed architecture docs, IPC command reference, and CI pitfalls.