kernl
Enables Kernl to send notifications and messages to Mattermost channels, allowing agents and workflows to post updates and alerts.
Enables Kernl to send notifications and messages to Slack workspaces, allowing agents and workflows to post updates and alerts.
Enables Kernl to send notifications and messages via Telegram, allowing agents and workflows to deliver updates and alerts.
Enables Kernl to send notifications and messages via WhatsApp, allowing agents and workflows to deliver updates and alerts.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@kernlWhat tasks are overdue this week?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Kernl
The memory layer your AI has been missing.
One self-hosted server that gives any LLM your whole life — tasks, email, finance, contacts, calendar — plus a fleet of agents that actually get work done. Private by default.
Quick start · Why Kernl · Features · MCP integration · Discussions
Your AI is brilliant — and amnesiac.
Every conversation starts from zero. Your LLM can't see your tasks, read your inbox, check your budget, or remember what you told it yesterday. And the cloud "AI assistants" that promise to fix that? They want your entire life uploaded to their servers.
Kernl fixes both.
Related MCP server: mnemory
What is Kernl?
Kernl is a self-hosted server that plugs your real life into any LLM through the Model Context Protocol (MCP). One endpoint exposes 103 tools out of the box — rising past 290 as you enable more of the 71 bundled modules: tasks, contacts, email, finance, calendar, notes, health, shopping, travel and more — to Claude, Cursor, or any MCP client.
Then it goes past a data bridge: Kernl runs agents — autonomous teams (it calls them offices) that work in loops, call your tools, and finish jobs while you're away.
Everything runs on your machine. Your data never leaves the box.
💬 Talk to your life
Point your AI at Kernl and ask it things it could never do before:
💸 "Did rent clear, and how much did I spend on food this month?" — reads your finance module.
📥 "Triage my inbox and draft replies to anything urgent." — reads your email, writes the drafts.
✅ "What's overdue, and what's due this week?" — straight from your real tasks + calendar.
🤖 "Spin up the dev office and clear the next three backlog items." — launches an agent team that works on its own.
Real data. Real actions. On your machine — not in someone else's cloud.
🎬 See it in action
Kernl ships a live 3D view of your agent teams — you watch them move between
desks and pick up work as it happens. It is at /agents-flow once you are
running, which the quick start below gets you to in about two minutes.
⚡ Quick start
Zero config. One command. A full stack in ~2 minutes:
git clone https://github.com/fastslack/kernl.git
cd kernl
docker compose up -d --build
# Kernl generates an API token on first boot. Grab it:
docker compose exec kernel cat /app/data/.kernel-auth-token→ Dashboard at http://localhost:3086 · MCP endpoint at http://localhost:3086/mcp
Paste that token once into the dashboard's login screen and you're in — it's kept in your browser and reused for every request. To pin your own instead, set KERNEL_AUTH_TOKEN (openssl rand -hex 32) in .env before the first up.
No host paths, no accounts, nothing to sign up for. First run walks you through a four-step setup, and one of those steps is picking an LLM — a cloud key, or a local model through LM Studio or Ollama if you would rather nothing left the machine at all. The kernel waits for that choice before serving the rest of the API, so the dashboard cannot hand you a screen whose every button fails. The graph brain (Neo4j) and key-free web search come bundled.
🔥 Why Kernl
🔒 Private by default | Self-hosted. Your tasks, email and finances never touch someone else's cloud. |
🧠 Real memory | A graph-backed brain (Neo4j + GDS) links every module, so your AI finally remembers. |
🤖 Agents that act | Not a chatbot — autonomous offices that work in loops and use your tools. |
🔌 Any LLM, any client | Claude, OpenAI, Grok, or a local model via LM Studio. Any MCP client connects. |
🧩 Endlessly extensible | Everything is a module. Ship your own as a portable |
📊 103 tools installed, 71 modules available | One surface for your whole life — not fifteen disconnected apps. Enable everything and you pass 290 tools. |
⚔️ Kernl vs. the usual options
Cloud AI assistants | A single MCP server | "Second brain" apps | Kernl | |
Your data stays on your machine | ❌ | ✅ | ⚠️ | ✅ |
Your real life — email, finance, tasks… | partial | one thing | ❌ | 60+ modules |
Agents that act, not just chat | limited | ❌ | ❌ | ✅ |
Works with any LLM & MCP client | ❌ | ✅ | ❌ | ✅ |
Yours to extend & fork | ❌ | ⚠️ | ❌ | ✅ |
🧩 What's inside
Your life, addressable by your AI — tasks & projects, contacts/CRM, reminders, email (IMAP/SMTP), finance & budgets, calendar, notes, goals, health & training, shopping, travel, documents… 60+ modules, every one exposed as MCP tools.
A fleet of agents — cooperating agents with chains, schedules and their own workspaces. Package a whole team as an installable .kernl office, and watch them work in a live 3D office view.
Pluggable everything
LLM providers — Claude, OpenAI, Grok, LM Studio (local), and more via extensions.
Sandbox drivers — run agent code in Docker, CubeSandbox, or your own driver.
Channels — WhatsApp, Telegram, Slack, email, Mattermost and webchat on one notification bus.
Graph intelligence — optional Neo4j + GDS for cross-module relationship analysis.
🔌 MCP integration
Kernl speaks MCP over stdio and Streamable HTTP at the same time, so every client reaches the same tools.
{
"mcpServers": {
"kernl": {
"command": "bun",
"args": ["run", "bin/mcp-server.ts"],
"cwd": "/absolute/path/to/kernl/services/kernel"
}
}
}The MCP HTTP transport is at http://localhost:3086/mcp by default (the official Streamable HTTP spec).
🛠️ Build your own
An extension is a folder (or a packaged .kernl) with a manifest.json plus any of: a backend module (new MCP tools + HTTP routes), agents & offices, agent-scoped skills, a theme, a channel, or a sandbox driver.
Keep operator-specific material — named agents, your WhatsApp, regional scrapers — private under services/kernel/assets/personal-agents/ (gitignored, ideal for a private submodule).
Full guide → docs/architecture/extension-points.md
📦 More install options
Adds the mtwRequest Rust server, the WhatsApp bridge, and host-coupled mounts (so on-host claude_code agents can edit your sibling repos). Needs a few host paths in .env:
git clone https://github.com/fastslack/kernl.git
cd kernl
cp .env.example .env
$EDITOR .env # set HOST_HOME, HOST_KERNEL_ROOT, HOST_PROJECTS_ROOT,
# KERNEL_REQUEST_SRC, KERNEL_WHATSAPP_BRIDGE_SRC
docker compose -f docker-compose.full.yml up -d --buildgit clone https://github.com/fastslack/kernl.git
cd kernl
bun install --cwd services/kernel # requires bun >= 1.3
cp .env.example .env
bun run dev # stdio MCP + HTTP router (delega a services/kernel)Requirements
Bun ≥ 1.3 (primary runtime) or Node ≥ 20.
Docker + Compose (recommended — unlocks the full stack).
Neo4j 5.x + GDS (optional; Compose starts one for you; Kernl degrades gracefully without it).
Configuration
Everything is environment-driven, and the quick start needs none of it —
docker compose up boots with working defaults. Copy .env.example to .env
only when you want to override something.
Two secrets are generated and persisted on first boot if you don't set them:
Variable | If unset |
| A random token is generated and stored as |
| A random 32-byte key is generated and stored as |
The host-path variables (HOST_HOME, HOST_KERNEL_ROOT, HOST_PROJECTS_ROOT)
belong to the full stack in docker-compose.full.yml, not the default one.
Everything else — LLM keys, Neo4j creds, feature toggles — is documented inline
in .env.example.
Scripts
Command | What it does |
| Start the MCP server + HTTP router |
| Interactive setup wizard |
| Self-diagnostics (DB, providers, channels) |
| Run the test suite |
| Bundle to |
| Rebuild + restart the kernel container |
Known limitations
Worth knowing before you commit your life to it. None of these are secret — we'd rather you read them here than discover them at an awkward moment.
Single user. One kernel, one person. There is user and password infrastructure inside, but no per-user data isolation: everyone who has the API token sees everything. Give each person their own instance; don't share one across a team. (
docs/MULTI_USER.md)No auto-update. Kernl doesn't check for new versions or update itself. Watch releases if you want to know when something ships.
Installers are unsigned. macOS needs right-click → Open the first time, Windows needs "More info → Run anyway". The signing pipeline is wired but the certificates aren't bought yet. Docker and source installs are unaffected.
Back it up yourself, and check the exit code.
backup.shis solid and verifies its own output, but nothing runs it for you. Seedocs/DEPLOYMENT.md.Neo4j is hungry. The bundled graph wants ~1–2 GB of RAM on its own. On a small VPS, run the stack without it — Kernl degrades gracefully.
No telemetry, which cuts both ways. Nothing phones home, so nothing tells us when your install breaks. Bug reports are the only signal we get.
Documentation
docs/GETTING_STARTED.md— first-run walkthroughdocs/ARCHITECTURE-MAP.md— contributor map ·docs/ARCHITECTURE.md— full system guidedocs/API_DOCS.md— HTTP + MCP surface referencedocs/DEPLOYMENT.md— production deploys
⭐ Contributing & community
Kernl is Apache-2.0 and built in the open. Star the repo if it's useful, open an issue for bugs and ideas, and say hi in Discussions. Contributions welcome — see docs/CONTRIBUTING.md.
License & credits
Created and maintained by Matias Aguirre — a Matware project. See AUTHORS and NOTICE.
Released under the Apache License 2.0 — fork it, build commercial plugins on top, redistribute, modify. © 2026 Matware.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityCmaintenanceA local MCP memory server giving LLMs a persistent, auditable memory fabric with temporal awareness, relationship tracking, and contradiction detection.MIT
- Alicense-qualityBmaintenanceSelf-hosted MCP server giving AI agents persistent memory for personalization and context across conversations.268Apache 2.0
- Alicense-qualityBmaintenanceA private, self-hosted MCP server that wraps a retrieval pipeline over your own data, enabling trusted AI agents to access and manage your personal memory through standard MCP tools.Apache 2.0
- Alicense-qualityBmaintenanceSelf-hosted MCP server that gives coding agents persistent, code-aware memory with structural graph recall and blast-radius planning. It links experiential decisions to code locations and provides honest measurement instruments.Apache 2.0
Related MCP Connectors
Private-by-default, local-first memory/context/task orchestrator for MCP apps and agents.
Person-owned, portable AI memory as a remote MCP server, readable and writable by any MCP client.
Cloud-hosted MCP server for durable AI memory
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/fastslack/kernl'
If you have feedback or need assistance with the MCP directory API, please join our Discord server