
Research
/Security News
Popular npm Packages in the keyv and Cacheable Namespaces Compromised in Active Supply Chain Attack
Popular npm packages keyv and cacheable compromised.
Open-source knowledge graph for professionals — auto-extracts entities and relationships from natural conversation via MCP
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.
Everything you need to run Kernal locally on your own machine:
init, serve, status, exportThis is a fully functional knowledge graph you can run yourself, for free, forever.
For teams and professionals who want more, Andes offers:
The open-source core is the engine. Andes wraps it with infrastructure, UX, and support.
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:
Kernal uses an LLM-driven extraction pattern:
kernal_remember with the raw textkernal_add_person, kernal_add_org, kernal_add_activity, etc.)The MCP server is a clean data store. The LLM is the brain.
| 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) |
| 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 |
| Tool | Description |
|---|---|
kernal_correct | Update fields, delete entities, merge duplicates, or reset the database |
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 TechEach call is a deliberate, structured decision by the LLM — not a regex guess.
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
The repo includes a React dashboard (dashboard/) with four views:
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
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:
crypto.timingSafeEqual)git clone https://github.com/pintomatic/kernal.git
cd kernal
npm install
npm run build
npm test # 50 tests
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 |
npx tsx scripts/seed-demo.ts
Creates 12 contacts, 18 orgs, 19 activities with 123 relationships — a realistic professional services scenario.
MIT
FAQs
Open-source knowledge graph for professionals — auto-extracts entities and relationships from natural conversation via MCP
The npm package kernal-mcp receives a total of 17 weekly downloads. As such, kernal-mcp popularity was classified as not popular.
We found that kernal-mcp demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
/Security News
Popular npm packages keyv and cacheable compromised.

Security News
A misconfiguration gave three Anthropic models internet access, and one, believing it was in a simulation, shipped a credential-stealing package to PyPI.

Security News
/Company News
Socket has joined the new Composer and Packagist sponsorship program as a launch sponsor, supporting the team that keeps PHP's package ecosystem secure.