Cortex RMCP について
Cortex はホームラボや小規模なプライベート環境向けのセルフホスト型ログ分析サービスです。SQLite と FTS5 で運用情報を集約し、ログ、ホスト状態、AI セッションをタイムラインやインシデントに関連付けます。CLI、REST、ブラウザワークスペースも備えています。
主な機能
- 01Syslog、Docker、OpenTelemetry データの取り込み
- 02SQLite 保存と FTS5 全文検索
- 03複数ソースの相関、タイムライン、インシデント分析
- 04フリートインベントリとトポロジーグラフ
- 05AI セッションと関連イベントのインデックス化
- 06CLI、REST、ブラウザワークスペース
活用シーン
- 01ホームラボのログ検索と調査
- 02ログ、ホスト状態、サービストポロジーの相関
- 03AI コーディングセッションとツールイベントの確認
- 04タイムラインによる運用障害の分析
MCP 対応
MCP 経由で運用クエリ用ツール、プロンプト、リソースを提供し、MCP Apps の検索ウィジェットにも対応します。ローカルデータベースへの stdio 接続と、常駐デーモンへの Streamable HTTP 接続を利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @dinglebear/cortexCORTEX_HOMEOptional Cortex home directory containing configuration and local SQLite data.CORTEX_TOKENシークレットOptional bearer token for Cortex MCP HTTP mode; also used by some shared configs.CORTEX_API_TOKENシークレットBearer token for Cortex REST API routes when running daemon/API mode.CORTEX_RMCP_VERSIONOptional GitHub release tag override for the downloaded Cortex binary.CORTEX_RMCP_REPOOptional GitHub owner/repo override for release asset downloads.CORTEX_RMCP_RELEASE_BASE_URLOptional release download base URL override.RUST_LOGTracing filter for Cortex logs.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Cortex
MCP、CLI、REST を通じてホームラボのログを分析する、SQLite/FTS 搭載のセルフホスト可能なツールです。
ログと運用上の証拠を収集し、SQLite に FTS5 検索機能とともに保存して、CLI、REST、MCP、および同梱のブラウザーワークスペースから利用できる共通のインテリジェンスレイヤーを提供します。
Cortex は syslog レシーバーとして始まりました。現在は、ネットワークログ、Docker、管理対象ファイル、OpenTelemetry のログ、メトリクス、トレース、ホストのハートビート、フリートインベントリ、シェルとエージェントのアクティビティ、Claude、Codex、Gemini CLI、Antigravity のトランスクリプトを扱います。これらのソースを相互に関連付けて、タイムライン、インシデント、証拠に裏付けられたトポロジーグラフを生成します。グラフを第二の信頼できる情報源にすることはありません。
概要
| 領域 | Cortex が提供する機能 |
|---|---|
| 取り込み | UDP/TCP syslog、OTLP/HTTP のログ、メトリクス、トレース、Docker のログとイベント、管理対象ファイルの末尾の追跡、ホストのハートビート、AI トランスクリプト、シェル履歴、エージェントのコマンド記録、フリートインベントリ |
| ストレージ | WAL モードの SQLite、FTS5 全文検索、上限付きメタデータ、保持期間、ストレージ予算、メンテナンスジョブ、チェックポイント、63 件の連続したスキーママイグレーション |
| 調査 | 検索、フィルタリング、コンテキスト、タイムライン、パターン、異常比較、ソース間の相関、繰り返し発生するエラーシグネチャ、決定論的なインシデントバンドル、グラフの説明 |
| フリートインテリジェンス | SSH と API によるインベントリ収集、ホスト状態、サービスのトポロジー、コンテナとルートの関係、秘匿化された証拠、再構築可能なグラフの投影 |
| AI 運用 | Claude、Codex、Gemini CLI、Antigravity のセッションインデックス化、各プロバイダーが公開するスキル、MCP、フックイベントの抽出、インシデントのクラスタリング、ガード付きのローカル LLM 評価 |
| インターフェース | ネイティブ CLI、アクションをディスパッチする単一の MCP ツール、認証済み REST API、MCP のプロンプトとリソース、MCP Apps 検索ウィジェット、同梱の調査ワークスペース |
| 運用 | セットアップと修復、診断、Compose 制御、バックアップ、整合性チェック、WAL チェックポイント、バキューム、更新ワークフロー、エージェント、ヘルスエンドポイント |
重要
Cortex は、信頼できるホームラボまたは小規模なプライベートフリート向けに設計されています。クラスター型のログウェアハウスでも、汎用 SIEM でもなく、認証されていない管理インターフェースをパブリックインターネットに公開しても安全なツールでもありません。
目次
- クイックスタート
- Cortex の構成
- 取り込み
- 調査とインテリジェンス
- フリートインベントリとグラフ
- AI セッションインテリジェンス
- アラートと通知
- インターフェース
- 設定
- 認証と信頼境界
- ストレージとメンテナンス
- デプロイと配布
- 運用
- 開発と検証
- ドキュメント
- 現在の制約
- ライセンス
クイックスタート
CLI をインストールする
正式なガイド付きの方法は次のとおりです。
npx skills add dinglebear-ai/cortex --skill install-cortex
新しいエージェントタスクを開始し、$install-cortex を実行します。サーバーまたはクライアントのみの役割を選択し、標準のインストーラー/セットアップエンジンに処理を委任して、認証、ネットワーク、ストレージを設定し、クライアントのライブ接続を確認します。
ローカル CLI と stdio MCP を使う場合、npm ランチャーが引き続き最も手早い方法です。
npx -y @dinglebear/cortex --help
npx -y @dinglebear/cortex mcp
次のコマンドで永続的にインストールします。
npm install --global @dinglebear/cortex
cortex --version
ランチャーには Node.js 18 以降が必要です。Linux x64、Linux ARM64、macOS ARM64、または Windows x64 向けの、チェックサム検証済みネイティブリリースバイナリをダウンロードします。
現在の安定版 Rust ツールチェーンを使ってソースからビルドします。
git clone https://github.com/dinglebear-ai/cortex.git
cd cortex
mise install # optional, but pins the repository tools
just build
./.cache/cargo/debug/cortex --version
ローカルサーバーを起動する
フルデーモンは、UDP と TCP の syslog レシーバー、および共有 HTTP サーバーを起動します。MCP トークンと REST トークンは別々に使用してください。
mkdir -p "$HOME/.cortex/data"
export CORTEX_DB_PATH="$HOME/.cortex/data/cortex.db"
export CORTEX_TOKEN="$(openssl rand -hex 32)"
export CORTEX_API_TOKEN="$(openssl rand -hex 32)"
cortex serve mcp
デフォルト設定:
- Syslog:UDP および TCP の
0.0.0.0:1514 - HTTP:
127.0.0.1:3100 - MCP:
http://127.0.0.1:3100/mcp - REST:
http://127.0.0.1:3100/api/* - 調査ワークスペース:
http://127.0.0.1:3100/app
別のターミナルから確認します。
curl -fsS http://127.0.0.1:3100/health
logger -n 127.0.0.1 -P 1514 --tcp "cortex quickstart from $(hostname)"
export CORTEX_API_TOKEN="the-same-api-token"
cortex tail --limit 10
ローカルのマネージドデプロイでは、cortex setup repair を実行すると、Cortex のホーム、Compose アセット、データパス、および不足している 64 文字の MCP トークンと REST トークンが作成または修復されます。既存のトークン値は置き換えられません。
MCP クライアントを接続する
クエリ専用の stdio モードでは、設定済みのローカルデータベースを読み込み、ネットワークリスナーを起動しません。
{
"mcpServers": {
"cortex": {
"command": "npx",
"args": ["-y", "cortex-rmcp", "mcp"],
"env": {
"CORTEX_DB_PATH": "/absolute/path/to/cortex.db"
}
}
}
}
ストリーミング可能な HTTP モードでは、常時稼働するデーモンに接続します。
{
"mcpServers": {
"cortex": {
"url": "http://127.0.0.1:3100/mcp",
"headers": {
"Authorization": "Bearer your-cortex-token"
}
}
}
}
最初の呼び出しには、次の操作が便利です。
{"action":"status"}
その後、より広範な分析操作を使う前に、tail、errors、search、timeline、または context で調査対象を絞り込みます。
Cortex の構成
Cortex は、複数の動作モードを備えた 1 つの Rust バイナリです。同じアプリケーション層とサービス層が CLI、REST ハンドラー、MCP ハンドラーを支えているため、検証、制限、ID の解決、編集処理、ビジネスルールが特定のトランスポートだけに属することはありません。
INGESTION
Syslog UDP/TCP OTLP signals Docker agent / pull
Managed file tails Heartbeats Claude / Codex / Gemini / Antigravity
Shell history Agent commands Fleet inventory
\ | /
\ | /
+---- bounded parsing and enrichment ----+
|
scrub, normalize, batch
|
SQLite WAL + FTS5
|
+----------------+----------------+
| |
authoritative records derived accelerators
logs, heartbeats, rollups, signatures,
inventory, sessions graph projections
| |
+----------------+----------------+
|
shared service layer
|
CLI REST MCP Web workspace
デーモンは、協調キャンセルを使用してレシーバーとバックグラウンドサービスを監視します。シャットダウン時には、HTTP リクエストの処理を完了させ、メンテナンスタスクには中止して結合する前に 10 秒間の完了猶予を与え、取り込み処理にはフラッシュのために 5 秒間の猶予を与えた後、WAL チェックポイントを試みます。すでに実行中のブロッキング SQLite 呼び出しは、Tokio ではキャンセルできません。
バックグラウンドサービスには、次のものがあります。
- 保持期間とストレージ予算の適用
- WAL と FTS のメンテナンス
- Docker 取り込みの監視
- ファイルテールの監視
- エラーシグネチャのスキャン
- 通知の評価、配信、ダイジェストのスケジュール設定
- インベントリの更新とバックフィル
- グラフ投影の更新
- AI セッションとタイムラインの集約
- データベースの最適化とメンテナンスタスク
負荷の高い分析読み取りとメンテナンスタスクには、それぞれ別の同時実行制御が設けられているため、1 つの負荷の高い調査によって取り込み処理が滞ることはありません。
取り込み
ログに類するすべてのソースは、同じ永続ログモデルに正規化され、安全な場合は情報が付加され、設定に応じて機密情報が除去されたうえで、上限付きのバッチ処理を通じて書き込まれます。
UDP および TCP 経由の Syslog
Cortex は、設定可能な同じポートで UDP および TCP の syslog をリッスンします。一般的な RFC 3164 および RFC 5424 の形式を解析し、未加工のフレームを保持し、送信元の識別情報を記録し、重大度とファシリティを正規化して、既知のアプリケーション形式に情報を付加します。
関連するデフォルト設定:
- バインド:
0.0.0.0:1514 - 最大メッセージサイズ:8 KiB
- TCP 接続の最大同時数:512
- TCP アイドルタイムアウト:300 秒
- 書き込みバッチ:100 レコードまたは 500 ms
- 書き込みキュー容量:10,000 レコード
Syslog にはアプリケーション層の認証がありません。信頼できるネットワークの外部からリスナーにアクセスできる場合は、ネットワーク制御と CORTEX_ALLOWED_SOURCE_CIDRS を使って送信元を制限してください。
組み込みの情報付加機能は、AdGuard、Authelia、Docker のライフサイクルイベント、fail2ban、Linux カーネルおよび OOM イベント、SWAG、リバースプロキシログ、ホストローカルの Cortex Docker エージェントメタデータから有用なシグナルを認識します。ソースゲートを使うと、認証されていない syslog 本文内のマーカーを信頼することになる情報付加を制限できます。
OpenTelemetry の取り込み
Cortex は、共有 HTTP リスナーで protobuf OTLP/HTTP エクスポートリクエストを受け付けます。ログには POST /v1/logs を使用し、リクエストボディの上限は 4 MiB で、通常の書き込み処理を経由します。メトリクスには POST /v1/metrics、トレースには POST /v1/traces を使用し、どちらもリクエストボディの上限は 8 MiB で、専用のストレージに保存されます。メトリクスリクエストでは、ポイント数は最大 5,000 件に制限されるほか、正規化後のペイロードサイズにも上限が設けられています。
現在の OTLP の対応範囲は、意図的に限定されています。
- HTTP/protobuf によるログ、トレース、メトリクスに対応しています。
- OTLP/gRPC は実装されていません。
3 つの OTLP エンドポイントはすべて、CORTEX_TOKEN で認証します。これは、POST /mcp を保護するものと同じ静的な MCP ベアラートークンで、デプロイ済みホストでは ~/.cortex/.env から読み込まれます。CORTEX_API_TOKEN(REST /api/* 用)でも、CORTEX_API_ADMIN_TOKEN でもありません。ループバックおよび信頼済みゲートウェイのポリシーでは、このチェックは省略されます。静的トークンがない OAuth のみのデプロイでは、マシンのエクスポーターに OAuth フローがないため、OTLP は全面的に拒否されます。そのため、CORTEX_TOKEN が設定されていない場合、ループバック以外に OTLP を公開する OAuth のみの構成は起動時に拒否されます。
Docker ログとイベント
Cortex は、Docker の収集方法として次の 2 つに対応しています。
- ホストローカルエージェント:複数ホストでの利用に推奨される方法です。ホストローカルの cortex エージェントがローカルの Docker ソケットを読み取り、ログとライフサイクルイベントをサイズ制限付きのレコードに変換してサーバーに転送します。Docker のデーモンログドライバーは変更しません。
- 中央プル互換モード:明示的に設定した Docker Engine または docker-socket-proxy の HTTP エンドポイントを対象とする、サーバー側のオプションのコレクターです。コンテナごとのチェックポイントを記録し、上限付きの指数バックオフで再接続します。
中央プルはデフォルトで無効です。CORTEX_DOCKER_HOSTS の簡易設定は、ホストをセキュリティ保護されていない http://host:2375 エンドポイントに展開するため、厳重に管理されたプライベートネットワークでのみ使用してください。ホストファイルを使うと、明示的なベース URL と、より安全なエンドポイント設定を指定できます。
管理対象ファイルのテーリング
管理対象のファイルテールソースはレジストリに永続化され、デーモンによって監視されます。CLI、REST、または file_tails MCP 管理アクションから、ソースの追加、削除、一覧表示、詳細確認を行えます。
パスのポリシーでは、設定されたルート外のパス、シンボリックリンクによるルート外への逸脱、通常ファイル以外のファイル、機密性の高いマウントなど、安全でない対象を拒否します。コンテナ環境では、ホストのファイルシステム全体ではなく、読み取り専用の明示的なファイルテール用ルートを公開します。
ホストのハートビート
ホストエージェントは、サイズ制限付きの JSON スナップショットを POST /v1/heartbeats に送信できます。ハートビートには、負荷、メモリ、ディスク、ネットワーク、プロセス、コンテナの概要など、ホストの状態が含まれます。これらは host_state、fleet_state、correlate_state を支えます。
ハートビートのリクエストボディは 256 KiB 以下に制限されます。ハートビートデータには、メインのログ保持ポリシーとは別に、短期間の運用向け保持期間が設定されています。
AI トランスクリプト
Cortex は、次のローカルおよび転送されたトランスクリプトデータをインデックス化します。
~/.claude/projects配下の Claude Code プロジェクト~/.codex/sessionsおよび~/.codex/worktrees配下の Codex セッションとワークツリー~/.gemini/tmp配下の Gemini CLI チャットデータ~/.gemini/antigravity/brain/<session>/.system_generated/logs/transcript.jsonl配下の Antigravity デスクトップの、機密情報を削除したトランスクリプト投影データ~/.gemini/antigravity-cli/brain/<session>/.system_generated/logs/transcript.jsonl配下の Antigravity CLI の、機密情報を削除したトランスクリプト投影データ
Antigravity アダプターが読み取るのは、上記の限定された機密情報削除済み JSONL 投影データのみです。会話データベースやその他の brain アーティファクトはスキャンしません。スキャナーは、増分チェックポイント、解析エラーレコード、サイズ制限付きのチャンク、広範すぎるパスの拒否、変更されたファイルからの安全な復旧に対応しています。プロバイダーのスキーマで対応するイベント区分が表現されている場合は、正規化されたトランスクリプト行に加えて、スキル、MCP ツール呼び出し、フックの各イベントを抽出し、未対応のイベント区分はその旨を明示して報告します。
衛星エージェントは、解析済みのレコードを POST /v1/ai-transcripts に送信できます。これにより、トランスクリプトの収集を、AI クライアントと同じホストにデータベースが存在することに依存させずに済みます。
シェルとエージェントのアクティビティ
サテライトエージェントは、追加の運用証拠を共有サーバーに転送できます。
POST /v1/agent-commands:重複排除されたエージェントコマンドスプールの記録用POST /v1/shell-history:解析済みの Bash、Zsh 拡張履歴、Atuin の記録用
これらの記録には、Cortex のほかのデータと同じストレージおよび相関モデルが使われます。そのため、エージェントの変更やシェルコマンドを、その後に発生したサービス障害と並べて確認できます。
フリートインベントリ
インベントリ収集では、ローカルファイル、SSH プローブ、Docker エンドポイント、オプションのサービス API から、機密情報を秘匿したフリートのスナップショットを作成し、安全な関連情報を調査グラフに反映します。
調査とインテリジェンス
Cortex は、生の SQL コンソールではなく、範囲を限定したワークフローを提供します。
検索とコンテキスト
- ホスト、アプリ、重大度、ソース、プロジェクト、セッション、時間によるフィルターに対応した FTS5 全文検索
- インデックス済みフィールドのみを対象とする構造化フィルター検索
- 生フレームの証拠を含む、直近のログと単一行の取得
- ログ ID またはタイムスタンプを中心とした前後のコンテキスト
- ホスト、アプリ、ソース IP のインベントリ
- イベント時刻と受信時刻を用いたクロックスキューの測定
時間とボリュームの分析
- バケット化されたタイムライン
- 取り込み速度とキュー負荷の状態
- ほぼ同一のメッセージパターンのクラスタリング
- 直近とベースラインの比較による異常検出
- 時間範囲の並列比較
- 無応答のホストとストリームの検出
- データベース、ストレージ、ランタイムの統計情報
相関
- タイムスタンプを中心としたホスト間の相関
- AI セッションのアンカーとインフラストラクチャログとの相関
- タイムラインの作成前にエンティティグラフを使ってトピックを解決
- ログ、ハートビート、インベントリをまたいだホスト状態の相関
- FTS5 を用いた過去のインシデントとの類似性分析
- 範囲を限定した証拠を含む、決定論的なインシデントコンテキストバンドル
繰り返し発生するエラー
オプションのバックグラウンドスキャナーは、繰り返し発生するエラーシグネチャをグループ化し、永続的なレコードとして保存します。オペレーターは未対応のシグネチャを確認し、対応済みとして記録したり、その記録を取り消したり、シグネチャをログやグラフの証拠と関連付けたりできます。
エラー検出はデフォルトで無効です。有効にすると、範囲を限定したバッチをスキャンし、重大度の低い再発をページ通知せずに記録します。また、設定された重大度の下限を超えた場合にのみ通知できます。
フリートインベントリとグラフ
インベントリコレクター
ネイティブのインベントリサブシステムは、以下から証拠を収集して正規化できます。
- ローカルおよびリモートの Compose、リバースプロキシ、AdGuard Home の設定
- ローカルのプロセス、ストレージ、プロジェクト、生の設定のインベントリ
- リモートフリートホストへの SSH セッション
- ローカルおよびリモートの Docker エンドポイント
- Tailscale
- UniFi
- Unraid
- メディアスタックサービスおよび関連 API
SSH 収集では、厳格なホストキー検証、範囲を限定した同時実行、タイムアウト、再試行のバックオフを使用します。機密フィールドは永続化の前に秘匿されます。
キャッシュはデフォルトで ~/.cortex/inventory に保存され、以下が含まれます。
normalized/homelab.json:型付きの正規化済みフリートスナップショットcollection-state.json:コレクターの健全性、所要時間、警告の状態raw/<run-id>/...:生データを含む補助アーティファクト(機密情報は秘匿済み)
map アクションは、正規化済みのキャッシュを読み取ります。収集を開始せず、生の設定本文や認証情報を含む URL も返しません。
派生調査グラフ
このグラフは、次のような正規エンティティを結び付けます。
- ホストとソース ID
- 論理サービスと具体的なサービスインスタンス
- アプリケーションとコンテナ
- ドメイン、ルート、エンドポイント
- AI プロジェクトとセッション
- エラーシグネチャと運用上の調査結果
リレーションシップには、信頼度、信頼性、理由コード、タイムスタンプ、範囲を限定した証拠への参照が含まれます。このグラフは、エンティティ解決、近傍検索、トポロジーに関する質問、証拠の検索、説明経路をサポートします。
このグラフは再構築可能なプロジェクションです。生ログ、ハートビート、インベントリレコード、エラーシグネチャ、AI セッションデータは、引き続き信頼できる情報源となります。プロジェクションの再構築では、ステージングテーブルと短時間のシリアル化された切り替えを使用し、ウォーターマークとメトリクスを記録します。また、更新に失敗した場合は、明示的な縮退状態を維持します。
AI セッションインテリジェンス
Cortex は、AI のトランスクリプトを単なるチャットアーカイブではなく、運用上の証拠として扱います。
決定論的なセッション分析
共有サービスレイヤーでは、次のことができます。
- プロジェクト別にセッションを一覧表示、検索する
- 5 時間の使用ブロック単位でアクティビティを測定する
- プロジェクトのコンテキストを要約する
- 観測されたツールとプロジェクトを一覧表示する
- いら立ちや不正行為の兆候を検出する
- それらの兆候をスコア付きインシデントにグループ化する
- AI アクティビティと AI 以外のインフラログを関連付ける
- スキルの呼び出しを抽出する
- MCP サーバーとツール呼び出しイベントを抽出する
- フックの設定とランタイムイベントを抽出する
- スキル優先、MCP 優先、フック優先の調査バンドルを構築する
決定論的なクエリとインシデントのワークフローは、CLI、REST、MCP から利用できます。
ガード付きローカル評価
LLM を利用した評価は、意図的にローカル限定となっています。これらは cortex assess を通じて実行され、ローカルプロバイダーのサブプロセスを起動するため、MCP アクションや REST ルートとして公開されません。
CORTEX_LLM は、スキル、MCP、フック、不正行為の評価を含むすべてのLLM 操作について、プロバイダーと任意のモデルを選択します。ドライランの監査メタデータにも適用されます。CORTEX_LLM=codex(既定値。Codex app-server を使用)または CORTEX_LLM=gemini(Gemini CLI を使用)を設定します。モデルをグローバルに固定するには、CORTEX_LLM=codex/gpt-5.5 または CORTEX_LLM=gemini/gemini-3.1-flash-lite-preview を使用します。CORTEX_LLM で明示的に指定したモデルは --model より優先されます。指定がない場合は、既存のフラグを使って 1 回の呼び出しにモデルを指定できます。空または未対応のセレクターが指定された場合、プロバイダーへのフォールバックは行われず、処理は失敗します。
このセレクターは、管理対象の ~/.cortex/.env でも使用できます。プロセス環境変数が優先されます。設定は、構成の読み込み後も保持されます。
以前の CORTEX_CODEX_MODEL および CORTEX_HEADLESS_GEMINI_MODEL 変数は無視されます。コマンドと認証ホームのオーバーライドは、プロバイダーセレクターではなくインストール設定です。--no-llm には、プロバイダーの設定も認証情報も必要ありません。
共有 LLM ランナーは、次の制限を適用します。
- グローバルキルスイッチ
- グローバルおよびアクションごとの同時実行数制限
- アクションごとの毎分および毎時のレート制限
- アクションごとのサーキットブレーカーとクールダウン
- 呼び出しのタイムアウト
- プロンプトと出力のバイト数上限
- 明示的なバックグラウンドエンリッチメントのゲート。既定では無効
- 成功、失敗、タイムアウト、ポリシーによる拒否を対象とする永続的な監査レコード
既定のガード値では、同時呼び出しは 1 件、アクションごとに毎分 3 件、毎時 30 件まで許可されます。タイムアウトは 120 秒、プロンプトの上限は 1 MiB、出力の上限は 256 KiB です。
プロンプトのスクラブは既定で有効です。スクラブ済みのトランスクリプトテキストが永続化される前に、スキル、MCP、フックのイベントが抽出されます。そのため、生のプロンプトを保存しなくても、構造化された運用シグナルを保持できます。
アラートと通知
通知は任意で、デフォルトでは無効です。有効にすると、Cortex は配信ブリッジとして Apprise を使用し、再試行、重複排除、デッドレター処理には永続性のある SQLite アウトボックスを使用します。
組み込みの評価機能は、以下を対象としています。
- OOM による強制終了
- 0 以外の終了コードで終了したコンテナ
- fail2ban による BAN
- Authelia の MFA 認証失敗
- ディスク容量の逼迫とストレージのガードレールに対する圧力
- 取り込みキューの逼迫
- 取り込みの完全な停止
- ハートビートの停止
- 以前はアクティブだった継続的ストリームの停止
通知サブシステムには、以下が含まれています。
- 設定可能な評価間隔
- ルールごとの切り替えとしきい値
- 重複排除期間
- 障害期間に限定した無音化キー
- 上限付き再試行とデッドレター状態
- 最近の発火履歴
- テスト通知
- 毎日実行されるダイジェスト
デフォルトでは、継続的なストリーム停止の追跡対象は UDP/TCP syslog、エージェント Docker、Docker のストリームおよびイベントレコード、管理対象のファイルテールです。トランスクリプトやシェル履歴など、断続的なソースは意図的に除外されています。
インターフェース
CLI
生成されたコマンドツリーを確認するには、cortex --help と各コマンドの --help を実行してください。
| グループ | 用途 |
|---|---|
search、filter、tail | ログの取得 |
hosts、apps、entity、graph | 検出とトポロジー |
analysis、correlate、state、stats、timeline | 調査と分析 |
sessions、assess | AI セッションのクエリと、ローカルでガードされた評価 |
alerts | エラーシグネチャ、確認応答、通知履歴 |
ingest、heartbeat | コレクター、エージェント、ファイルテール、インベントリー、ハートビート |
serve、mcp | フルデーモンモードと、クエリ専用の stdio MCP モード |
doctor、status、db、compose | 診断とメンテナンス |
setup、update、config、completions | ライフサイクルと運用者向けツール |
例:
cortex search "oom killer" --host devhost --since 1h
cortex filter --severity err --since 6h
cortex timeline --since 24h
cortex sessions search "migration failure"
cortex graph explain --help
cortex alerts errors list
cortex ingest inventory refresh --json
cortex ingest filetail list
cortex status
cortex doctor
CLI は直接/ローカル操作と HTTP 操作をサポートしています。REST バックエンドモードは通常のリモート接続方法であり、CORTEX_URL と CORTEX_API_TOKEN を使用します。
MCP
Cortex は cortex という名前の MCP ツールを 1 つ公開します。必須フィールドの action で、単一の信頼できる Rust レジストリに登録されたアクションを選択します。機械的に生成された最新の件数は、ライブカバレッジ一覧で公開されています。
現在のスコープの内訳は次のとおりです。
cortex:readを必要とする読み取りアクション 53 個cortex:adminを必要とする管理アクション 6 個:artifact_evidence_record、ack_error、unack_error、file_tails、notifications_test、llm_invocations- 情報提供アクション
help1 個。認証が有効な場合は認証済みコンテキストが必要ですが、読み取り/管理スコープは必要ありません
MCP アクションの完全な一覧
| ドメイン | アクション |
|---|---|
| ログの取得 | search、filter、tail、errors、get、context |
| 検出と健全性 | hosts、apps、source_ips、status、stats、ingest_rate、silent_hosts、clock_skew |
| 分析と相関 | timeline、patterns、anomalies、compare、correlate、topic_correlate、similar_incidents、recurring_error_comparison、incident_context |
| フリートとトポロジー | map、host_state、fleet_state、correlate_state、graph、compose_status、compose_doctor |
| AI セッションとスコープ付きエビデンス | sessions、search_sessions、session_investigate、evidence_scope、abuse、abuse_incidents、abuse_investigate、ai_correlate、usage_blocks、project_context、list_ai_tools、list_ai_projects |
| AI 運用イベント | skill_events、skill_incidents、skill_investigate、mcp_events、mcp_incidents、mcp_investigate、hook_events、hook_incidents、hook_investigate |
| エラーと管理 | unaddressed_errors、ack_error、unack_error、notifications_recent、notifications_test、file_tails、llm_invocations、artifact_evidence_record |
| リファレンス | help |
実行時スキーマには、アクションごとのフラグ、デフォルト値、例、相対コストのメタデータ、検証が含まれています。パラメーターのリファレンスについては、docs/mcp/SCHEMA.mdを参照してください。
MCP プロンプト
Cortex には、再利用可能なインフラストラクチャプロンプトが 12 個含まれています。
infra.incident-triageinfra.host-healthinfra.service-outageinfra.security-auth-reviewinfra.noise-reductioninfra.agent-change-correlationinfra.docker-container-regressioninfra.network-dns-failureinfra.storage-pressureinfra.auth-bruteforceinfra.syslog-forwarding-gapinfra.after-deploy-check
引数と出力の仕様については、docs/mcp/PROMPTS.md を参照してください。
MCP リソースと UI
MCP サーバーは、以下を公開します。
| URI | 用途 |
|---|---|
cortex://schema/mcp-tool | アクションでディスパッチされるツールの最新の JSON スキーマ |
cortex://schema/prompt-output | インシデント形式の構造化プロンプト出力のスキーマ |
ui://cortex/query-widget | 単体で動作する MCP Apps 検索ウィジェット |
クエリウィジェットは段階的拡張として実装されています。UI 対応の MCP ホストでは表示できますが、通常の MCP クライアントには従来どおりテキストと構造化 JSON の結果が返されます。
REST
認証が必要な JSON ルートは、共有 HTTP リスナー上の /api/* にあります。MCP と同じ主要なクエリ領域をカバーし、セッションチェックポイント、解析エラー、データベース整合性ジョブ、バックアップ、チェックポイント、バキュームのオペレーターワークフローを追加します。
バージョン管理された調査 API は /api/v1/* にあり、バンドルされたブラウザーワークスペース向けに、Ask Cortex に加えて、グラフのエンティティ、近傍、説明、エビデンスのエンドポイントを提供します。
REST には CORTEX_API_TOKEN が必要です。特権メンテナンスとファイルの末尾を読み取るワークフローでは、CORTEX_API_ADMIN_TOKEN も必要になる場合があります。
ルートとレスポンスのリファレンスについては、docs/api.md を参照してください。
ブラウザー調査ワークスペース
デーモンは、/app と /app/investigate でバンドルされたワークスペースを提供します。内容は次のとおりです。
- ランタイムとスキーマのステータス
- フリートと取り込みの概要
- Ask Cortex の調査リクエスト
- インタラクティブな Cytoscape グラフキャンバス
- エビデンスの調査
- 最近のログのタイムライン
アプリは Rust バイナリに埋め込まれており、外部ランタイムへの依存はありません。制限的な Content Security Policy を使用し、入力された REST ベアラートークンはメモリ内のみに保持します。現在の UI は、汎用ダッシュボードではなく、調査プレビューとして表示されます。
Claude Code プラグイン
.claude-plugin/plugin.json は、Cortex を Claude Code プラグインとしてパッケージ化します。設定に加え、正確に 3 つのサーフェスを宣言しています。
| キー | 参照先 |
|---|---|
mcpServers | plugins/cortex/mcp.json — ${user_config.server_url}/mcp への HTTP トランスポート。Bearer ${user_config.api_token} ヘッダーを使用します |
skills | plugins/cortex/skills/ — 12 個のスキル |
userConfig | サーバー/クライアントモード、server_url、api_token、認証モードと OAuth フィールド、syslog/MCP のバインドホストとポート、保持期間とストレージの予算、Docker の取り込み、フリートホスト |
12 個のスキルは、cortex、frustration-assessment、hook-friction-assessment、incidents、logs、mcp-friction-assessment、report、searching-sessions、skill-improvement-assessment、topology、troubleshoot、version-check です。
このプラグインは、Claude Code のライフサイクルフックを登録しません。hooks キーも hooks.json もありません。セットアップは明示的に行います。インストール、アップグレード、または再設定の後に、cortex setup pluginhook(または plugins/cortex/scripts/plugin-setup.sh アダプター)を実行してください。just validate-plugin と scripts/validate-marketplace.sh は、hooks キーが存在しない状態を維持していることを検証し、cargo xtask check-version-sync は、マニフェストにトップレベルの version がないことを検証します。
セットアップのライフサイクルについては docs/plugin/HOOKS.md を、マニフェストのリファレンスについては docs/plugin/PLUGINS.md を参照してください。
ヘルスエンドポイント
GET /health:コンテナやプロキシ向けの、最小限で認証不要の稼働確認レスポンスGET /health/full:詳細なヘルス情報と取り込みの可観測性。認証がマウントされている場合、CORTEX_TOKENが必要です(OAuth だけでは不十分です)。明示的なループバックポリシーと信頼済みゲートウェイポリシーでは、このチェックをバイパスします。
設定
macOS ハートビートエージェントのクイックスタート
デスクトップにログインしている状態で、次を実行します。
cortex setup heartbeatagent install
cortex setup heartbeatagent check
まず、CORTEX_HEARTBEAT_TARGET と取り込み用の認証情報を設定してください。
CORTEX_API_TOKEN はクエリ専用であり、エージェントによる取り込みの認証には使用できません。機能、パス、ログイン時の動作、移行、復旧、削除、配信の確認については、正式な macOS ハートビートエージェント運用契約 を参照してください。
Cortex は次の順序で設定を読み込みます。後の設定が優先されます。
- 組み込みのデフォルト値
- 現在の作業ディレクトリにある部分的な
config.toml - 管理対象の
$CORTEX_HOME/.envファイル。通常は~/.cortex/.env - プロセス環境変数
重要なデフォルト値
| 設定 | デフォルト |
|---|---|
| Syslog バインド | 0.0.0.0:1514 UDP および TCP |
| HTTP バインド | 127.0.0.1:3100 |
| データベースパス | セットアップまたは環境変数で上書きされない限り /data/cortex.db |
| SQLite プールサイズ | 8 接続 |
| SQLite ページキャッシュ予算 | 合計 128 MiB |
| SQLite mmap ターゲット | 256 MiB |
| 高負荷読み取りの同時実行数 | 1 |
| WAL チェックポイントしきい値 | 256 MiB |
| ログの保持期間 | 90 日 |
| データベースの論理サイズ上限 | 1,024 MiB |
| 復旧しきい値 | 900 MiB。上限を大幅に引き上げた場合は自動調整されます |
| クリーンアップ間隔 | 60 秒 |
| 通知 | 無効 |
| 繰り返しエラースキャナー | 無効 |
| Docker 中央プル | 無効 |
| プロンプトのサニタイズ | 有効 |
| バックグラウンド LLM エンリッチメント | 無効 |
便利な環境変数は次のとおりです。
| 変数 | 用途 |
|---|---|
CORTEX_HOME | 管理対象の設定および運用ホーム |
CORTEX_DB_PATH | SQLite データベースのパス |
CORTEX_RECEIVER_HOST、CORTEX_RECEIVER_PORT | Syslog リスナー |
CORTEX_ALLOWED_SOURCE_CIDRS | Syslog 送信元のオプションの許可リスト |
CORTEX_HOST、CORTEX_PORT | 共通 HTTP リスナー |
CORTEX_TOKEN | 静的 MCP、OTLP、ハートビート、転送用のベアラートークン |
CORTEX_API_TOKEN | REST ベアラートークン |
CORTEX_API_ADMIN_TOKEN | 必要に応じて追加する REST 管理者トークン |
CORTEX_AUTH_MODE | 静的トークンまたは OAuth の認証モード |
CORTEX_PUBLIC_URL | OAuth および公開設定の検証に使用する公開 URL |
CORTEX_ALLOWED_HOSTS、CORTEX_ALLOWED_ORIGINS | ホストヘッダーおよび CORS のポリシー |
CORTEX_RETENTION_DAYS | ログの保持期間 |
CORTEX_MAX_DB_SIZE_MB | データベースの論理ストレージ予算 |
CORTEX_MIN_FREE_DISK_MB | 外部の空き容量に基づくオプションの書き込み保護 |
CORTEX_FILE_TAIL_ALLOWED_ROOTS | 管理対象のファイルテールのルート許可リスト |
CORTEX_DOCKER_INGEST_ENABLED | Docker 中央プル互換モードを有効化 |
CORTEX_SCRUB_PROMPTS | AI プロンプト内の認証情報をベストエフォートでサニタイズ |
CORTEX_NOTIFICATIONS_ENABLED | 通知サービスを有効化 |
CORTEX_LLM | 共通のプロバイダー/モデル選択子:codex[/MODEL] または gemini[/MODEL]。デフォルトは codex |
CORTEX_LLM_ENABLED | ローカル評価のグローバルキルスイッチ |
RUST_LOG | トレースフィルター |
完全なリファレンスと検証ルールについては、docs/CONFIG.md を参照してください。
認証と信頼境界
Cortex は、トランスポートの認証情報と機能を意図的に分離しています。
MCP
CORTEX_TOKENは、静的トークンによる HTTP MCP 呼び出しを認証します。- 静的トークンを使用する呼び出し元には、デフォルトで
cortex:readが付与されます。 - トークンにも
cortex:adminを付与する場合に限り、CORTEX_STATIC_TOKEN_ADMIN=trueを設定してください。 - OAuth モードでは、共通認証レイヤーを通じて読み取りおよび管理のスコープを明示的に指定できます。
- 非ループバックの未認証バインドは、明示的な信頼済みゲートウェイモードが設定されていない限り拒否されます。
REST
CORTEX_API_TOKENはCORTEX_TOKENとは別のトークンです。- REST は、API トークンがない場合はマウントされません。
- 機密性の高いメンテナンスおよびファイルテール操作では、通常の REST ベアラートークンに加えて
CORTEX_API_ADMIN_TOKENが必要になる場合があります。
取り込みエンドポイント
- Syslog 自体には認証がありません。CIDR とネットワーク制御を使用してください。
- OTLP のログ、メトリクス、トレースに加え、ハートビート、AI トランスクリプト、シェル履歴、エージェントコマンドの転送には、設定されている場合、Cortex のベアラートークンポリシーが適用されます。
- 認証されない転送エンドポイントは、オペレーターが別の信頼境界を明示的に設定しない限り、ループバックのみで利用できます。
データの取り扱い
- AI プロンプトのスクラビングは、デフォルトで有効です。
- インベントリは、正規化キャッシュに到達する前に秘匿化されます。
- MCP と REST は、認証情報を含む生の設定アーティファクトではなく、範囲を限定した証跡を返します。
- ファイルの末尾読み取りは、設定されたルート内に制限され、パスの逸脱は拒否されます。
- Docker エンドポイントと SSH キーは、特権付きインフラストラクチャアクセスとして扱われます。
- コンテナーの例では、ユーザーの
~/.ssh全体ではなく、最小権限の専用 SSH ディレクトリをマウントします。
ループバックまたは信頼できるゲートウェイの外部に Cortex を公開する前に、docs/SECURITY.md、docs/GUARDRAILS.md、docs/OAUTH.md をお読みください。
ストレージとメンテナンス
SQLite モデル
Cortex は、以下を備えた SQLite を使用します。
- WAL モード
- サイズに上限を設けた r2d2 接続プール
- 全ログコーパスを対象とする
logs_ftsと、AI セッション検索用にメッセージ本文とプロバイダースコープをインデックス化するトランスクリプト専用のai_logs_fts投影を用いた、FTS5 の外部コンテンツインデックス - 一般的なフィルターとタイムライン用のカバリングインデックスおよび複合インデックス
- トランザクションによるバッチ書き込み
- 永続的なソースチェックポイントと解析エラー
- メンテナンスジョブの追跡
- オンラインバックアップのサポート
- 整合性チェック、チェックポイント、VACUUM のワークフロー
現在のスキーマ履歴には、順次適用される 63 件のマイグレーションが含まれています。CI は KNOWN_SCHEMA_VERSION とマイグレーションレジストリから、この分母を導出します。マイグレーション 63 では、インデックス付きデバイス帰属と、認証情報およびセッションの識別情報を保持する、範囲が限定された再開可能なバックグラウンド履歴処理が追加されます。マイグレーション 60 では、トランスクリプト専用の ai_logs_fts 投影が導入されました。マイグレーション 61 では、この派生インデックスをプロバイダースコープ付きで再構築し、AI 専用の (timestamp, ai_tool) インデックスを追加しました。これにより、時間範囲を指定したセッション検索では、一般的な語句に対する FTS の走査前に、安全な rowid の下限を導出できます。大規模なトランスクリプト履歴では、これらの派生インデックスの初回再構築中、データの投入が完了するまで起動時の書き込みトランザクションが保持されることがあります。その後のトランスクリプトの挿入と削除では ai_logs_fts が段階的に更新され、全体の logs_fts は引き続き全コーパスを対象とする検索インデックスとして機能します。サーバー転送の受領記録には 7 日間の再送受付期間があり、正規の証跡が削除されると削除されます。送信側スプールは意図的に短期間かつ上限付きです。個々のソースが保持できるレコードは最大 1,024 件または 1 MiB で、1 日より古いレコードは破棄されます。全体のスプールが保持できるのは最大 4,096 件または 4 MiB です。破棄時には元のペイロードを削除し、証跡の損失を可視化できるよう、未処理のギャップマーカーを保持します。サーバーの受領期間を過ぎた後の再試行は、新たな取り込み試行となります。
権威データと派生データ
権威データには以下が含まれます。
- 正規化済みログと生フレーム
- ホストとソース ID
- トランスクリプトのソース、チェックポイント、インポート、解析エラーの各レコード
- ハートビートとコンポーネントのスナップショット
- インベントリのスナップショットとコレクターの状態
- エラーシグネチャと確認イベント
- スキル、MCP、フックのイベント
- 通知アウトボックスと発火履歴
- LLM 呼び出しの監査レコード
派生アクセラレーターには以下が含まれます。
- AI セッションのロールアップ
- 時間単位のタイムラインロールアップ
- インベントリ統計
- ストリームの最終確認時刻
- エンティティグラフテーブルと証跡の関連付け
派生データは、権威データの証跡から更新または再構築できます。
ストレージの保護策
デーモンは、保持期間と論理データベース容量をチャンク単位で適用します。制御不能な増加によってホストに損害が及ぶ前に書き込みブロック状態になり、復旧のしきい値を満たすと再開できます。オプションの最小空きディスク容量ガードは、Cortex データベース以外のデータによるディスク圧迫から保護します。別のアプリケーションがファイルシステムをいっぱいにしたという理由だけで、Cortex データが削除されることはありません。
運用コマンド:
cortex db status
cortex db integrity
cortex db checkpoint
cortex db backup --help
cortex db vacuum --help
同期およびバックグラウンドの整合性チェックを含むメンテナンス操作は、プロセス全体で共有される単一実行ゲートを使用し、負荷の高い読み取りクエリとは別に制限されます。同時に実行しようとした場合は、再試行可能なビジー応答が返されます。
デプロイと配布
現在の識別情報
| 成果物 | 現在の識別情報 |
|---|---|
| 正式なソースリポジトリ | dinglebear-ai/cortex |
| ネイティブバイナリおよび CLI | cortex |
| npm ランチャー | @dinglebear/cortex |
| MCP Registry サーバー名 | ai.dinglebear/cortex |
| 公開 OCI イメージ | ghcr.io/dinglebear-ai/cortex:v<version> |
ソースリポジトリと公開される成果物は、どちらも dinglebear-ai 組織に属しています。旧 jmagar 名前空間は廃止されています。scripts/check-public-identity.sh は、追跡対象ファイルにこれを再導入するものがあればビルドを失敗させます。また、リリースワークフローは、イメージのプッシュ先と同じ REGISTRY/IMAGE_NAME から MCP Registry の OCI 識別子を導出するため、両者が再び食い違うことはありません。
移行前に公開されたコンテナイメージは、旧名前空間で引き続き読み取り可能なため、古いバージョンを固定したデプロイでも利用できます。ただし、新しいイメージがそこにプッシュされることはありません。
ネイティブ版と npm
- このリポジトリでは、Linux x86_64、Linux aarch64、macOS arm64、Windows x86_64 向けのリリースアセットを提供しています。
- npm ランチャーは
linux/x64、linux/arm64、darwin/arm64、win32/x64に対応し、リリースのチェックサムを検証します。 - ソースからビルドする場合は、Rust 2024 エディションと CI の現行安定版ツールチェーンを使用します。
Docker Compose
このリポジトリには、次のファイルが含まれています。
- チェックアウトしたリポジトリからローカルビルドするための
docker-compose.yml - 公開イメージを使用するための
docker-compose.prod.yml - 非 root の Debian ランタイムイメージを作成するための
config/Dockerfile
手動で Compose をデプロイする場合、DOCKER_NETWORK で上書きしない限り、cortex という名前の外部 Docker ネットワークが必要です。
docker network inspect cortex >/dev/null 2>&1 || docker network create cortex
cp .env.example .env
bash scripts/prepare-compose-dirs.sh
docker compose up -d
curl -fsS http://127.0.0.1:3100/health
事前チェックでは、Docker Compose 自身のパーサーを使って /backups のバインドを解決し、デフォルトのパス、または CORTEX_BACKUP_DIR で指定されたパスをモード 0700 で作成します。Compose では、このホストパスを暗黙に作成しないよう設定されており、root 所有や過剰に許可されたバックアップディレクトリの作成を防ぎます。
Compose ファイルは次の設定を行います。
- UDP/TCP 1514 で syslog を公開
- デフォルトで HTTP をホストのループバックに公開
- 安定した名前付きボリュームまたは設定済みのバインドマウントにデータベースを永続化
- 非 root の UID/GID で実行
- インベントリの SSH 認証情報とワークスペースデータを読み取り専用でマウント
- 専用のファイルテール用ルートを読み取り専用でマウント
- デフォルトで 2 GiB のメモリ上限を設定。ホストごとに変更可能
- ヘルスチェックと上限付きのコンテナログを設定
管理されたインストールと修復には、次を使用します。
cortex setup check
cortex setup repair
ホストエージェント
Cortex には、衛星からの収集に関するセットアップおよびランタイムのサポートが含まれています。具体的には次のとおりです。
- ハートビートエージェント
- Docker ストリームエージェント
- AI セッション監視サービスおよびタイマー
- シェル履歴の転送
- エージェントコマンドの転送
- 補完およびデバッグ用ラッパー
プラットフォームごとの正確なコマンド体系については、cortex setup --help、cortex ingest --help、cortex heartbeat --help を参照してください。
運用
一般的な運用者向けコマンド:
# Health and diagnostics
cortex status
cortex doctor
cortex doctor binary
# Managed setup
cortex setup check
cortex setup repair
# Database operations
cortex db status
cortex db integrity
cortex db checkpoint
cortex db backup --help
cortex db vacuum --help
# Compose lifecycle
cortex compose status
cortex compose doctor
cortex compose pull
cortex compose up
cortex compose restart
cortex compose logs
# Collection and inventory
cortex ingest inventory status --json
cortex ingest inventory refresh --json
cortex ingest filetail list
cortex sessions doctor
# Updates and configuration
cortex update --help
cortex config list
cortex completions zsh
デーモンは簡易版と完全版のヘルスレスポンスを提供し、データベースのメンテナンスジョブを記録します。また、プロジェクションとコレクターの劣化状況を報告し、CLI、REST、MCP を通じて取り込みキューと書き込みブロック状態を通知します。
開発と検証
ツール
リポジトリでは以下を使用しています。
- Rust edition 2024
- 開発ツールのバージョン固定に
mise - 一般的なワークフローに
just - 隔離された Rust テストスイートに
cargo-nextest - カバレッジに
cargo-llvm-cov - 依存関係ポリシーに
cargo-deny - ローカルリリースおよびプッシュ前チェックに Lefthook と
cargo xtask - ローカルおよび CI ビルドを高速化する、soldr を利用したカスタム Rust コンパイララッパー
一般的なコマンド
mise install
just dev
just build
just check
just lint
just fmt
just test
just test-doc
just coverage
just coverage-html
just test-live
just validate-plugin
cargo xtask pre-push
just test-live(just live-smokeも同様)は、プルリクエストで実行する、失敗時に閉じる方式の標準サブセットです。実行ごとに管理されるトポロジー内で、実際の HTTP JSON-RPC、UDP および TCP の syslog 取り込み、CLI/REST の動作、ブラウザールート、管理対象ファイルのテール動作を検証します。登録済みのすべての MCP アクションを実行するには just live-mcp を実行してください。スケジュール実行される集約テストでは、すべての権威あるオーナープロファイルを組み合わせます。専門プロファイルについては、ライブ認定ガイドに記載されています。Docker の収集処理には、エージェントデプロイ用の個別テストと、中央プル用の Docker HTTP モックフィクスチャがあります。
CI のゲートには以下が含まれます。
- フォーマット
- 警告をエラーとして扱う Clippy
- Nextest と doctest
- バージョンおよび配布 ID の同期
- MCP 統合テスト
- npm ランチャーのチェック
- シークレットスキャン
cargo-deny- カバレッジ生成
- リポジトリのモジュールサイズポリシー
隔離された CI と実環境のフリート検証の分担については、tests/TEST_COVERAGE.md と docs/RELEASE.md を参照してください。
ドキュメント
コードが管理するレジストリとランタイムスキーマを、コマンド名、アクション、ルート、スコープ、デフォルト値、検証の権威ある情報源としています。人向けドキュメントでは、これらの機能の運用方法を説明しています。
| ドキュメント | 用途 |
|---|---|
| AGENTS.md | エージェント間で共通する標準の指示。Claude/Gemini のエイリアスはシンボリックリンクです |
| CONTRIBUTING.md | チェックアウト、検証、貢献のワークフロー |
| docs/README.md | ドキュメントの索引と情報源の対応表 |
| docs/ADDING_SOURCES.md | ソース/プロバイダーの拡張とカバレッジの仕様 |
| docs/repo/DOCUMENTATION.md | ドキュメントの管理責任と乖離の防止 |
| docs/SETUP.md | インストールとデプロイの手順 |
| docs/CONFIG.md | 設定の完全なリファレンス |
| docs/CLI.md | CLI リファレンス |
| docs/api.md | REST API リファレンス |
| docs/architecture.md | ランタイムとデータフローのアーキテクチャ |
| docs/mcp/SCHEMA.md | MCP アクションとパラメーターのスキーマ |
| docs/mcp/PROMPTS.md | プロンプトカタログ |
| docs/SECURITY.md | 信頼モデルの統合版 |
| docs/OAUTH.md | OAuth の設定 |
| docs/INVENTORY.md | コンポーネントとサーフェスの一覧 |
| docs/RELEASE.md | リリースと検証のゲート |
| CHANGELOG.md | リリース履歴 |
日付入りの設計計画やセッションログはエンジニアリングの履歴を保存するものであり、現在の公開インターフェースに関する権威ある情報源ではありません。特に履歴資料と明記されていない限り、ランブックは運用ガイダンスとして扱ってください。現在のソースコードと設定に照らして確認してください。
現在の制約
Cortex は、意図的に明確な方針を定めています。
- 分散型の取り込みクラスターではなく、単一ノードの SQLite サービスです。
- OTLP のログ、メトリクス、トレースは HTTP/protobuf 経由でサポートされています。OTLP/gRPC は現在の実装の対象外です。
- Syslog は送信元を認証しません。ネットワークと CIDR による制御が重要です。
- グラフは導出された証跡であり、権威ある構成状態ではありません。
- MCP と REST では、任意の SQL や監査されていないログの変更ではなく、範囲を限定した操作を提供します。
- LLM を利用した評価はローカルのみで実行され、
CORTEX_LLMで選択したプロバイダーを、オペレーターが管理するインストール環境で利用する必要があります。 - 一元的な Docker のプルには、Docker エンドポイントへの特権付き読み取りアクセスが必要であり、デフォルトでは無効です。
- インベントリの品質は、コレクターのアクセス、SSH の信頼設定、任意の API 認証情報、キャッシュの鮮度に左右されます。
- 同梱のブラウザーアプリは調査ワークスペースのプレビューであり、完全な監視ダッシュボードではありません。
- Cortex は、ホームラボまたは小規模で信頼されたフリート向けに構築されています。インターネットに公開する環境やマルチテナント環境へのデプロイには、バイナリーの外部で追加の分離とポリシーが必要です。
ライセンス
このプロジェクトの Dinglebear が作成したオリジナル部分は、AGPL-3.0-only の下でライセンスされています。AGPL の範囲外の条件を必要とする組織向けに、別途商用ライセンスも提供しています。サードパーティの素材は、それぞれの元のライセンスに従います。詳しくは LICENSING.md をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。