Crea un grafo de conocimiento nativo mediante la extracción automática de entidades y relaciones a partir de conversaciones naturales vía MCP.
También conocido como pintomatic/kernal, kernal
- Stars
- 2
- Herramientas
- 13
- Descargas, 30 días
- —
- Última versión
- 0.2.1
- Último commit
- 24 oct 2026
- Licencia
- MIT
¿Qué es Kernal MCP?
Kernal es un MCP server. Crea un grafo de conocimiento nativo mediante la extracción automática de entidades y relaciones a partir de conversaciones naturales vía MCP. Expone 13 herramientas, como kernal_remember, kernal_add_person, kernal_add_org.
Resumen generado a partir del README del proyecto
Acerca del MCP server de Kernal
Kernal es un grafo de conocimiento de código abierto diseñado para que los profesionales capturen y organicen información proveniente de conversaciones naturales. Funciona conectándose a un cliente MCP como Claude Desktop, lo que permite que el LLM actúe como la capa de inteligencia que extrae entidades y relaciones de tu texto. El sistema utiliza un enfoque local-first con una base de datos SQLite, asegurando que tus datos permanezcan en tu máquina a menos que decidas utilizar el servicio gestionado en la nube Andes.
El servidor proporciona 13 herramientas especializadas para gestionar tus datos, incluyendo capacidades de ingesta, CRUD y consultas. Puedes usar herramientas como kernal_add_person, kernal_add_org y kernal_add_activity para construir tu red, o utilizar kernal_recall y kernal_context para obtener resúmenes. Cuenta con resolución de entidades mediante fuzzy matching y distancia de Levenshtein para evitar duplicados. Los desarrolladores pueden gestionar el servidor mediante una CLI con comandos como init, serve, status y export, mientras que un dashboard en React ofrece representaciones visuales como un grafo de red y una línea de tiempo de actividad.
Qué puedes hacer con él
- 1Extraer detalles de reunionesCuéntale a la IA sobre una interacción reciente para registrar automáticamente personas, organizaciones y temas en tu grafo.
- 2Visualizar redes profesionalesUtiliza el dashboard para ver las conexiones entre diferentes personas y organizaciones a través de un grafo interactivo.
Escrito a partir del README del proyecto. Cada caso de uso se verifica con una cita del mismo.
Cómo instalar Kernal MCP
Formatos verificados el 10 nov 2026Añadir a CursorAñadir a GooseInstalar Kernal MCP en Claude Code
$ claude mcp add kernal -- npx -y kernal-mcpInstalar Kernal MCP en Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"kernal": {
"command": "npx",
"args": [
"-y",
"kernal-mcp"
]
}
}
}Instalar Kernal MCP en VS Code
.vscode/mcp.json
{
"servers": {
"kernal": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"kernal-mcp"
]
}
}
}Instalar Kernal MCP en VS Code CLI
$ code --add-mcp '{"name":"kernal","type":"stdio","command":"npx","args":["-y","kernal-mcp"]}'Instalar Kernal MCP en Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"kernal": {
"command": "npx",
"args": [
"-y",
"kernal-mcp"
]
}
}
}Instalar Kernal MCP en Codex
$ codex mcp add kernal -- npx -y kernal-mcpInstalar Kernal MCP en Codex config.toml
~/.codex/config.toml
[mcp_servers.kernal] command = "npx" args = ["-y", "kernal-mcp"]
Instalar Kernal MCP en Gemini CLI
$ gemini mcp add -s user kernal npx -- -y kernal-mcpInstalar Kernal MCP en Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"kernal": {
"command": "npx",
"args": [
"-y",
"kernal-mcp"
]
}
}
}Herramientas de Kernal MCP 13
Detectado desde el READMEkernal_rememberkernal_add_personkernal_add_orgkernal_add_activitykernal_add_actionkernal_linkkernal_recallkernal_peoplekernal_orgskernal_activitieskernal_actionskernal_context
| kernal_remember | — | |
| kernal_add_person | — | |
| kernal_add_org | — | |
| kernal_add_activity | — | |
| kernal_add_action | — | |
| kernal_link | — | |
| kernal_recall | — | |
| kernal_people | — | |
| kernal_orgs | — | |
| kernal_activities | — | |
| kernal_actions | — | |
| kernal_context | — |
Mostrar las 13 herramientasMostrar menos herramientas
kernal_correct
| kernal_correct | — |
Configuración
KERNAL_API_KEY
| Nombre | Descripción | Tipo |
|---|---|---|
| KERNAL_API_KEY | — |
Verificaciones automáticas
Ejecutado 12 nov 2026Informe completo →Pasó nuestras verificaciones automáticas. Esto no es una auditoría de seguridad: lee el código y dale al servidor el acceso más limitado que necesite. Cómo funcionan las verificaciones
- Repositorio de origen vinculado y accesibleAprobado
- Licencia de código abierto (OSI)Aprobado
- Commit o lanzamiento en el último añoAprobado
- El nombre del paquete no es similar a un paquete popularAprobado
- El endpoint remoto usa HTTPSNo verificado
- Las herramientas destructivas están etiquetadasAprobado
- Sin instrucciones ocultas para el modeloAprobado
- No hay avisos críticos en el paquete ni en sus dependenciasAprobado
README
Ver en GitHubKernal
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,export - Cloud 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.
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 init
This 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 text - Kernal 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 |
|---|---|
kernal_remember |
Store raw text, get extraction instructions and existing entity list for dedup |
kernal_add_person |
Create or update a person (auto-deduplicates by fuzzy name match) |
kernal_add_org |
Create or update an organization (auto-deduplicates) |
kernal_add_activity |
Log an interaction with participant and org linking |
kernal_add_action |
Create a follow-up or task, optionally assigned to a person |
kernal_link |
Create a relationship between any two entities (person, org, or topic) |
Query (read)
| Tool | Description |
|---|---|
kernal_recall |
Search the knowledge base by keyword across all entity types |
kernal_people |
List/search contacts — filter by name, org, role |
kernal_orgs |
List/search organizations — filter by type, industry |
kernal_activities |
Recent interactions — filter by type, person, date |
kernal_actions |
Open follow-ups — filter by status, owner, due date |
kernal_context |
Full briefing on a person or org — timeline, network, topics |
Corrections
| Tool | Description |
|---|---|
kernal_correct |
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 help
Dashboard
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 dev
Data Model
Kernal stores 6 entity types connected by a generic relationship graph:
People ←→ Organizations
↕ ↕
Activities ←→ Topics
↕
Actions ←→ Notes
All 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 tests
Self-Hosting the Cloud Server
KERNAL_API_KEY=your-secret KERNAL_DB_PATH=~/.kernal/kernal.db npm run cloud
A Dockerfile is included. Environment variables:
| Variable | Default | Description |
|---|---|---|
KERNAL_DB_PATH |
~/.kernal/kernal.db |
SQLite database path |
KERNAL_API_KEY |
(required for cloud) | API key for authentication |
KERNAL_CORS_ORIGIN |
http://localhost:5174 |
Allowed CORS origins (comma-separated) |
KERNAL_RATE_LIMIT |
120 |
Max requests per minute per IP |
PORT |
3001 |
Server port |
Seed Demo Data
npx tsx scripts/seed-demo.ts
Creates 12 contacts, 18 orgs, 19 activities with 123 relationships — a realistic professional services scenario.
License
MIT
Preguntas sobre Kernal MCP
¿Cómo agrego Kernal MCP a Claude Code?
Ejecuta claude mcp add kernal -- npx -y kernal-mcp en tu terminal. Añade --scope user para que esté disponible en todos los proyectos.
¿Cómo agrego Kernal MCP a Cursor?
Abre ~/.cursor/mcp.json y añade el servidor en mcpServers, usando la configuración de Cursor que se muestra en la sección de instalación de arriba.
¿Qué herramientas proporciona Kernal MCP?
Expone 13 herramientas, incluidas kernal_remember, kernal_add_person, kernal_add_org, kernal_add_activity, kernal_add_action.
¿Cómo almacena Kernal mis datos?
Kernal utiliza una base de datos SQLite local-first, lo que garantiza que tus datos nunca salgan de tu máquina cuando utilizas la versión de código abierto.
¿Puedo usar Kernal con Claude Desktop?
Sí, puedes añadir el MCP server de Kernal a tu configuración de Claude Desktop para hablar de forma natural sobre reuniones e interacciones.
¿Cómo evita el servidor las entradas duplicadas?
El servidor utiliza resolución de entidades con coincidencia difusa (fuzzy matching) y distancia de Levenshtein para evitar entidades duplicadas.
¿Qué tipo de entidades se pueden almacenar?
El sistema almacena personas, organizaciones, temas, actividades, acciones y notas en un grafo de relaciones conectadas.