Skip to main content
Glama

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 ~290 tools across 60+ 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

⚡ 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

→ Dashboard at http://localhost:3086 · MCP endpoint at http://localhost:3086/mcp

No API keys, no host paths, no accounts. Add your LLM keys and channels later from Settings → AI. 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 .kernlext package.

📊 ~290 tools, 60+ modules

One surface for your whole life — not fifteen disconnected apps.

⚔️ 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 .kernlext 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 .kernlext) 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 --build
git 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 — copy .env.example to .env. Minimum keys for Docker runs:

Variable

Purpose

HOST_HOME

Your host home, mounted read-only into the kernel container

HOST_KERNEL_ROOT

Absolute host path of this repo (Docker-in-Docker path translation)

HOST_PROJECTS_ROOT

Parent dir of sibling repos, mounted at /host-projects

KERNEL_ENCRYPTION_KEY

32-byte hex (openssl rand -hex 32) for encrypting stored secrets

Everything else (LLM keys, Neo4j creds, feature toggles) is documented inline in .env.example.

Scripts

Command

What it does

bun run dev

Start the MCP server + HTTP router

bun run wizard

Interactive setup wizard

bun run doctor

Self-diagnostics (DB, providers, channels)

bun test

Run the test suite

bun run build

Bundle to services/kernel/dist/

bun run reload

Rebuild + restart the kernel container

Documentation

⭐ 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.

A
license - permissive license
-
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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