mcpField
K
kernal-mcp

kernal-mcp

ローカル
github.com/pintomaticメモリ・ナレッジ25 日前に更新

kernal-mcp について

Kernalは、会話を人物、組織、活動、トピック、フォローアップのつながりへ変換する、専門職向けのオープンソースナレッジグラフです。LLMで情報を抽出し、データをローカルのSQLiteに保存します。CLIとダッシュボードも含まれます。

主な機能

  1. 01会話からのエンティティ抽出
  2. 02人物、組織、活動の関連付け
  3. 03重複を防ぐファジーマッチング
  4. 04SQLiteによるローカル保存
  5. 05CLIとインタラクティブなダッシュボード

活用シーン

  1. 01会議メモを関連する連絡先や活動として記録
  2. 02フォローアップ、担当者、期限の管理
  3. 03人物や組織の履歴とネットワークの確認
  4. 04専門職間の関係をグラフで閲覧

MCP 対応

MCPサーバーは、メモの取り込み、エンティティの作成・修正、ナレッジグラフの検索ツールを提供します。LLMが会話を解釈して構造化された書き込みツールを呼び出し、Kernalがデータの保存と照合を行います。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"pintomatic-kernal": {
"command": "npx",
"args": [
"-y",
"kernal-mcp"
]
}
}
}
起動コマンドnpx -y kernal-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmkernal-mcp0.2.1

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Kernal

専門家向けのオープンソースナレッジグラフです。MCPを通じて、自然な会話からエンティティと関係性を自動抽出します。

Claudeと、会議、通話、やり取りについて自然に会話しましょう。Kernalは人物、組織、トピック、関係性を保存し、あなた自身が所有するナレッジグラフを構築します。

含まれる機能(オープンソース)

Kernalを自分のマシン上でローカルに実行するために必要なものがすべて含まれています。

  • 13個のMCPツール — 取り込み、CRUD、クエリ、修正(以下の全リストを参照)
  • SQLiteデータベース — ローカルファースト。データがマシンの外に出ることはありません
  • LLM主導の抽出 — Claudeがテキストを読み取り、抽出する内容を判断して、構造化された書き込みツールを呼び出します
  • エンティティ解決 — あいまい一致とレーベンシュタイン距離により、重複を防ぎます
  • CLI — init、serve、status、export
  • クラウドサーバー — APIキー認証、レート制限、CORS、セッション管理を備えたExpress.js
  • ダッシュボード — ネットワークグラフ、タイムライン、アクション項目、概要を備えたReactアプリ
  • 50件のテスト — 包括的なテストスイート

これは、無料でいつまでも自分で実行できる、完全に機能するナレッジグラフです。

Andesが提供するサービス(マネージドサービス)

さらなる機能を求めるチームや専門家向けに、Andesは以下を提供しています。

  • クラウドホスティング — セルフホスト不要で、あらゆるデバイスからナレッジグラフにアクセスできます
  • ダッシュボード — データを活用した、ホスト型のインタラクティブな可視化機能
  • マルチユーザー — チーム機能、共有ナレッジベース、役割ベースのアクセス制御
  • オンボーディングとサポート — セットアップを代行し、初日からチームが成果を得られるよう支援します
  • 業界向けワークフロー — エグゼクティブサーチ、コンサルティング、専門サービス向けの事前構築済みパターン

オープンソースのコアがエンジンです。Andesはその上にインフラ、UX、サポートを提供します。


クイックスタート

npx kernal-mcp init

これにより、~/.kernal/kernal.dbにSQLiteデータベースが作成され、Claude Desktopに追加する設定が表示されます。

claude_desktop_config.jsonに追加します。

{
  "mcpServers": {
    "kernal": {
      "command": "npx",
      "args": ["-y", "kernal-mcp", "serve"]
    }
  }
}

Claude Desktopを再起動します。その後、自然に話しかけてください。

「今日、Nordvik EnergyのJonas Lindbergと昼食をとりました。彼は同社のデジタル担当VPです。クラウド移行について話し合い、Q3を目標にしているそうです。」

ClaudeはJonas、Nordvik Energy、クラウド移行のトピックを抽出し、Kernalの書き込みツールを使って保存します。その後、次のように尋ねてみましょう。

  • 「Nordvik Energyについて何を知っていますか?」 → 人物、やり取り、トピックを含む詳細な概要
  • 「誰にフォローアップすべきですか?」 → 担当者と期限が設定された未完了のアクション項目
  • 「Nordvik Energyの全員を表示してください」 → 組織で絞り込んだ連絡先リスト

仕組み

KernalはLLM主導の抽出パターンを採用しています。

  1. 会議、通話、やり取りについてClaudeに伝えます
  2. Claudeがkernal_rememberを呼び出し、生のテキストを渡します
  3. Kernalはテキストをメモとして保存し、抽出手順と既存のエンティティ一覧(重複排除用)を返します
  4. Claudeがテキストを適切に読み取り、構造化された書き込みツール(kernal_add_person、kernal_add_org、kernal_add_activityなど)を呼び出します
  5. 重複を防ぐため、各書き込みはエンティティ解決を経由します
  6. 抽出に関するすべての判断はLLMが行います。正規表現による推測はありません

MCPサーバーはシンプルなデータストアです。頭脳となるのはLLMです。

MCPツール

取り込み(書き込み)
ツール説明
kernal_remember生のテキストを保存し、抽出手順と重複排除用の既存エンティティ一覧を取得します
kernal_add_person人物を作成または更新します(名前のあいまい一致による重複排除を自動実行)
kernal_add_org組織を作成または更新します(重複排除を自動実行)
kernal_add_activity参加者と組織を関連付けてやり取りを記録します
kernal_add_actionフォローアップまたはタスクを作成します。人物への割り当ても可能です
kernal_link任意の2つのエンティティ(人物、組織、トピック)間の関係を作成します
クエリ(読み取り)
ツール説明
kernal_recallすべてのエンティティタイプを対象に、キーワードでナレッジベースを検索します
kernal_people連絡先を一覧表示/検索します。名前、組織、役職で絞り込めます
kernal_orgs組織を一覧表示/検索します。種類、業界で絞り込めます
kernal_activities最近のやり取りを表示します。種類、人物、日付で絞り込めます
kernal_actions未完了のフォローアップを表示します。ステータス、担当者、期限で絞り込めます
kernal_context人物または組織の概要を表示します。タイムライン、ネットワーク、トピックを含みます
修正
ツール説明
kernal_correctフィールドの更新、エンティティの削除、重複の統合、またはデータベースのリセットを行います

保存されるデータ

*「Arctura Tech の Sofia Andersen とコーヒーを飲みました。彼女は同社の営業担当副社長です。APAC への事業拡大について話し合いました。金曜日までに彼女にパートナー提案書を送る必要があります。」*のような一文を入力すると、Claude は次のように呼び出します。

  • kernal_add_person — Sofia Andersen、営業担当副社長、Arctura Tech 所属
  • kernal_add_org — Arctura Tech
  • kernal_add_activity — コーヒーでの打ち合わせ、本日、参加者:[Sofia Andersen]、組織:[Arctura Tech]
  • kernal_add_action — 「Sofia にパートナー提案書を送る」、期限:金曜日、担当者:Sofia Andersen
  • kernal_link — Sofia → works_at → Arctura Tech

各呼び出しは、LLM による意図的で構造化された判断であり、正規表現による推測ではありません。

CLI コマンド

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

ダッシュボード

このリポジトリには、4 つのビューを備えた React ダッシュボード(dashboard/)が含まれています。

  • 概要 — エンティティ数、最もつながりの多い人物、アクティビティの内訳
  • ネットワーク — インタラクティブな力学ベースのグラフ(人物+組織)
  • タイムライン — 参加者と概要を含む、時系列のアクティビティフィード
  • アクション — 緊急度別(期限超過、今週、今後)に分類されたフォローアップ

自然言語のコマンドバーがクエリに応じてビューを切り替えます(「ネットワークを表示して」→グラフ)。

# 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 は、汎用の関係グラフでつながる 6 種類のエンティティを保存します。

People ←→ Organizations
  ↕           ↕
Activities ←→ Topics
  ↕
Actions ←→ Notes

すべてのエンティティは relationships テーブルを介して他の任意のエンティティとリンクできるため、次のようなクエリが可能です。

  • 「Sofia は誰と会ったことがありますか?」(人物 → アクティビティ → 他の人物)
  • 「Nordvik Energy ではどんな話題が取り上げられますか?」(組織 → 人物 → アクティビティ → トピック)
  • 「Jonas と Arctura Tech のつながりは何ですか?」(グラフ上の経路)

セキュリティ

  • すべての SQL クエリでパラメーター化されたステートメントを使用します(インジェクションのリスクはありません)
  • 定数時間比較による API キー認証(crypto.timingSafeEqual)
  • CORS は設定されたオリジンに制限されます
  • レート制限(IP あたり毎分 120 件、設定可能)
  • MCP セッションのタイムアウト(30 分間アイドル状態が続くと削除)
  • コード内にシークレットはありません。すべての設定は環境変数で行います
  • React ダッシュボードは、レンダリングするすべてのデータを自動的にエスケープします(XSS を防止)

開発

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

Dockerfile が含まれています。環境変数:

変数デフォルト説明
KERNAL_DB_PATH~/.kernal/kernal.dbSQLite データベースのパス
KERNAL_API_KEY(クラウドでは必須)認証用の API キー
KERNAL_CORS_ORIGINhttp://localhost:5174許可する CORS オリジン(カンマ区切り)
KERNAL_RATE_LIMIT120IP あたりの最大リクエスト数(毎分)
PORT3001サーバーのポート
デモデータの作成
npx tsx scripts/seed-demo.ts

現実的なプロフェッショナルサービスのシナリオとして、12 件の連絡先、18 件の組織、19 件のアクティビティと 123 件の関係を作成します。

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。