kryton
A shared brain for people and AI. Self-hosted knowledge base with built-in MCP server, wiki-linking, graph visualization, mobile sync, and plugin ecosystem.
Install / Use
claude mcp add azrtydxb -- npx -y github:azrtydxb/krytonIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
Content & MediaSupported Platforms
Skill content
View source on GitHubRecent UI improvements
- Editor tabs — open notes stack into a tab strip with a soft cap of 4 simultaneous tabs; oldest is evicted FIFO when you open a fifth.
- Customizable sidebar — move plugin panels between the left/right rails and reorder them up/down. Layout persists per user.
- Inline plugin settings — every plugin's configuration renders directly beneath its card in the admin panel, no separate dialog.
Why Kryton?
Your notes shouldn't live in a silo. Kryton is a knowledge base that both humans and AI agents can read, write, and reason over — through the same API, the same notes, the same graph.
For humans: A full-featured note-taking app with wiki-links, graph view, markdown editor, mobile app, and multi-user sharing.
For AI agents: A built-in MCP server gives Claude Code, Cursor, Windsurf, and any MCP-compatible agent direct access to your knowledge base — search notes, read context, create documents, traverse the knowledge graph, and use templates. Your AI assistant becomes a collaborator that remembers everything you've written.
Together: Humans write notes, AI reads them for context. AI generates documentation, humans review and refine it. Both contribute to a shared, interconnected knowledge graph.
Built-in MCP Server
Kryton ships with a production-ready MCP server at /api/mcp. No sidecar, no proxy, no extra setup — it's part of the app.
What AI Agents Can Do
| Tool | Description |
|------|-------------|
| list_notes | Browse all notes with paths and titles |
| read_note | Read any note's markdown content |
| create_note | Create new notes |
| update_note | Edit existing notes (full replace) |
| append_to_note | Append markdown to the end of an existing note |
| rename_note | Rename or move a note (keeps wiki-links intact) |
| delete_note | Remove notes |
| search | Full-text search across the entire knowledge base |
| get_backlinks | Find all notes linking to a given note |
| get_graph | Traverse the full wiki-link graph (nodes + edges) |
| list_tags / list_notes_by_tag | Browse tags and filter notes by tag |
| list_folders / create_folder | Navigate and create folders |
| get_daily_note / write_daily_note | Access or write today's daily note |
| list_templates / create_note_from_template | Use templates |
| list_favorites / add_favorite / remove_favorite | Manage starred notes |
| list_recent_notes / list_daily_notes / get_note_metadata | Discovery helpers |
| list_trash / restore_from_trash / empty_trash | Recover or purge deleted notes |
| rename_folder / delete_folder | Folder organisation |
| list_shares / list_shares_with_me / share_note / unshare_note | Share notes with other users |
| + Plugin tools | Plugins that register API routes are automatically exposed as MCP tools |
Connect Your AI Agent
One-shot install (recommended)
npx @azrtydxb/kryton-init
That single command:
- Asks for your Kryton server URL (defaults to
https://kryton.ai) - Signs you in and mints an API key
- Detects every supported AI tool on your machine
- Writes the correct MCP config to each one (HTTP for hosts that support it, stdio shim via
@azrtydxb/kryton-mcpfor the rest)
It's idempotent — re-running replaces previous Kryton entries instead of duplicating them, and backs up any config it touches.
Supported hosts: Claude Code, Cursor, Claude Desktop, Codex, OpenCode, Cline, Continue, KiloCode, RooCode (macOS + Linux).
Other commands: uninstall removes Kryton from every host, status shows which hosts are wired, detect previews without writing. Full reference in docs/CLI.md.
Manual wiring (escape hatch)
If you'd rather edit the config yourself:
1. Create an API key in Kryton: Account Settings > API Keys > Create (read-write scope)
2. Configure your agent:
<details> <summary><strong>Claude Code / Claude Desktop</strong></summary>Add to your MCP settings (~/.claude.json or project .mcp.json):
{
"mcpServers": {
"kryton": {
"type": "streamable-http",
"url": "https://your-kryton-instance/api/mcp",
"headers": {
"Authorization": "Bearer kryton_your_key_here"
}
}
}
}
</details>
<details>
<summary><strong>Cursor / Windsurf / Any MCP Client</strong></summary>
{
"mcpServers": {
"kryton": {
"type": "streamable-http",
"url": "https://your-kryton-instance/api/mcp",
"headers": {
"Authorization": "Bearer kryton_your_key_here"
}
}
}
}
</details>
3. Start using it: Ask your AI to "search my notes for...", "create a note about...", "what notes link to X?", or "read my project roadmap and suggest next steps."
Security
- Scoped API keys — read-only or read-write, with optional expiration
- Per-user isolation — each key accesses only that user's notes
- 256-bit entropy — keys use
kryton_prefix for secret scanning detection - Rate limited — 300 requests / 15 minutes per key
- No admin access — API keys cannot access admin functions
See API Keys & MCP docs for the full reference.
Features
Editor & Notes
- Markdown Editor — in-house editor with syntax highlighting, formatting toolbar, slash commands, and a host-provided suggestion popup (no external CodeMirror/Monaco dependency)
- Live Preview — rendered markdown with wiki-links, frontmatter display, and code fences
- Auto-save — 2-second debounce saves automatically while editing
- Wiki-style Linking —
[[double brackets]]with autocomplete and broken link detection - Full-text Search — instant results across all notes
- Version History — browse and restore previous versions of any note
- Image Upload — drag into editor or use toolbar button
- Frontmatter — YAML metadata parsing with styled display
- Templates and Daily Notes for quick creation
- Trash — soft delete with restore capability (auto-purge after 30 days)
- PDF Export for any note
- Breadcrumb Navigation — clickable path segments above notes
Knowledge Graph
- Interactive D3.js graph with zoom, pan, and drag
- Local/Full view toggle
- Color-coded nodes — active (green), starred (yellow stars), shared (orange), default (purple)
- Mobile graph overlay — mini expandable graph on phone screens
Mobile App (React Native)
- Online-only client — talks to the Kryton server over REST + WebSocket; no local database
- Full feature parity — notes, search, graph, tags, settings, daily notes, templates, trash, history, sharing, admin
- WebView editor — wraps the same in-house web editor inside a React Native WebView so mobile and desktop stay in lock-step
- Real-time collaboration — Yjs over WebSocket for live multi-device editing
- Android APK available via EAS Build
- Version compatibility — enforces major-version match with server
Multi-User & Security
- Authentication — email/password, OAuth (Google, GitHub), passkeys (WebAuthn)
- Two-Factor Authentication — TOTP with QR code setup and backup codes
- Per-user isolation — each user has their own notes directory
- Note Sharing — share notes/folders with read or read-write permissions
- Access Requests — request access to notes via wiki-links
- API Keys — scoped bearer tokens for programmatic and AI agent access
- Admin Panel — manage users, invite codes, registration mode
REST API
- Swagger/OpenAPI docs at
/api/docs— interactive API explorer - 30+ REST endpoints — notes, search, graph, settings, sharing, auth, admin
- Yjs WebSocket —
/ws/yjs/:docIdfor real-time collaborative editing of note content - Version endpoint —
GET /api/versionfor compatibility checks
UI & Layout
- Three-panel layout — sidebar, content, graph+outline (all resizable)
- Dark/Light theme with system preference detection
- Favorites sidebar — quick access to starred notes
- Drag-and-drop file tree — move files and folders by dragging
- Toast notifications — global info/success/error feedback
- Responsive mobile layout — optimized for phone screens
- Full WCAG accessibility — ARIA roles, keyboard navigation, focus management
Plugin Ecosystem
24 official plugins covering kanban, mermaid, excalidraw, git backup, calendar journal, flashcards, slash commands, theme presets, and more. Browse the full catalogue at azrtydxb/kryton-plugins.
Vim keybindings are no longer maintained as a built-in or shipped plugin.
Plugin APIs are automatically exposed as MCP tools — install a plugin and your AI agent can use it immediately.
Tech Stack
| Component | Technology |
|-----------|------------|
| Frontend | React 19, Vite 8, TypeScript 5.9, Tailwind CSS 4 |
| Backend | Fastify 5, Drizzle ORM, TypeScript 5.9 |
| Database | Postgres 16 with pgvector and tsvector |
| Mobile | Expo SDK 55, React Native (online-only against the server API) |
| Editor | In-house markdown editor with plugin-extensible suggestions and commands |
| Graph | D3.js force-directed |
| Auth | better-auth (sessions, OAuth, passkeys, 2FA) |
| AI Integration | MCP SDK (Model Context Protocol) |
| Runtime | Node.js 24 |
Quick Start
Docker (recommended)
The simplest path. The repo ships a docker-compose.yml that brings up a pgvector/pgvector:pg16 Postgres alongside the Kryton server — no separate database install needed.
git clone https://github.com/azrtydxb/kryton.git
cd kryton
docker compose up --build -d
Open http://localhost:3000 — the first user to register becomes admin.
From Source
Requires Postgres 16+ with the pgvector extension. The fastest way is to run just the Postgres service from the bundled compose file and run the app on the host:
git clone https://github.com/azrtydxb/kryton.git
cd kryton
docker compose up -d postgres # Postgres 16 + pgvector on :5432
npm install
export POSTGRES_URL=postgres://kryton:kryton@localhost:5432/kryton
export BETTER_AUTH_SECRET=$(openssl rand -hex 32)
npm run dev
- Frontend: http://localhost:5173
- Backend: http://localhost:3001
- API Docs: http://localhost:5173/api/docs
If you'd rather use a Postgres you already have, make sure it's 16+ and run CREATE EXTENSION IF NOT EXISTS vector; once against the target database, then point POSTGRES_URL at it.
- Synology / QNAP NAS: see Install on Synology and Install on QNAP.
Deployment
Kryton supports three deployment surfaces, all
Truncated for display — read the full file on GitHub.
Related Skills
Agent-Reach
78.4kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
ruflo
71.0k🌊 The original agent meta-harness. Deploy intelligent multi-player swarms, coordinate autonomous workflows, and build conversational AI systems. Features adaptive memory, self-learning intelligence, RAG integration, and native Claude Code / Codex / Hermes and many more Integrated
headroom
69.1kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
CowAgent
46.8kOpen-source super AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-model, multi-channel. Lightweight, extensible, one-line install. (formerly chatgpt-on-wechat)
