Kernal Mcp

io.github.pintomatic由 GitHub 账号 pintomatic 发布v0.2.1更新于 Oct 24, 2026

Graph-native memory for AI agents: a knowledge graph built from conversation, via MCP.

已验证STDIO仅桌面效率与工作流知识与记忆

概览

AI 生成的概览

一个本地开源知识图谱,让助手把关于会议和联系人的对话整理成人物、组织、活动、主题与跟进事项并存储起来。

可以做什么
存储原始笔记并从中抽取实体,写入时对人物、组织、活动、跟进事项及实体间关系做去重。按姓名、组织、角色、类型、负责人或到期日搜索和列出联系人、组织、活动与未完成事项。获取某个人物或组织的完整简报,包含时间线、关系网络和主题。修正记录:更新字段、删除实体、合并重复项或重置数据库。通过本地命令行初始化、启动服务、查看状态和导出数据库。
适用场景
适合希望以私有、自托管方式记录会议、通话和联系人的专业人士,让助手从自然对话中逐步积累信息,之后用于简报、跟进提醒和关系查询。
运行要求
通过 npx 从 npm 包 kernal-mcp 以本地 stdio 进程运行,需要 Node.js。先执行初始化,在 ~/.kernal/kernal.db 创建 SQLite 数据库,并把打印出的配置加入桌面客户端。可选的云服务器和仪表盘需要 KERNAL_API_KEY 与 KERNAL_DB_PATH,如需修改还需 KERNAL_CORS_ORIGIN、KERNAL_RATE_LIMIT 和 PORT。
安装前请注意
这些工具会写入本地数据库,也能删除数据,kernal_correct 可合并重复项或重置整个数据库,执行破坏性操作前请备份或导出。存储的笔记含个人和商务联系人信息,请妥善保管数据库和导出文件。可选的云服务器会通过 HTTP 暴露数据并要求 KERNAL_API_KEY,请设置强密钥并限制 KERNAL_CORS_ORIGIN。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Kernal Mcp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

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

bash
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:

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:

  1. You tell Claude about a meeting, call, or interaction
  2. Claude calls kernal_remember with the raw text
  3. Kernal stores the text as a note and returns extraction instructions + existing entities (for dedup)
  4. Claude reads the text intelligently and calls structured write tools (kernal_add_person, kernal_add_org, kernal_add_activity, etc.)
  5. Each write goes through entity resolution to prevent duplicates
  6. 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)

ToolDescription
kernal_rememberStore raw text, get extraction instructions and existing entity list for dedup
kernal_add_personCreate or update a person (auto-deduplicates by fuzzy name match)
kernal_add_orgCreate or update an organization (auto-deduplicates)
kernal_add_activityLog an interaction with participant and org linking
kernal_add_actionCreate a follow-up or task, optionally assigned to a person
kernal_linkCreate a relationship between any two entities (person, org, or topic)

Query (read)

ToolDescription
kernal_recallSearch the knowledge base by keyword across all entity types
kernal_peopleList/search contacts — filter by name, org, role
kernal_orgsList/search organizations — filter by type, industry
kernal_activitiesRecent interactions — filter by type, person, date
kernal_actionsOpen follow-ups — filter by status, owner, due date
kernal_contextFull briefing on a person or org — timeline, network, topics

Corrections

ToolDescription
kernal_correctUpdate 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 Tech
  • kernal_add_org — Arctura Tech
  • kernal_add_activity — Coffee meeting, today, participants: [Sofia Andersen], orgs: [Arctura Tech]
  • kernal_add_action — "Send partner proposal to Sofia", due Friday, owner: Sofia Andersen
  • kernal_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 configkernal serve     Start MCP server (stdio transport)kernal status    Show database statskernal export    Export database to a filekernal 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).

bash
# Start the cloud API serverKERNAL_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

bash
git clone https://github.com/pintomatic/kernal.gitcd kernalnpm installnpm run buildnpm test        # 50 tests

Self-Hosting the Cloud Server

bash
KERNAL_API_KEY=your-secret KERNAL_DB_PATH=~/.kernal/kernal.db npm run cloud

A Dockerfile is included. Environment variables:

VariableDefaultDescription
KERNAL_DB_PATH~/.kernal/kernal.dbSQLite database path
KERNAL_API_KEY(required for cloud)API key for authentication
KERNAL_CORS_ORIGINhttp://localhost:5174Allowed CORS origins (comma-separated)
KERNAL_RATE_LIMIT120Max requests per minute per IP
PORT3001Server port

Seed Demo Data

bash
npx tsx scripts/seed-demo.ts

Creates 12 contacts, 18 orgs, 19 activities with 123 relationships — a realistic professional services scenario.

License

MIT

来源:README.md,提交 5884f5b

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.2.1最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分