ellmos Homebase について
ellmos Homebaseは、ローカルLLMやマルチエージェントのワークフローを構築する開発者向けのローカルファーストなMCPサーバーです。SQLiteによるメモリ、ナレッジ、タスク状態に、ルーティング、スウォーム計画、API調査、プラグイン検出を組み合わせています。
主な機能
- 01SQLiteによるメモリと状態管理
- 02ナレッジの保存と検索
- 03エージェント帰属情報付きチームメモリ
- 04ルーティングとスウォーム計画
- 05API調査とプラグイン検出
- 06計画のみの自動化ステージング
活用シーン
- 01エージェントのメモリをオフラインで保持
- 02ローカル保存したナレッジの検索
- 03共有タスクでのエージェント連携
- 04APIと自動化ワークフローの計画
MCP 対応
stdioのMCPサーバーとしてオーケストレーション機能をツールで提供し、永続データをローカルのSQLiteに保存します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
ellmos-homebase-mcp
ローカルファーストの LLM オーケストレーションを実現するアルファ版 MCP サーバーです。メモリ、ナレッジ、ルーティング、スウォームパターン、API の調査、永続状態、テスト、自動化の計画、プラグインの検出を、1 つの stdio サーバーで提供します。
Homebase は、主にローカル LLM(Ollama、Qwen、Llama、または MCP 対応ハーネスを介して利用できる、ローカルホスト型のあらゆるモデル)向けに設計されています。すべての永続ストレージは SQLite を使用し、クラウドに依存しません。外部 LLM プロバイダー(Claude、Codex、Gemini、OpenAI)も MCP クライアントとして接続できますが、主な対象はローカルでオフラインでも利用できる環境です。
ドイツ語版 README:README_de.md
open-bricks の傘下にある ellmos-ai ファミリーの一部です。
見つけやすさ: npm で ellmos-homebase-mcp として公開され、ellmos-ai 組織によって保守されています。
メモ
AI アシスタントと LLM エージェント向け: 機械可読なアーキテクチャ概要、インデックス、ツールの機能を llms.txt で公開しています。MCP レジストリのメタデータは server.json で確認できます。
クイックナビゲーション
- システムアーキテクチャ (
#sec-01) - シーケンスフローとライフサイクル (
#sec-02) - コア機能とセキュリティ不変条件 (
#sec-03) - ガバナンスとランタイム不変条件 (
#sec-04) - 対象ペルソナと見つけやすさ (
#sec-05) - 代替製品との比較表 (
#sec-06) - ここから始める (
#sec-07) - ステータス (
#sec-08) - インストール (
#sec-09) - MCP クライアントの設定 (
#sec-10) - サーバー設定 (
#sec-11) - ツール (
#sec-12) - 検出コンテキスト (
#sec-13) - ellmos-ai エコシステム (
#sec-14) - サードパーティライセンス(THIRD_PARTY_LICENSES.md) (
#sec-15) - セキュリティと脆弱性の報告 (
#sec-16) - 開発 (
#sec-17) - ライセンスと法定責任に関する免責事項(§ 521 BGB) (
#sec-18) - マーケティングログ(MARKETING-LOG.txt) | 変更履歴(CHANGELOG.md) | 法的帰属表示(NOTICE) | ドイツ語版(README_de.md)
システムアーキテクチャ
flowchart TD
subgraph Clients ["MCP Clients (Local / Remote)"]
Ollama["Local LLMs (Ollama, Qwen, Llama)"]
Claude["Claude Code / Desktop"]
Codex["Codex / Antigravity"]
end
subgraph Transport ["Transport Layer"]
Stdio["stdio (Python MCP SDK)"]
end
subgraph Core ["ellmos-homebase-mcp Core Engine"]
Server["homebase.server"]
Config["homebase.config"]
end
subgraph ToolGroups ["51 MCP Tools across 14 Functional Modules"]
Mem["hb_mem_* (SQLite Memory)"]
KB["hb_kb_* (Knowledge Digest)"]
State["hb_state_* (State & Tasks)"]
Route["hb_route_* (Model Router)"]
Swarm["hb_swarm_* (Swarm Patterns)"]
Api["hb_api_* (API Probing)"]
Conn["hb_conn_* (Connectors Queue)"]
Auto["hb_auto_* (Automation Chains)"]
Plug["hb_plug_* (Plugin Discovery)"]
Garden["hb_garden_* (Garden Store)"]
Test["hb_test_* (Self Tests)"]
Policy["hb_policy_* (Policy Registry, read-only)"]
Ticket["hb_ticket_* (Ticket Master, read-only)"]
Lock["hb_lock_* (Lock Master, read-only)"]
end
subgraph Storage ["Local Storage (Offline-First)"]
DB[(SQLite Storage ~/.homebase/)]
end
Clients --> Stdio
Stdio --> Server
Server --> Config
Server --> ToolGroups
ToolGroups --> DB
4つのビューによるアーキテクチャトポロジーの投影
+-------------------------------------------------------------------------------+
| VIEW 1: CALLER RUNTIMES, AGENT CLIENTS & ENTRYPOINTS |
| - Local LLM Engines: Ollama (Qwen, Llama, Mistral, DeepSeek), Local Harnesses|
| - Multi-Agent Orchestrators: Claude Code, Claude Desktop, OpenAI Codex, AGY |
| - IDE & Extension Interfaces: Cursor, VS Code MCP Extension, Windsurf |
| - stdio Protocol Transport: JSON-RPC 2.0 via Python Model Context Protocol |
+---------------------------------------+---------------------------------------+
| JSON-RPC 2.0 stdio (tools/list, tools/call)
v
+-------------------------------------------------------------------------------+
| VIEW 2: HOMEBASE MCP SOVEREIGN CORE & DISPATCH ORCHESTRATOR |
| - Core Server & Life Cycle: homebase.server (stdio loop, signal handling) |
| - Module Registry & Dispatch: homebase.registry (i18n schemas, locale norm) |
| - 51 Sovereign MCP Tools across 14 Specialized Functional Modules: |
| * Memory & Knowledge: hb_mem_* (SQLite memory), hb_kb_* (FTS5 search) |
| * State & Planning: hb_state_* (tasks & KV), hb_garden_* (garden store) |
| * Routing & Swarms: hb_route_* (offline routing), hb_swarm_* (blueprints) |
| * Exploration & Testing: hb_api_* (schema probe), hb_test_* (diagnostics) |
| * Integration & Staging: hb_conn_* (safe queues), hb_auto_* (chain plans) |
| * Extensibility: hb_plug_* (dry-run discovery, no remote code execution) |
| * Canonical Seams: hb_policy_*, hb_ticket_*, hb_lock_* (read-only views) |
+-------------------+-----------------------------------+-----------------------+
| |
v (bundled SQLite mode) v (canonical engine mode)
+---------------------------------------+ +-------------------------------------+
| VIEW 3: RUNTIME PERSISTENCE & | | VIEW 3-ALT: CANONICAL SEAMS |
| SQLITE STORAGE ENGINE | | (MODE-CONTRACT.md) |
| - Database: ~/.homebase/homebase.db | | - Policy Registry (hb_policy_*) |
| - Concurrency: Write-Ahead Log (WAL) | | - Ticket Master (hb_ticket_*) |
| - Multi-Agent Provenance: agent_id | | - Lock Master (hb_lock_*) |
| - Search Engine: SQLite FTS5 index | | - Fail-Closed Discipline: |
| - Integrity: Busy timeouts & rollback| | Raises CanonicalEngineUnavailable|
+-------------------+-------------------+ +-----------------+-------------------+
| |
+-------------------+-------------------+
|
v
+-------------------------------------------------------------------------------+
| VIEW 4: AIR-GAP DEFENSE PERIMETER, RUNASINVOKER & ZERO-EGRESS BOUNDARY |
| - 100% Local-First & Zero Egress: INV-LOCAL-01 (0 cloud calls, 0 telemetry) |
| - Unprivileged Execution: INV-PERM-08 (RunAsInvoker non-elevation principle) |
| - Engine Seam Integrity: INV-ENGINE-02 & INV-SEAM-03 (strict fail-closed) |
| - Deterministic Provenance: INV-PROV-04 (agent_id attribution on all state) |
| - Credential-Free Operation: INV-CRED-05 & INV-STAGE-06 (no tokens/secrets) |
| - Multi-Host Lock Defense: INV-SYNC-09 (.gitignore sync/lock immunity) |
| - Permissive Licensing: Zero-Copyleft stack (MIT, PSFL-2.0, Apache-2.0) |
| - Statutory SLA & Disclaimer: INV-SLA-10 (48h response SLA, § 521 BGB) |
+-------------------------------------------------------------------------------+
シーケンスフローとライフサイクル
sequenceDiagram
autonumber
participant Client as MCP Client (Local LLM / Claude / Codex)
participant Stdio as Transport Layer (stdio)
participant Server as Server & Registry (homebase)
participant Module as Functional Module (hb_mem / hb_state / hb_route)
participant Engine as Engine Seam (Bundled vs Canonical)
participant DB as SQLite Storage (~/.homebase/)
Client->>Stdio: JSON-RPC 2.0 Request (tools/call: hb_mem_store, agent_id="agent-01")
Stdio->>Server: Decode & dispatch tool call
Server->>Module: Validate arguments & inject agent provenance
alt Bundled Engine Mode (Default)
Module->>DB: Execute SQLite query (WAL mode, busy timeout)
DB-->>Module: Return structured records / mutation status
else Canonical Engine Mode ([engines].mode = "canonical")
Module->>Engine: Seam check (Gardener / TASKPLAN / USMC)
alt Engine Available
Engine-->>Module: Delegate to canonical subsystem
else Engine Unreachable
Engine-->>Module: Raise CanonicalEngineUnavailable (Fail-Closed)
end
end
Module-->>Server: Format response in requested language (i18n: en/de/es/zh/ja/ru)
Server-->>Stdio: Encode JSON-RPC 2.0 Response
Stdio-->>Client: Result payload (Zero cloud egress, 100% local)
コア機能とセキュリティ不変条件
| 機能/不変条件 | 保証 | 技術的な実装 |
|---|---|---|
| 100%ローカルファーストとゼロ外部送信 | 完全なプライバシーとオフラインでの動作を実現します。予期しないクラウド通信やテレメトリーはありません。 | すべての永続メモリ、ナレッジ、状態はローカルの SQLite(~/.homebase/)に保存されます。 |
| 厳格なエンジン境界とフェイルクローズ | 正規システムを要求した際に、切断されたデータベースへ暗黙的にフォールバックしません。 | MODE-CONTRACT.md に基づく強制により、対象に到達できない場合は CanonicalEngineUnavailable を発生させます。 |
チームメモリの来歴(agent_id) | 複数エージェントのワークフローにおいて、決定論的な監査証跡とフィルター可能な所有権情報を提供します。 | メモリの事実、ナレッジエントリー、タスク状態全体でネイティブの agent_id 追跡を行います。 |
| 認証情報不要の検出と計画 | ローカルルーティングの推奨や API のプローブ中に、秘密情報を一切漏えいしません。 | hb_route_*、hb_swarm_*、hb_api_* は、API キーやプライベートトークンを送信せずに実行されます。 |
| 安全な計画・キューアダプター | 任意のリモートコード実行を伴わず、安全にキューへ追加し、チェーンをステージングします。 | hb_conn_* と hb_auto_* は、計画のみのキューとオフラインのステージング記録を維持します。 |
| 完全なネイティブ i18n ローカライズ | 開発者とエージェントが、複数の言語でシームレスにやり取りできます。 | en、de、es、zh、ja、ru にローカライズされたツールの説明と JSON スキーマを提供します。 |
| 権限昇格の防止と秘密情報の衛生管理 | 非特権で実行し、認証情報が配布物に含まれないよう厳格に管理します。 | root 以外での実行に対応し、実際の設定や秘密情報は .gitignore と .npmignore で除外されます。 |
| 複数 OS における CI スモークテストの信頼性 | 主要なすべてのオペレーティングシステムで、クロスプラットフォームの信頼性を検証します。 | Linux/Windows/macOS 上で Python 3.10~3.13 と Node.js 20~24 を対象とする複数バージョンの CI マトリックスを使用します。 |
ガバナンスとランタイムの不変条件
| 不変条件 ID | タイトルと範囲 | 保証と技術的な適用 | 検証箇所 |
|---|---|---|---|
INV-LOCAL-01 | 100% ローカルファーストと外部送信ゼロ | すべての永続メモリ、ナレッジ項目、タスク状態は SQLite(~/.homebase/)にローカル保存されます。テレメトリ、分析、要求されていないクラウドへの外部ネットワーク呼び出しは一切ありません。 | tests/test_server_transport.py、tests/test_repository_hygiene.py |
INV-ENGINE-02 | 厳密なエンジン境界とフェイルクローズ | MODE-CONTRACT.md による適用:[engines].mode = "canonical" に切り替えたとき、正規エンジンに接続できない場合でも、同梱ストレージへ暗黙にフォールバックすることはありません。 | tests/test_engine_seams.py |
INV-SEAM-03 | 正規エンジンのみの分離 | hb_policy_*、hb_ticket_*、hb_lock_* は、それぞれ policy-registry、ticket-master、lock-master の読み取り専用ビューを提供します。同梱の模倣実装はなく、常にフェイルクローズします。 | tests/test_new_seams.py |
INV-PROV-04 | 決定論的な来歴とチームメモリ | 複数エージェントの連携には厳密な分離が必要です。すべてのメモリ、ナレッジの事実、タスクの遷移には、SQLite WAL の同時実行制御とビジータイムアウトのもとで agent_id による帰属情報が記録されます。 | tests/test_module_contracts.py |
INV-CRED-05 | 認証情報不要の検出とプロービング | モデルルーティングの提案(hb_route_*)、スウォームパターンのブループリント(hb_swarm_*)、API スキーマのプロービング(hb_api_*)は、非公開 API キー、トークン、認証情報なしで動作します。 | tests/test_module_contracts.py |
INV-STAGE-06 | 計画のみのステージングと上限付きオフラインキュー | コネクターキュー(hb_conn_*)と自動化プラン(hb_auto_*)は、任意のリモートコードや副作用を実行することなく、オフラインのブループリントとドライランのステージングマニフェストを記録します。 | tests/test_module_contracts.py |
INV-I18N-07 | ネイティブな多言語スキーマの同等性 | 51 個すべてのツール定義、入力スキーマ、検証エラーは、サポート対象の 6 言語(en、de、es、zh、ja、ru)で完全なローカライズを維持します。 | tests/test_i18n_completeness.py |
INV-PERM-08 | 権限昇格の禁止と RunAsInvoker 原則 | Homebase は、権限のないユーザー空間でのみ動作します。管理者権限や root 権限は不要で、機密性の高いローカルのドットファイルやシステム認証情報は無視します。 | tests/test_repository_hygiene.py |
INV-SYNC-09 | 複数ホスト間のロックと競合の規律 | 競合コピー(*.sync-conflict-*、*-conflict-*)を厳密に除外し、複数エージェントのロック機構(LOCK.*、*.lock)を尊重して、ホスト間でデータベースの整合性を維持します。 | tests/test_metadata.py |
INV-SLA-10 | 48 時間以内の応答、5 営業日以内のトリアージ、30 日以内の修正の SLA | [email protected]、[email protected]、または [email protected] に送られたセキュリティ情報の開示には、48 時間以内の初回応答、5 営業日以内のトリアージ、30 暦日以内の検証済み修正が保証されます。 | SECURITY.md、tests/test_metadata.py |
対象ユーザー像と見つけやすさ
Homebase は、4 つの主要な技術ユーザー層にわたるアーキテクチャおよび運用上の課題を解決するために特化して設計されています。
[PERSONA-01] ローカル LLM とエッジ AI の開発者
- プロフィールと目的: Ollama、Qwen、Llama モデルを使用してオフラインまたはエッジアプリケーションを構築する AI エンジニアで、堅牢なオーケストレーションハーネスを必要としています。
- 課題: クラウドメモリ API は、望ましくない遅延、プライバシー漏えい、サブスクリプション料金、ネットワーク障害の原因となります。
- Homebase の解決策: クラウドへの依存をゼロにし、SQLite WAL にローカルで永続化し(
~/.homebase/)、メモリ、FTS5 によるナレッジ検索、タスク追跡を提供する標準 stdio ツールを 51 個備えています。 - 参考ワークフロー:
{"tool": "hb_mem_store", "arguments": {"fact": "User prefers compact JSON output", "agent_id": "ollama-coder"}} {"tool": "hb_kb_search", "arguments": {"query": "API routing rules", "fts": true}}
[PERSONA-02] マルチエージェントスウォームオーケストレーター&スウォームアーキテクト
- プロフィールと目標: 共有コードベース上で同時に動作するマルチエージェントの集団(Claude Code、Codex、Antigravity、ローカルエージェント)を統括するシステムアーキテクトです。
- 課題: 状態の衝突、発生元の追跡機能の欠如、共有メモリにおける競合状態、タスク委任の連携不足です。
- Homebase のソリューション: すべてのファクト、メモリ、タスク状態でネイティブに
agent_idの出所を記録し、組み込みのスウォームテンプレート(ボス/ワーカー、チャンク分割並列処理、hb_swarm_*による合意投票)を提供します。 - 参照ワークフロー:
{"tool": "hb_swarm_plan", "arguments": {"goal": "Audit security seams", "pattern": "consensus"}} {"tool": "hb_state_task_create", "arguments": {"title": "Verify fail-closed mode", "agent_id": "worker-audit-01"}}
[PERSONA-03] エンタープライズセキュリティ&データガバナンス担当者
- プロフィールと目標: 規制対象業界(医療、金融、防衛)において、開発者向けエージェントのツールチェーンを評価する CISO、SecOps チーム、コンプライアンス監査担当者です。
- 課題: 気付かれにくいクラウドテレメトリー、審査されていないリモートでの副作用、権限昇格のリスク、SLA の保証不足です。
- Homebase のソリューション: 厳格なゼロエグレスアーキテクチャ、フェイルクローズする正規エンジンの境界(
MODE-CONTRACT.md)、権限を持たないRunAsInvokerでの動作、正式な 48 時間のセキュリティ対応 SLA(SECURITY.md)を提供します。 - 参照ワークフロー:
フェイルクローズ動作を保証します。安全でないスタブへ暗黙にフォールバックするのではなく、{"tool": "hb_policy_list_rules", "arguments": {}}CanonicalEngineUnavailableを発生させます。
[PERSONA-04] クロスフレームワーク AI アシスタント&ペアプログラマー
- プロフィールと目標: 複数の AI コーディングアシスタント(Claude Desktop、Codex、Cursor、Gemini)を利用し、環境間で統一されたコンテキストとツールの同等性を求める開発者です。
- 課題: 互換性のないカスタムツール API、断片化したスクラッチパッド、多言語に対応した開発者向けスキーマの欠如です。
- Homebase のソリューション: 標準の stdio MCP トランスポート、機械可読なプロジェクトメタデータ(
llms.txt、server.json、glama.json)、6 言語(en、de、es、zh、ja、ru)すべてに対応する完全なスキーマのローカライズを提供します。 - 参照ワークフロー:
{"tool": "hb_ticket_list", "arguments": {"folder": "ACTIVE"}}
検索意図の強い SEO キーワード
- 英語の検索意図:
local-first LLM orchestration MCP server、offline agent memory SQLite WAL、stdio Model Context Protocol Ollama Qwen、multi-agent swarm planning persistent state、zero-egress MCP server enterprise AI、fail-closed engine seams MODE-CONTRACT、team-memory agent_id provenance。 - ドイツ語の検索意図:
Local-First LLM-Orchestrierung MCP-Server、Offline Agenten-Memory SQLite WAL、Model Context Protocol Stdio-Server Ollama、Multi-Agenten Schwarmplanung persistenter Zustand、Zero-Egress MCP-Server Unternehmens-KI、Fail-Closed Schnittstellen MODE-CONTRACT、Team-Memory Agenten-Provenienz。
代替手段との比較表
Homebase は、特化型またはクラウド依存の代替手段と比べ、包括性に優れたローカル優先の MCP 機能スタックを提供します。
| アーキテクチャとランタイムの側面 | ellmos-homebase-mcp | クラウドメモリー SaaS(Letta、Pinecone、LangSmith) | 汎用メモリー MCP(mcp-server-memory、sqlite) | 大規模エージェントフレームワーク(CrewAI、AutoGen、LangGraph) | 場当たり的なスクリプト/カスタム SQLite |
|---|---|---|---|---|---|
1. 100%ローカル優先&外部送信ゼロ(INV-LOCAL-01) | はい(100%ローカルの SQLite WAL、テレメトリーなし) | いいえ(クラウドホスト型、外部送信が必須、PII のリスクあり) | 一部対応(ローカルファイルだが、厳格な外部送信契約なし) | さまざま(多くの場合、クラウド API キー/SaaS が必要) | はい(ローカルだが、プロトコルの保証なし) |
2. エンジンの境界とフェイルクローズ(INV-ENGINE-02) | はい(厳格な MODE-CONTRACT.md、失敗時にエラーを発生) | いいえ(不透明なクラウド側フェイルオーバー) | いいえ(バックエンドを単一に固定) | いいえ(未検査の例外/暗黙のフォールバック) | いいえ(場当たり的なエラー処理) |
3. 正規システムのみとの境界(INV-SEAM-03) | はい(hb_policy_*、hb_ticket_*、hb_lock_* はフェイルクローズ) | いいえ(正規システムを認識しない) | いいえ(ポリシーやロックとの統合なし) | いいえ(ガバナンスの境界レイヤーなし) | いいえ(手動での調整) |
4. チームメモリーと帰属情報(INV-PROV-04) | はい(事実、ナレッジ、タスクにネイティブの agent_id) | 一部対応(ユーザーレベルのみで、複数エージェントのフィルターなし) | いいえ(単一のグローバルな未分割グラフ) | 一部対応(メモリー内のエージェント状態。再起動時に消失) | いいえ(スキーマ管理が手動) |
5. 認証情報不要の検出(INV-CRED-05) | はい(トークンなしでのオフラインルーティングとスウォーム計画) | いいえ(有効な有料クラウド認証情報が必要) | いいえ(モデルルーティングやスウォームツールなし) | いいえ(LLM プランナーに API キーが必要) | いいえ(構造化された計画機能なし) |
6. 計画のみのステージングキュー(INV-STAGE-06) | はい(安全なコネクターキューとドライラン自動化) | いいえ(直接実行、または機能なし) | いいえ(コネクターや自動化のサポートなし) | いいえ(ランタイムで直接副作用が発生) | いいえ(任意のコードを安全でなく実行) |
| 7. ツールの幅と提供範囲 | 単一の stdio サーバーに、14 モジュールにわたる 51 個のツール | 1~5 個の API エンドポイント | 2~5 個の基本ツール | フレームワークレベルの Python ライブラリ(MCP ネイティブではない) | 断片化された CLI ユーティリティ |
8. 多言語スキーマの対応状況(INV-I18N-07) | はい(en、de、es、zh、ja、ru のスキーマを全面的にサポート) | 英語のみ | 英語のみ | 英語のみ | 英語のみ/なし |
9. 権限昇格なしのセキュリティ(INV-PERM-08) | はい(権限のない RunAsInvoker、ドットファイルによる防御) | クラウド SaaS(テナント分離の信頼モデル) | さまざま(ローカルファイルの権限による) | さまざま(多くの場合、root コンテナーで実行) | さまざま(ユーザースクリプトによる) |
10. セキュリティ対応 SLA(INV-SLA-10) | はい(SECURITY.md に正式な 48 時間以内の応答、5 日以内のトリアージ、30 日以内の修正を規定) | 商用 SLA(有料プランのみ) | なし/コミュニティによるベストエフォート | なし/コミュニティによるベストエフォート | なし |
まずはこちら
| 用途 | 参照先 |
|---|---|
| アルファ版 MCP サーバーをインストールする | npm install -g ellmos-homebase-mcp@alpha |
| ソースをチェックアウトして実行する | PYTHONPATH=src を設定して python -m homebase.server を実行 |
| ローカル LLM ハーネス、Claude Code、Codex、または任意の MCP クライアントを設定する | MCP クライアントの設定 |
| 機械可読形式のプロジェクト概要を確認する | llms.txt |
| レジストリのメタデータを確認する | server.json |
ステータス
- トランスポート:Python MCP SDK を介した stdio
- パッケージのステータス:
ellmos-aiの公開アルファ版パッケージ - リリースメタデータ:MIT
LICENSE、NOTICE、CHANGELOG.md、llms.txt、およびserver.json内の MCP Registry メタデータ - テストゲート:GitHub Actions で Python 3.10/3.11/3.12/3.13、Node.js 20/22/24 のスモークテストと npm パッケージのチェックを実施
- 現在のコア機能:モジュール検出、MCP ツール一覧表示、MCP ツールのディスパッチ、設定のフォールバック、ローカルのプランニング/プロービング/キュー/ドライラン用アダプター
- 実際のローカル SQLite モジュール:
hb_mem_*、hb_kb_*、hb_garden_*、hb_state_* - エンジン接続点:
hb_garden_*、hb_state_task_*、hb_mem_*は、[engines].mode = "canonical"によって、同梱の SQLite コピーではなく実際の標準 Gardener/Rinnsal/USMC エンジンに処理を委譲できます(依存関係なしでインストールできるよう、デフォルトは"bundled"のままです)。 暗黙のフォールバックはありません:canonicalを指定してエンジンに接続できない場合、これらのツールは同梱 DB を黙って使用せず、エラーを返します。サーバーは引き続き起動し、ツール一覧を表示します。バインディングの規則と移行に関する注意事項:MODE-CONTRACT.md。仕組み:KONZEPT.md。 - canonical 専用の接続点(同梱の代替手段なし):
hb_policy_*(policy-registry)、hb_ticket_*(ticket-master)、hb_lock_*(lock-master)。v1 ではすべて読み取り専用です。ライブのポリシー/チケット/ロック状態をローカルに偽装したコピーは役に立つどころか誤解を招くため、これら 3 つは常に canonical モジュールへの接続を試み、接続できない場合は必ずフェイルクローズします。 - チームメモリの基本機能:メモリ、ナレッジ、状態メモリ、タスクに対する
agent_idの出所情報とフィルター。SQLite は、エージェントの並行利用をより安全にするため、WAL とビジータイムアウトを使用します。 - 認証情報不要のアルファ版アダプター:
hb_route_*、hb_swarm_*、hb_api_*、hb_test_*、hb_conn_*、hb_auto_*、hb_plug_* - i18n:
en、de、es、zh、ja、ruに対応した、MCP ツールの説明、入力スキーマのフィールド説明、不明なツールのエラーメッセージの完全なローカライズ(未設定のキーは英語にフォールバック) - ロードマップ:オプションの実際の LLM/API 統合と、明示的な実行バックエンド
インストール
npm パッケージには、Python サーバーを起動する Node ラッパーが含まれています。引き続き Python 3.10 以降と Python パッケージ mcp>=1.0.0 が必要です。
オプション 1:npm からインストール
npm install -g ellmos-homebase-mcp@alpha
ellmos-homebase
オプション 2:ソースからインストール
git clone https://github.com/ellmos-ai/ellmos-homebase-mcp.git
cd ellmos-homebase-mcp
$env:PYTHONIOENCODING = "utf-8"
python -m pip install -e ".[dev]"
python -m pytest -ra -v
同期クライアントがファイルをロックする場合は、クラウド同期フォルダー内に .venv を作成しないでください。隔離された環境が必要な場合は、そのフォルダーの外に作成してください。
ソースから起動
$env:PYTHONPATH = "src"
python -m homebase.server
MCP クライアントの設定
Homebase は、標準の stdio mcpServers 設定形式を使用します。同じスニペットは、BACH/Buddha(ローカル Ollama)、Claude Code、Codex、Cursor、その他すべての MCP 対応クライアントやハーネスで使用できます。
ローカル LLM に関する注意: Ollama 単体では MCP をネイティブに扱えません。その上で動作する MCP 対応ハーネスが必要です(例:BACH、オープンソースの MCP プロキシ、その他のオーケストレーションレイヤー)。以下のスニペットを使って、そのハーネスに Homebase を MCP サーバーとして含めるよう設定してください。
npm をグローバルインストールする場合
{
"mcpServers": {
"homebase": {
"command": "ellmos-homebase"
}
}
}
ソースをチェックアウトした場合
{
"mcpServers": {
"homebase": {
"command": "python",
"args": ["-m", "homebase.server"],
"env": {
"PYTHONPATH": "/absolute/path/to/ellmos-homebase-mcp/src"
}
}
}
}
/absolute/path/to/ellmos-homebase-mcp をローカルのチェックアウトパスに置き換えてください。
サーバー設定
例:config/homebase.example.toml
機械可読なプロジェクトコンテキスト:llms.txt
MCP Registry のメタデータ:server.json
デフォルトのパス:
%USERPROFILE%\.homebase\homebase.toml%USERPROFILE%\.config\homebase\homebase.tomlHOMEBASE_CONFIGで上書き
言語は [server].language、HOMEBASE_LANG、または HOMEBASE_LOCALE で設定できます。
書き込みエージェントはツール呼び出しごとに agent_id として渡すことができます。指定されない場合、モジュールは
HOMEBASE_AGENT_ID、AGENT_ID、モジュールレベルの agent_id、または unknown を使用します。
[server]
name = "ellmos-homebase"
language = "en" # en, de, es, zh, ja, ru
[modules]
enabled = ["mem", "route", "kb", "swarm", "state", "garden", "api", "test", "conn", "auto", "plug"]
オプションの依存関係が不足しているモジュールは、サーバーの起動を妨げずにスキップされます。
ツール
重要なツールグループ:
- SQLite を基盤とするメモリ用の
hb_mem_* - SQLite を基盤とするナレッジエントリー用の
hb_kb_* - 永続的な SQLite の状態とタスク用の
hb_state_* - 小規模な SQLite ガーデンストア用の
hb_garden_* - 認証情報を必要としないモデルルーティングの推奨とフィードバック統計用の
hb_route_* - 認証情報を必要としないスウォーム計画パターン用の
hb_swarm_* - SQLite の履歴を伴う、受動的な HTTP API 検出用の
hb_api_* - 組み込みのメタデータとスモーク自己テスト用の
hb_test_* - ローカルコネクタレジストリと、ネットワーク送信を伴わない SQLite ベースの受信/送信キュー用の
hb_conn_* - ローカル自動化チェーンの定義と、バックエンド実行を伴わない計画のみの実行キュー用の
hb_auto_* - プラグインコードを実行しない、ローカルプラグインの検出とドライラン記録用の
hb_plug_* - ポリシーレジストリのルールを解決/一覧表示するための
hb_policy_*(読み取り専用、canonical のみ) - ライフサイクルフォルダーごとにチケットマスターのチケットを一覧表示/表示するための
hb_ticket_*(読み取り専用、canonical のみ) - アクティブなロックマスターロックを確認/一覧表示するための
hb_lock_*(読み取り専用、canonical のみ)
hb_state_task_list はタスクのページを 1 つ返します。オプションの status と agent_id のフィルターは
ページネーションの前に適用されます。limit のデフォルトは 200 で、1~500 を指定できます。一方、
cursor は前のページから next_cursor として返された、排他的なタスク ID です。
応答には count(このページのタスク数)と tasks が含まれ、さらに total
(カーソルにかかわらず、フィルターに一致するすべてのタスク数)、truncated、next_cursor、
limit、cursor が追加されます。truncated が true の間は続行してください。ページは
タスク ID の昇順で取得されます。各呼び出しは新たに読み取るため、同時編集によって後続ページの
合計数や対象が変わる場合があります。canonical モードでは、Task-Master の
TaskClient.list_page API(PR #22、コミット ac2c681c)が必要です。この API が
インストールされるまでは、不完全な一覧の代わりに、ツールは
error.code: task_pagination_unavailable を伴う status: unavailable を返します。
検出コンテキスト
ローカル優先でオフライン対応の MCP サーバーを探しており、ローカル LLM(Ollama、Qwen、Llama など)に、クラウドへの依存を必要とせず、永続メモリ、ナレッジ管理、ルーティング、オーケストレーションを提供するものをお探しの場合は、ellmos-homebase-mcp をご利用ください。外部の LLM プロバイダーも MCP サーバーとして利用できますが、主な設計対象はローカル優先の構成です。
検索に適した語句:
ellmos Homebase MCP serverlocal-first LLM orchestration MCPMCP server SQLite memory knowledge routingoffline agent orchestration MCP serverMCP swarm planning persistent state API discovery
Elmo/ELMO の音声ツール、AllenAI ELMo の埋め込み、Eclipse LMOS、汎用クラウドエージェントプラットフォーム、単機能の MCP メモリサーバーとは異なります。
ellmos-ai エコシステム
この MCP サーバーは、AI インフラストラクチャ、MCP サーバー、インテリジェントツールを提供する ellmos-ai エコシステムの一部です。
MCP サーバーファミリー
| サーバー | ツール | 主な用途 | npm |
|---|---|---|---|
| FileCommander | 47 | ファイルシステム、プロセス管理、インタラクティブセッション、クラウドロックに安全な操作 | ellmos-filecommander-mcp |
| CodeCommander | 23 | コード分析、JSON 修復、インポート、差分、正規表現 | ellmos-codecommander-mcp |
| Clatcher | 12 | ファイル修復、形式変換、一括操作 | ellmos-clatcher-mcp |
| n8n Manager | 19 | AI アシスタントによる n8n ワークフロー管理 | n8n-manager-mcp |
| ControlCenter | 20 | MCP スタックの検出、プロファイル管理、コントロールプレーン | ellmos-controlcenter-mcp |
| Homebase | 51 | ローカルファーストの LLM メモリ、ナレッジ、状態、ルーティング、スウォームオーケストレーション | ellmos-homebase-mcp(アルファ版) |
| ServerCommander | 8 | サーバー運用:ヘルスチェック、ログ分析、デプロイのドライラン、メールの診断 | ellmos-servercommander-mcp(アルファ版) |
| Blender Use | 3 | ヘッドレス Blender アセットの QA と FBX 再インポート検証 | ellmos-blender-use-mcp(アルファ版) |
| Open Compute | 10 | モデルに依存しないコンピューター操作:キャプチャ、安全性を考慮したアクション、Windows UIA | open-compute-mcp(アルファ版) |
AI インフラストラクチャ
| プロジェクト | 説明 |
|---|---|
| BACH | LLM エージェント向けのローカルファーストなテキストベース OS — 113 以上のハンドラー、550 以上のツール、SQLite メモリ |
| open-compute | Open Compute MCP を支える、モデルに依存しないコンピューター操作のコア |
| clutch | 自動ルーティングと予算追跡を備えた、プロバイダーに依存しない LLM オーケストレーション |
| rinnsal | 軽量なエージェントメモリ、コネクター、自動化インフラストラクチャ |
| ellmos-stack | セルフホスト可能な AI 研究スタック(Ollama + n8n + Rinnsal + KnowledgeDigest) |
| MarbleRun | Claude Code 向け自律型エージェントチェーンフレームワーク |
| gardener | ミニマリストなデータベース駆動型 LLM OS のプロトタイプ(4 つの関数、1 つのテーブル) |
| ellmos-tests | LLM オペレーティングシステム向けテストフレームワーク(7 つの次元) |
| agent-ops-stack | マニフェストベースの Git fetch ブループリント。マニフェストでは Homebase を homebase-mcp として記載し、mcp-runtime、memory-facade、task-facade のラベルを宣言しています。Homebase のセットアップ手順に従ってください。 |
デスクトップソフトウェアと関連エコシステム
パートナー組織である**open-bricks**とその関連組織は、ローカルファーストでプライバシーを重視したデスクトップソフトウェアと開発者ツールを提供しています。
| アプリケーション/ツール | 組織 | 主な用途と連携 |
|---|---|---|
| ProFiler | file-bricks | ローカルファーストのデスクトップファイル整理ツールと、PIIに配慮したワークスペース共有 |
| DokuZen | doc-bricks | 集中を妨げないMarkdown・PDFドキュメント管理ツール |
| PDFtoPDFocr | doc-bricks | ローカルファーストのPDF OCRとテキストレイヤーの埋め込み |
| KnowledgeDigest | doc-bricks | オフラインのドキュメント要約・埋め込みエンジン |
| DevCenter | dev-bricks | 開発者向けワークスペースハブと複数リポジトリ管理 |
| CodeBox | dev-bricks | 隔離されたサンドボックス実行環境と、ローカルでのコード実行を支援するアシスタント |
| MemoryHooker | ellmos-ai | フックベースのLLMメモリの来歴管理とセッション注入ゲート |
| sqlite-transit-sync | ellmos-ai | 依存関係ゼロのSQLiteスキーマ移行・レプリケーションレイヤー |
サードパーティライセンスとレベル1 SBOM
ellmos-homebase-mcpにコピーレフトの依存関係が0%であることを確認済みです。すべてのランタイム依存関係は、許諾的ライセンス(MIT、BSD-2-Clause、Apache-2.0、PSFL)の下で提供されています。
全依存関係の一覧、レベル1 SBOM不変条件相互参照マトリックス、および非昇格認証については、THIRD_PARTY_LICENSES.mdと、そのプレーンテキスト版であるTHIRD_PARTY_LICENSES.txtに記載されています。正式な著作権表示と著者の帰属情報はNOTICEで管理されています。
セキュリティと脆弱性の報告
ellmos-homebase-mcpは、ローカルファースト、外部への通信ゼロ、権限昇格なしというセキュリティ原則を厳格に遵守しています。ポリシー、SLA、セキュリティ保証の詳細はSECURITY.mdに記載されています。
- サポート対象バージョン:
0.1.0-alpha.x - 対応SLA:48時間以内に初回の受領確認とトリアージを行います。詳細なトリアージは5営業日以内、修正は30暦日以内に実施します。
- セキュリティ連絡先:
[email protected]、[email protected]、[email protected]。 - 非公開アドバイザリー:GitHub Security Advisories。
開発
$env:PYTHONIOENCODING = "utf-8"
$env:PYTHONDONTWRITEBYTECODE = "1"
python -m pytest -ra -v
npm run smoke
npm pack --dry-run --json
次に役立つ手順:明示的な設定を通じて、オプションの実行バックエンドを追加します。
ライセンスと法定責任に関する免責事項(§ 521 BGB)
ソフトウェアライセンス
ellmos-homebase-mcpは、**MIT License**の下でライセンスされているオープンソースソフトウェアです。
Lukas Geiger、ellmos-aiファミリー、およびopen-bricksエコシステムへの正式な帰属表示は、NOTICEに記載されています。
サードパーティコンポーネントのライセンスは、THIRD_PARTY_LICENSES.mdにまとめられています。
法的通知および責任の制限(§ 521 BGB - ドイツ法)
このソフトウェアは、オープンソースプロジェクトとして無償で提供されています。無償のソフトウェア提供を定めるドイツの法定規定(§ 521 BGB Gefälligkeitsrecht)に基づき、以下が適用されます。
- 責任の制限:作者およびコントリビューターは、故意(Vorsatz)または重大な過失(grobe Fahrlässigkeit)がある場合に限り責任を負います。
- 保証の制限:§§ 523、524 BGBに従い、物的瑕疵および法的瑕疵(Sach- und Rechtsmängel)に対する保証請求は、瑕疵が悪意をもって隠されていた場合(arglistiges Verschweigen)を除き、除外されます。
- ローカルファーストおよび権限昇格禁止の原則:
ellmos-homebase-mcpは、明示的または黙示的な保証のない「現状有姿」かつ「提供可能な状態」で提供されます。運用者は、自らの裁量で、権限のないユーザーモード(RunAsInvoker)でHomebaseを実行します。
セキュリティ対応に関する協調SLA
脆弱性の報告またはセキュリティに関するお問い合わせには、協調的な情報開示ポリシーに基づき、48時間以内に初回回答を行い、5営業日以内にトリアージを実施します。
- セキュリティ窓口:
[email protected]|[email protected]|[email protected] - アドバイザリーポータル:GitHub Security Advisories
- ポリシー文書:
SECURITY.md
バンドルとパートナー
Homebase MCPは、引き続きローカルファーストのスタンドアロンMCPサーバーです。V4の構成では、
ellmos-memory-human-context-bundle のオプションの MCPアクセスサーフェス として機能します。構成されたシステムは、これを使用して
メモリおよびヒューマンコンテキストの機能にアクセスできます。このアクセス上の役割によって、Homebaseがあらゆるメモリ、ナレッジ、
状態、ルーティング、または自動化機能の正式な所有者になるわけではありません。これらの紐付けは、選択されたホストおよびシステムマニフェストに保持されます。
正式なエンジンまたはバンドル済みのエンジンは、明示的な構成によって選択される統合パートナーであり、このサーバーを暗黙的に置き換えるものではありません。正式なバンドルの構成要素、バージョン、プロファイル、非公開の構成レシピは、対応するバンドルマニフェストに記載されています。この公開セクションは、発見のみを目的としています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。