local-agent-toolkit は何をしますか?
ローカルファースト、MCPネイティブなAIエージェント構築ツールキット:engram(メモリ)+skillet(スキル)+tracelet(トレーシング)。実行可能なエンドツーエンドレシピ。
概要
jnMetaCode/local-agent-toolkit は、AIエージェントを迅速に構築・実行するための統合ツールキットです。以下の3つのコアコンポーネントで構成されています。
- engram: エージェントの長期記憶を管理し、会話や体験を保存・検索します。
- skillet: エージェントが実行できる再利用可能なスキル(ツール)を定義・管理します。
- tracelet: エージェントの実行トレースを記録し、デバッグやパフォーマンス分析を支援します。
これらすべてがMCP(Model Context Protocol)を介して連携し、単一のコマンドで起動・管理できるレシピとして提供されます。
特徴
- ローカルファースト: すべてのデータはローカルに保存され、プライバシーが保護されます。
- MCPネイティブ: MCPに対応した任意のAIエージェント(Claude Code、Cursorなど)と統合可能。
- エンドツーエンド: メモリ、スキル、トレーシングをワンパッケージで提供。
- プラグイン可能: 外部APIやカスタムツールを追加可能。
インストール
# リポジトリをクローン
gh repo clone jnMetaCode/local-agent-toolkit
cd local-agent-toolkit
# 依存関係をインストール
npm install
# ツールキットを起動
npx kitchen start
使用方法
kitchen コマンドでシステム全体を管理します。
# システムを起動
npx kitchen start
# 状態を確認
npx kitchen status
# システムを停止
npx kitchen stop
MCPサーバーの設定
お使いのAIエージェント(Claude Codeなど)の設定ファイル(claude_desktop_config.json など)に以下を追加します。
{
"mcpServers": {
"agent-toolkit": {
"command": "npx",
"args": ["kitchen", "mcp"],
"env": {}
}
}
}
これでエージェントがengram、skillet、traceletの機能を利用できるようになります。
コンポーネント詳細
engram(メモリ)
engramは、エージェントの記憶を管理します。会話履歴や重要な情報をベクトルデータベースに保存し、後から類似検索や連想想起が可能です。
主な機能:
- エピソード記憶の保存・検索
- セマンティック検索(ベクトル類似度)
- 記憶の自動要約と圧縮
skillet(スキル)
skilletは、エージェントに与えるツール定義のコレクションです。各スキルはMCPツールとして定義され、エージェントが動的に呼び出すことができます。
主な機能:
- 既製スキルのロード(ファイル操作、Web検索、コード実行など)
- カスタムスキルの追加(JSONまたはTypeScriptで定義)
- スキルの動的な有効・無効化
tracelet(トレーシング)
traceletは、エージェントの実行トレースを可視化します。各ツール呼び出しや思考ステップを記録し、デバッグや分析を容易にします。
主な機能:
- リアルタイムトレース表示
- トレースのエクスポート(JSON形式)
- エラーの詳細なスタックトレース
環境変数
| 変数名 | 説明 | デフォルト値 |
|---|---|---|
ENGRAM_DB_PATH | engramのデータベース保存先 | ./data/engram |
SKILLET_DIR | カスタムスキルのディレクトリ | ./skills |
TRACELET_ENABLED | traceletの有効/無効 | true |
OPENAI_API_KEY | ベクトル埋め込みに使用するAPIキー(任意) | null |
プラットフォーム互換性
- Claude Code: 完全対応(推奨)
- Cursor: 対応
- その他のMCP対応エージェント: 基本的に動作します。
- ブラウザベースのエージェント(例: Claude.ai): 非対応(ローカルMCPサーバーが必要なため)
トラブルシューティング
MCP接続エラー
MCPサーバーの設定パスが正しいことを確認してください。npx kitchen mcp が単体で動作するかテストします。
npx kitchen mcp
# 出力: {"jsonrpc":"2.0",...} のようなJSONが返るはずです
メモリが保存されない
ENGRAM_DB_PATH で指定されたディレクトリが書き込み可能であることを確認してください。
スキルが読み込めない
SKILLET_DIR に正しい形式のJSONまたはTypeScriptファイルが存在することを確認してください。各スキルは MCP ツール定義に従う必要があります。
クイックスタートデモ
- インストールと設定を行います。
npx kitchen startでシステムを起動します。- AIエージェント(例: Claude Code)を起動し、MCP経由でツールキットに接続します。
- エージェントに「新しいメモリを作成して」と指示し、engramが動作することを確認します。
- エージェントに「利用可能なスキルを表示して」と指示し、skilletのリストが返ってくることを確認します。
npx kitchen stopでシステムを停止します。
開発用コマンド
# テストの実行
npm test
# ビルド
npm run build
# 開発モードで起動(ホットリロード)
npm run dev
コントリビューション
バグ報告や機能リクエストは GitHub Issues までお寄せください。プルリクエストも歓迎します。
ライセンス
MIT License