hythe について
HYTHEは、複数のAIコーディングエージェントを使うチーム向けのセルフホスト可能なMCPサーバーです。競合を可視化するチェックポイントや追跡可能なメッセージで、セッションをまたぐ状態共有と連携を支援します。
主な機能
- 01ナレッジグラフと最新状態の解決
- 02競合分岐に対応したチェックポイントと再開
- 03直接および能力ベースのエージェントメッセージ
- 04範囲を限定した関連コンテキスト検索
- 05バージョン管理された適応型連携プロトコル
活用シーン
- 01コーディングエージェント間でプロジェクトの最新情報を共有
- 02セッションのチェックポイントから作業を再開
- 03エージェント間のメッセージでコードレビューを調整
MCP 対応
HYTHEはサーバーとstdioブリッジを通じて、MCPクライアントに連携用ツールとリソースを提供します。複数のエージェントが状態やメッセージを共有できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @hythe/mcpHYTHE_AGENT_IDStable exact agent identity for this client lane; required so restarts and compaction cannot adopt another principalHYTHE_AGENT_KEY_FILEシークレットOptional path to one protected per-agent credential file: regular, non-symlink, owned by the client user, mode 0400 or 0600, containing one hya1 token. Never place the token itself in an environment variable.HYTHE_AGENT_AUTH_MODEシークレットClient authorization expectation: observe, mixed, or required (default observe). Move to mixed and then required only after this exact lane has a credential and passes /agent/whoami.API_KEYシークレットShared API key authenticating the bridge to your self-hosted HYTHE server (create a protected .env with: npx -y @hythe/[email protected] init --write-env --agent-id <agent-id>)MCP_HOSTHYTHE server host (default 127.0.0.1)MCP_PORTHYTHE server port (default 6174)ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
HYTHE
エージェント群のための調整バス+共有された真実。 セルフホスト可能な2コンポーネント構成です。Docker 化されたサーバーと、MCP クライアント向けの軽量な stdio ブリッジで構成されます。
HYTHE は、複数の AI コーディングエージェント(Claude Code、Codex、Cursor、カスタムハーネスなど)が状態を共有し、セッションをまたいでコンテキストを保持し、相互に調整できるようにする MCP サーバーです。単なる別のメモリーストアではありません。主な差別化要素は次のとおりです。
- 後継関係+現在状態の解決:観測結果は互いを置き換え(
replace-current)、get_current_observationがサーバー側でその連鎖を解決するため、読み手は置き換えられていない最新の状態を取得できます。競合処理は実装済みです:checkpointはブランチを保持する CAS です。並行する書き込みは上書きではなくブランチを作成し、競合はヘッドとして表面化します。暗黙的に解決されることはありません(契約テスト済み。証拠台帳を参照してください)。 - 追跡可能な配信ライフサイクルを備えたエージェント間メッセージング:直接送信と機能ベースの送信、メッセージの置き換え、共有シグナルとしての既読状態、アーカイブとのアトミックな確認応答に対応しています。(「追跡可能なライフサイクル」と説明しており、配信を保証するものではありません。各状態はサーバーが把握している内容を正直に示します。)
- 適応型調整プロトコル(ACP):サーバーとともに進化した、ETA 主導の調整規律です。docs/SPEC.md として公開されており、実際の2つのハーネスを用いたチュートリアルもあります。
ドキュメント
| ドキュメント | 内容 |
|---|---|
| クイックスタート | まっさらなマシンから、約15分で2つのエージェントを連携させる |
| 概念 | 1つの現在の真実、メッセージングのライフサイクル、再開/チェックポイント、誠実なセキュリティモデル |
| チェックポイント/再開 v3 | 現在のヘッドポインター、調整、記録/パッチ、v3 の読み取りモデル、v3 より前に書き込まれたスコープに対する一度限りの移行手順 |
| ACP 仕様 | バージョン管理された調整プロトコル(1.0.0) |
| チュートリアル | 元の Engram デプロイで行われた、Claude Code と Codex による実際のレビュー手順を注釈付きで記録したもの |
| ツール互換性マップ | v1 の20ツールの一覧。廃止された各ツールと、その正確な代替手段 |
| バックアップと復元 | テスト済みの SQLite バックアップ/復元/圧縮手順 |
| エージェント認証情報の運用 | オフラインでの発行、証明、昇格、ローテーション、失効 |
| プライベート残留データの裁定 | 曖昧な過去の行を、ハッシュに紐付けて所有者の承認のもと処理 |
| SQLite の物理サニタイズ | 論理クリーンアップ後に行う、検証済みのオフライン VACUUM と、既存データを上書きしない昇格処理 |
| Pavilion の本番環境 | バージョンを固定したデプロイ、レディネス、シャットダウン、カナリア、ロールバックの契約 |
ステータス
バージョン 0.2.0。 このソースツリーとパッケージは、レビュー済みの 0.2.0 リリースを定義します。バージョン 0.2.0 では、0.1.7 の二重証明によるエージェント認可、正確なメールボックス/プライベートペイロードの封じ込め、範囲を限定した関連コンテキストの探索、レイテンシー SLO に基づく復旧、オフライン判定器を維持し、さらに checkpoint/resume の resultVersion: 3 を追加します。追加内容は、スコープごとの明示的な現在のヘッドポインター、ライブヘッドを 1 つのサバイバーに統合し、因果関係に基づいて相違する値を解決する reconcile 操作、追記専用の検証済みファクト/ループのバージョン、受理された系譜上で証明された値のみを昇格する読み取りモデル、ポインターが指すヘッドに対する record/patch 操作です。すべての v1/v2 リクエストと結果の形式は変更されません。v3 は呼び出しごとにオプトインするため、0.1.7 クライアントは 0.2.0 サーバーでも引き続き動作します。依存関係ツリーを Express 5 に更新し、中程度の qs アドバイザリ 2 件を解消しました。このリリースは、2026-09-05 以降、リファレンス本番ホストで稼働しています。0.2.0 のすべてのロールアウト構成では @hythe/[email protected] に固定してください。本番環境で使用する前に、レジストリがこの正確なバージョンを返すことを確認してください。前身の @tomcat65/engram-mcp と io.github.tomcat65/engram は互換性の履歴として引き続き利用可能で、公開停止されることはありません。CHANGELOG.md と v3 ガイドを参照してください。
社内ルール:このドキュメント内の主張はすべて、テストまたは測定結果にたどれる必要があります(下記のエビデンス台帳を参照)。そうでない主張はバグです。
エビデンス台帳
| 主張 | 証拠 | ソース | 日付 |
|---|---|---|---|
| ツリーはクリーンで、すべてのゲートを通過 | ソースとクリーンなインストール済みパッケージのゲートでは、49 個の Vitest ファイル(530 件成功、2 件スキップ、明示的な TODO が 6 件)、107 件のマイグレーションチェック、43 件のリリースツリーチェック、31 件のエージェントキットチェック、本番環境の npm audit による検出ゼロ、レジストリ検証、および分離された Docker の起動/準備完了/MCP/WebSocket/正常終了のカナリアテストをカバーしています。 | .github/workflows/ci.yml、tests/、src/migrations/、clients/agent-kit/tests/test-setup.sh、scripts/verify-hythe-release-tree.test.mjs、scripts/verify-packed-consumer.mjs | 2026-08-14 |
| コンパクション時の ID 検証はフェイルクローズ | 起動時とコンパクション後のフックは、ID がない場合、競合する場合、または無効な場合に拒否します。ブリッジは、HTTP リクエストを送信する前に、実行ツールとメッセージリソースの受信者を、設定された正確なレーンに紐付けます。 | clients/agent-kit/tests/test-setup.sh、tests/contract-bridge-identity.test.ts | 2026-08-13 |
| 正確なメールボックスは分離されたまま | Houston/Hythe、大小文字の違い、表示メタデータ、レガシー ID 履歴、テナント間の汚染、接尾辞付きハンドル、ライフサイクルの変更、置き換え、HTTP、および ENG-4 の作成者情報について、分離を損なわないことを確認するテストを実施しています。 | tests/contract-message-identity-isolation.test.ts、tests/contract-eng4-p0.test.ts | 2026-08-13 |
| プライベートメッセージ本文は共有グラフのサーフェスに出ない | 過去のペイロード、サイズ超過、不正形式、エイリアスとのリンク、リレーションとのリンク、インポート、エクスポート、検索、グラフ化、ログ記録、復元の各経路をカバーしています。非表示の子要素が件数から漏れることもありません。 | tests/contract-message-payload-isolation.test.ts、tests/contract-data-payload-isolation.test.ts、tests/contract-log-confidentiality.test.ts | 2026-08-13 |
| クリーンアップはオフラインで行われ、フェイルクローズ | マイグレーション 007、オーナー承認済みの裁定、物理的なサニタイズは、ドライラン/計画優先で実行されます。実行対象をレビュー済みのデータベースと判断根拠に紐付け、検証済みの上書き防止アーティファクトを必須とし、未解決の保管責任がある場合は拒否し、ロールバック状態を維持します。 | src/migrations/007-private-message-residue.mjs、src/migrations/private-message-residue-adjudication.mjs、src/migrations/vacuum-sanitized-database.mjs、docs/ | 2026-08-14 |
| エージェントごとの権限はサーバー側で導出 | ベースキーはデプロイメント/テナントへのアクセスを証明し、別個の保護ファイルに保存された hya1 認証情報は正確なエージェントを証明します。必須モードでは、除去された証明情報、ID の不一致、不十分なスコープ、失効済みの認証情報、古い WebSocket セッションを拒否します。 | src/agent-auth/、tests/contract-agent-auth-foundation.test.ts、tests/contract-agent-auth-server.test.ts、tests/contract-agent-key-client.test.ts | 2026-08-14 |
| インストールと検出のサーフェスは一致 | CLI とレジストリのサーフェスでは、正確なレーン ID が必須です。また、保護されたエージェントごとのキーファイルパスと、明示的な認可モードのみを公開します。HTTP 経由で提供されるツールとリソーステンプレートは、stdio ブリッジの経路と一致します。 | tests/contract-cli.test.ts、tests/contract-agent-key-client.test.ts、tests/contract-mcp-resources-http.test.ts、scripts/verify-hythe-release-tree.test.mjs | 2026-08-14 |
| 現在のヘッドは明示的に指定され、推測されることはない | ポインターは、指し示すヘッドからのみ進みます。古い親は分岐し、現在のヘッドにはなりません。ポインターが非ライブのスナップショットを指す場合はフェイルクローズします。スナップショット行はトリガーによって不変です。コントラクトテストは 33 件です。 | tests/contract-eng4-h1-head-pointer.test.ts | 2026-09-03 |
| バージョンとカバレッジは正確に検証されている | 台帳の各タプルには、処置が必ず 1 つだけ割り当てられます。起動時のバックフィルは全件成功か全件失敗となり、冪等です。双方向のパリティ検証では、行の欠落、余分な行、不一致があるとフェイルクローズします。コントラクトテストは 32 件です。 | tests/contract-eng4-h2-version-foundation.test.ts | 2026-09-03 |
| リコンシリエーションは CAS に紐付き、因果関係を保つ | 正確なライブヘッドの集合とポインターに対して比較交換を行います。生き残らないヘッドはすべて退役させ(削除はしません)、相違する値は、紐付けられた承認、拒否、または系譜に基づく拒否によってのみ解決されます。記録はペイロードに紐付けられ、再生時と読み取り時に再検証されます。コントラクトテストは 34 件です。 | tests/contract-eng4-h3-reconcile.test.ts | 2026-09-04 |
| v3 読み取りモデルは、証明済みの値のみを昇格する | currentFacts / openLoops に含まれるのは、プロベナンスを伴い、承認済みの系譜に属する検証済みのバージョンのみです。それ以外はすべて、カバレッジを漏れなく閉じた状態で、相違またはレガシーとして記録されます。コントラクトテストは 29 件です。 | tests/contract-eng4-h4-read-model.test.ts | 2026-09-04 |
| record / patch では古い状態を昇格できない | 受け入れられるのはポインターが指すヘッドのみです(それ以外は競合となります)。状態はハッシュ検証済みペイロードから構築され、各ペイロードは呼び出しごとに一度だけ読み取られます。スナップショットリソースは検証済みのバイト列をそのまま提供します。コントラクトテストは 21 件で、レビューは 4 回実施しました。 | tests/contract-eng4-h5-record-patch.test.ts | 2026-09-04 |
| Express 5 でも HTTP コントラクトを維持 | ボディがないリクエストやコンテンツタイプが不正なリクエストは、解析対象のすべてのルートで空の JSON ボディと同じように処理され、フレームワークの 500 エラーにはなりません。本番環境の監査で検出はありません。 | tests/contract-express5-body-contract.test.ts、.github/workflows/ci.yml run 33878587010 | 2026-09-04 |
| 本番マイグレーションは、まずコピー上で検証済み | 本番ホストで切り替える前に、本番データベースのコピーを使って v3 スキーマとバックフィルを検証しました。本番環境での切り替えには 17 秒かかり、行数は検証済みのコールドバックアップと一致しました。 | docs/PAVILION-PRODUCTION.md、ホスト上のオペレーターログ engram-prod/releases/hythe-74a324c-cutover-20260905T005551Z.log | 2026-09-05 |
v1 の概要(簡潔版)
- インストール(2 コンポーネント構成):
docker compose upでサーバーを起動し、各 MCP クライアントで@hythe/mcpの stdio ブリッジを起動します。初回起動ウィザードでは、API キーを保護された.envに保存し、秘密情報を含まない、ファイルを参照する設定を Claude Code / Codex / Cursor / Claude Desktop 向けに出力します。空の DB には、任意で名前空間付きの(demo-*)デモデータを登録できます。 - ナレッジグラフ:エンティティ、観察事項、関係、後継情報、現在状態の解決、競合の提示に対応します。
- 関連コンテキストの検出:範囲を厳密に特定し、自動で範囲を限定したベクトル検索とグラフ経路の再ランキングを行います。最新性/根拠/出所の説明を提示し、暗黙の書き込みは行いません。
- エージェント間メッセージング:直接送信、機能ベース、後継関係に対応し、配信ライフサイクルを追跡します。
resume/checkpoint:網羅性を漏れなく記録した、予算制約付きの 1 回の呼び出しによるセッション復元と、CAS で保護され、ブランチを保持する構造化状態の取得に対応します。resultVersion: 3の場合は、明示的な現在のヘッドポインター、ヘッドを統合して分岐した値を解決するreconcile、出所付きで検証済みの事実/ループのバージョン、ポインターで指定されたヘッドへのrecord/patchを利用できます。詳しくは v3 ガイド を参照してください。- ACP:バージョン管理された仕様と、実際に動作する詳細な例で構成される調整プロトコルです。
埋め込みランタイムの仕様
公開されている npm パッケージは、デフォルトではトランスフォーマーエンジンをインストールしません。
エンジンがなくても、HYTHE は決定論的な 384 次元のトークンハッシュベクトルと語彙ランキングを提供します。モデルのダウンロードやモデルキャッシュの作成は行いません。@xenova/[email protected] はオプションのピア依存関係であり、運用者が監査済みの独自依存関係ルートから意図的に提供する場合に利用できます。
Docker イメージでは、独立したロック済みの /opt/hythe-transformers ランタイムを通じて、セマンティック動作の一貫性を保ちます。起動前の事前チェックでは、設定された Xenova/all-MiniLM-L6-v2 q8 モデルを読み込み、有限値を持つ 384 次元の埋め込みを 1 つ以上取得できることを確認します。
SQLITE_VEC_ALLOW_REMOTE_MODELS=false の場合、設定された SQLITE_VEC_CACHE_DIR に該当モデルがあらかじめ存在している必要があります。ベクトルインデックスにデータがある状態で、トランスフォーマー埋め込みとハッシュ埋め込みを切り替えないでください。同じプロバイダー/モデル/次元数を維持するか、先にベクトルインデックスを再構築してください。
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。