MCP를 통해 자연스러운 대화에서 엔티티와 관계를 자동으로 추출하여 그래프 네이티브 지식 그래프를 구축합니다.
다른 이름 pintomatic/kernal, kernal
- 스타
- 2
- Tools
- 13
- 다운로드, 30일
- —
- 최신 버전
- 0.2.1
- 마지막 커밋
- 2026년 10월 24일
- 라이선스
- MIT
Kernal MCP란?
Kernal은(는) MCP server입니다. 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를 사용하여 브리핑 정보를 검색할 수 있습니다. 또한 퍼지 매칭과 Levenshtein distance를 이용한 엔티티 해상도 기능을 갖추어 중복 입력을 방지합니다. 개발자는 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를 열고 mcpServers 아래에 서버를 추가합니다. 위 설치 섹션에 표시된 Cursor 구성을 사용합니다.
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)과 Levenshtein distance를 활용한 엔티티 해상도(entity resolution) 기술을 사용하여 중복 엔티티 생성을 방지합니다.
어떤 종류의 엔티티를 저장할 수 있나요?
시스템은 사람, 조직, 주제, 활동, 작업 및 노트를 연결된 관계 그래프 형태로 저장합니다.