MCPを介して自然な会話からエンティティとリレーションシップを自動抽出し、グラフネイティブなナレッジグラフを構築します。
別名 pintomatic/kernal, kernal
- スター
- 2
- ツール
- 13
- ダウンロード数(30日間)
- —
- 最新バージョン
- 0.2.1
- 最終コミット
- 2026年10月24日
- ライセンス
- MIT
Kernal MCPとは
KernalはMCPサーバーです。 MCPを介して自然な会話からエンティティとリレーションシップを自動抽出し、グラフネイティブなナレッジグラフを構築します。. 13個のツールを提供しており、kernal_remember, kernal_add_person, kernal_add_orgなどがあります。
プロジェクトのREADMEから生成された概要
Kernal MCP server について
Kernalは、プロフェッショナルが自然な会話から情報をキャプチャして整理するために設計された、オープンソースのナレッジグラフです。Claude DesktopなどのMCPクライアントに接続することで動作し、LLMがインテリジェンスレイヤーとして機能して、テキストからエンティティとリレーションシップを抽出します。このシステムはSQLiteデータベースを用いたローカルファーストのアプローチを採用しており、管理型のAndesクラウドサービスを選択しない限り、データは手元のマシン内に保持されます。
サーバーは、データの取り込み、CRUD、クエリ機能を含む13個の特化型ツールを提供します。kernal_add_person、kernal_add_org、kernal_add_activityなどのツールを使用してネットワークを構築したり、kernal_recallやkernal_contextを使用してブリーフィングを取得したりできます。また、曖昧一致とレーベンシュタイン距離によるエンティティ解決機能を備えており、重複エントリーを防止します。開発者は、init、serve、status、exportなどのコマンドを備えたCLIを通じてサーバーを管理できるほか、Reactダッシュボードを使用して、ネットワークグラフやアクティビティタイムラインなどの視覚的な表現を確認できます。
できること
- 1会議の詳細を抽出最近のやり取りについてAIに伝えるだけで、人物、組織、トピックを自動的にグラフへ記録します。
- 2プロフェッショナルネットワークの可視化ダッシュボードを使用して、インタラクティブなグラフを通じて異なる人物や組織間のつながりを確認できます。
プロジェクトの README から作成されています。すべてのユースケースは、その引用と照らし合わせて確認されています。
Kernal MCPのインストール方法
フォーマット検証日 2026年11月10日Cursor に追加Gooseに追加Claude CodeにKernal MCPをインストール
$ claude mcp add kernal -- npx -y kernal-mcpCursorにKernal MCPをインストール
~/.cursor/mcp.json
{
"mcpServers": {
"kernal": {
"command": "npx",
"args": [
"-y",
"kernal-mcp"
]
}
}
}VS CodeにKernal MCPをインストール
.vscode/mcp.json
{
"servers": {
"kernal": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"kernal-mcp"
]
}
}
}VS Code CLIにKernal MCPをインストール
$ code --add-mcp '{"name":"kernal","type":"stdio","command":"npx","args":["-y","kernal-mcp"]}'Claude DesktopにKernal MCPをインストール
claude_desktop_config.json
{
"mcpServers": {
"kernal": {
"command": "npx",
"args": [
"-y",
"kernal-mcp"
]
}
}
}CodexにKernal MCPをインストール
$ codex mcp add kernal -- npx -y kernal-mcpCodex config.tomlにKernal MCPをインストール
~/.codex/config.toml
[mcp_servers.kernal] command = "npx" args = ["-y", "kernal-mcp"]
Gemini CLIにKernal MCPをインストール
$ gemini mcp add -s user kernal npx -- -y kernal-mcpGemini settings.jsonにKernal MCPをインストール
~/.gemini/settings.json
{
"mcpServers": {
"kernal": {
"command": "npx",
"args": [
"-y",
"kernal-mcp"
]
}
}
}Kernal MCPツール 13
READMEから検出kernal_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 | — |
13個のツールをすべて表示ツールを折りたたむ
kernal_correct
| kernal_correct | — |
設定
KERNAL_API_KEY
| 名前 | 説明 | 種類 |
|---|---|---|
| KERNAL_API_KEY | — |
自動チェック
実行日 2026年11月12日完全なレポート →自動チェックに合格しました。これはセキュリティ監査ではありません。コードを読み、サーバーに必要最小限のアクセス権を与えてください。 チェックの仕組み
- ソースリポジトリがリンクされており、アクセス可能合格
- オープンソースライセンス (OSI)合格
- 過去1年以内にコミットまたはリリースあり合格
- パッケージ名が有名なパッケージに酷似していない合格
- リモートエンドポイントがHTTPSを使用未チェック
- 破壊的なツールがラベル付けされている合格
- モデルへの隠れた指示がない合格
- パッケージおよびその依存関係に重大な勧告なし合格
README
GitHubで見る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,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
Kernal MCPのよくある質問
Kernal MCPをClaude Codeに追加するには
ターミナルでclaude mcp add kernal -- npx -y kernal-mcpを実行します。すべてのプロジェクトで利用するには--scope userを追加します。
Kernal MCPをCursorに追加するには
~/.cursor/mcp.jsonを開き、上記のインストールセクションに示すCursor設定を使ってmcpServersの下にサーバーを追加します。
Kernal MCPが提供するツールは
13個のツールを提供しており、kernal_remember, kernal_add_person, kernal_add_org, kernal_add_activity, kernal_add_actionなどがあります。
Kernalはどのようにデータを保存しますか?
KernalはローカルファーストのSQLiteデータベースを使用しているため、オープンソース版を実行している限り、データがマシンから外部に出ることはありません。
Claude DesktopでKernalを使用できますか?
はい、Kernal MCP serverをClaude Desktopの設定に追加することで、会議ややり取りについて自然な対話形式で扱うことができます。
サーバーはどのように重複エントリーを防ぎますか?
サーバーは、曖昧一致(fuzzy matching)とレーベンシュタイン距離を用いたエンティティ解決(entity resolution)を使用して、エンティティの重複を防ぎます。
どのようなエンティティを保存できますか?
システムは、人物、組織、トピック、アクティビティ、アクション、およびノートを、相互に関連付けられたリレーションシップグラフとして保存します。