Kernal
Click on "Deploy 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., "@KernalI had lunch with Jonas Lindberg from Nordvik Energy today."
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.
Kernal
Open-source knowledge graph for professionals. Auto-extracts entities and relationships from natural conversation via MCP.
Talk to Claude naturally about your meetings, calls, and interactions. Kernal stores people, organizations, topics, and relationships — building a knowledge graph you own.
What's Included (Open Source)
Everything you need to run Kernal locally on your own machine:
13 MCP tools — ingestion, CRUD, query, corrections (see full list below)
SQLite database — local-first, your data never leaves your machine
LLM-driven extraction — Claude reads your text, decides what to extract, and calls structured write tools
Entity resolution — fuzzy matching + Levenshtein distance prevents duplicates
CLI —
init,serve,status,exportCloud server — Express.js with API key auth, rate limiting, CORS, session management
Dashboard — React app with network graph, timeline, action items, overview
50 tests — comprehensive test suite
This is a fully functional knowledge graph you can run yourself, for free, forever.
Related MCP server: Mnela MCP Server
What Andes Provides (Managed Service)
For teams and professionals who want more, Andes offers:
Cloud hosting — access your knowledge graph from any device, no self-hosting
Dashboard — hosted interactive visualizations powered by your data
Multi-user — team features, shared knowledge bases, role-based access
Onboarding & support — we set it up for you and help your team get value from day one
Industry workflows — pre-built patterns for executive search, consulting, professional services
The open-source core is the engine. Andes wraps it with infrastructure, UX, and support.
Quick Start
npx kernal-mcp initThis creates a SQLite database at ~/.kernal/kernal.db and prints the config to add to Claude Desktop.
Add to your claude_desktop_config.json:
{
"mcpServers": {
"kernal": {
"command": "npx",
"args": ["-y", "kernal-mcp", "serve"]
}
}
}Restart Claude Desktop. Then talk naturally:
"I had lunch with Jonas Lindberg from Nordvik Energy today. He's their VP of Digital. We discussed their cloud migration — targeting Q3."
Claude extracts Jonas, Nordvik Energy, the cloud migration topic, and stores them via Kernal's write tools. Then ask:
"What do I know about Nordvik Energy?" → Full briefing with people, interactions, topics
"Who should I follow up with?" → Open action items with owners and due dates
"Show me everyone at Nordvik Energy" → Contact list filtered by organization
How It Works
Kernal uses an LLM-driven extraction pattern:
You tell Claude about a meeting, call, or interaction
Claude calls
kernal_rememberwith the raw textKernal stores the text as a note and returns extraction instructions + existing entities (for dedup)
Claude reads the text intelligently and calls structured write tools (
kernal_add_person,kernal_add_org,kernal_add_activity, etc.)Each write goes through entity resolution to prevent duplicates
The LLM makes all extraction decisions — no regex guessing
The MCP server is a clean data store. The LLM is the brain.
MCP Tools
Ingestion (write)
Tool | Description |
| Store raw text, get extraction instructions and existing entity list for dedup |
| Create or update a person (auto-deduplicates by fuzzy name match) |
| Create or update an organization (auto-deduplicates) |
| Log an interaction with participant and org linking |
| Create a follow-up or task, optionally assigned to a person |
| Create a relationship between any two entities (person, org, or topic) |
Query (read)
Tool | Description |
| Search the knowledge base by keyword across all entity types |
| List/search contacts — filter by name, org, role |
| List/search organizations — filter by type, industry |
| Recent interactions — filter by type, person, date |
| Open follow-ups — filter by status, owner, due date |
| Full briefing on a person or org — timeline, network, topics |
Corrections
Tool | Description |
| Update fields, delete entities, merge duplicates, or reset the database |
What Gets Stored
From a single paragraph like "Had coffee with Sofia Andersen from Arctura Tech. She's their VP of Sales. We discussed their expansion into APAC. I need to send her the partner proposal by Friday.", Claude will call:
kernal_add_person— Sofia Andersen, VP of Sales, at Arctura Techkernal_add_org— Arctura Techkernal_add_activity— Coffee meeting, today, participants: [Sofia Andersen], orgs: [Arctura Tech]kernal_add_action— "Send partner proposal to Sofia", due Friday, owner: Sofia Andersenkernal_link— Sofia → works_at → Arctura Tech
Each call is a deliberate, structured decision by the LLM — not a regex guess.
CLI Commands
kernal init Create database + print Claude Desktop config
kernal serve Start MCP server (stdio transport)
kernal status Show database stats
kernal export Export database to a file
kernal help Show helpDashboard
The repo includes a React dashboard (dashboard/) with four views:
Overview — entity counts, most connected people, activity breakdown
Network — interactive force-directed graph (people + organizations)
Timeline — chronological activity feed with participants and summaries
Actions — follow-ups grouped by urgency (overdue, this week, upcoming)
Natural language command bar routes queries to views ("Show me my network" → graph).
# Start the cloud API server
KERNAL_API_KEY=your-key KERNAL_DB_PATH=~/.kernal/kernal.db npm run cloud
# Start the dashboard (separate terminal)
cd dashboard && npm run devData Model
Kernal stores 6 entity types connected by a generic relationship graph:
People ←→ Organizations
↕ ↕
Activities ←→ Topics
↕
Actions ←→ NotesAll entities can link to any other entity via the relationships table, enabling queries like:
"Who has Sofia met with?" (person → activities → other people)
"What topics come up with Nordvik Energy?" (org → people → activities → topics)
"What's the connection between Jonas and Arctura Tech?" (path through graph)
Security
All SQL queries use parameterized statements (no injection risk)
API key auth with constant-time comparison (
crypto.timingSafeEqual)CORS restricted to configured origins
Rate limiting (120 req/min per IP, configurable)
MCP session timeout (30 min idle eviction)
No secrets in code — all config via environment variables
React dashboard auto-escapes all rendered data (no XSS)
Development
git clone https://github.com/pintomatic/kernal.git
cd kernal
npm install
npm run build
npm test # 50 testsSelf-Hosting the Cloud Server
KERNAL_API_KEY=your-secret KERNAL_DB_PATH=~/.kernal/kernal.db npm run cloudA Dockerfile is included. Environment variables:
Variable | Default | Description |
|
| SQLite database path |
| (required for cloud) | API key for authentication |
|
| Allowed CORS origins (comma-separated) |
|
| Max requests per minute per IP |
|
| Server port |
Seed Demo Data
npx tsx scripts/seed-demo.tsCreates 12 contacts, 18 orgs, 19 activities with 123 relationships — a realistic professional services scenario.
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Personal knowledge graph as an AI memory layer over MCP - read, save, and link your memories.
Your memory, everywhere AI goes. Build knowledge once, access it via MCP anywhere.
Persistent, portable memory for AI assistants — your private memory graph, from any MCP client.
Persistent personal memory for AI assistants — save, search, and recall across every MCP client.
Related MCP Servers
- AlicenseBqualityDmaintenancePersonal knowledge graph with 16 MCP tools. Auto-links, deduplicates, tracks themes, synthesizes insights.178MIT
- AlicenseNot gradedqualityBmaintenanceEnables MCP clients to read and write into a self-hosted personal knowledge base built from imported chats, documents, and notes, with a knowledge graph and AI-powered enrichment.1MIT
- FlicenseNot gradedqualityDmaintenanceBuilds a persistent knowledge graph from notes and conversations, enabling semantic search, entity exploration, and GTD task management from any MCP-compatible AI assistant.3-
- FlicenseNot gradedqualityCmaintenanceTurns Google Calendar history into a searchable people CRM, enabling queries about meeting patterns, relationships, and contacts through natural language with any MCP client.-