ALTWEB Context Loader について
ALTWEB Context Loaderは、指示、スキル、メモリファイルなどのAIエージェント用コンテキストの出所を検証するMCPサーバーです。署名が有効で署名鍵が信頼されている場合だけカプセルを読み込み、それ以外は既定で拒否します。
主な機能
- 01Markdownを単体カプセルに変換
- 02圧縮、暗号化、署名に対応
- 03署名と信頼鍵を検証
- 04未署名、改変、未信頼の内容を拒否
- 05コンパイル、デコード、検証、鍵生成のCLI
活用シーン
- 01エージェントへの注入前にコンテキストの出所を確認
- 02検証可能なMarkdownをオフラインで共有
- 03コンテキスト署名を許可する鍵を管理
MCP 対応
altweb-context MCPサーバーは、load_capsule、verify_capsule、list_trusted_keysツールを提供します。署名が有効で、署名者の公開鍵が信頼ファイルにある場合だけ内容を読み込みます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y altweb-contextALTWEB_TRUST_FILEOverride the local trust file of allowed signer public keys (default: ~/.altweb/trusted-keys.json). A missing or empty trust file refuses every capsule.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
3掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| source | string | はい | カプセルのソース。.altweb.html または .altweb ファイルへのパス、#hash 付き URL、単体でホストされたカプセルの URL、または生のハッシュ文字列 |
| password | string | いいえ | 暗号化カプセルのパスワード |
詳細
ALTWEB — 署名付きコンテキストカプセル
AI エージェント向けの署名付きコンテキストカプセル — Markdown を、自己完結型で検証可能、必要に応じて暗号化されたアーティファクトにコンパイルします。さらに、署名のないコンテキストや信頼されていないコンテキストを拒否する MCP ローダーを提供します。注入する前に検証してください。
AI エージェントは、指示、ペルソナ、スキル、メモリーファイルなどのプレーンテキストのコンテキストで動作します。しかし、これらには出所の証明がありません。つまり、それらのファイルに書き込めるものなら何でも、内容を汚染できます。ALTWEB はコンテキストに管理の連鎖を与え、それがないものはローダーが拒否するようにします。
- カプセル — Markdown を単一の
.altweb.htmlファイル(または URL)にコンパイルします。コンテンツは圧縮(deflate)され、必要に応じて暗号化(AES-256-GCM)および署名(ECDSA P-256)されます。自己完結型で、どのブラウザーでも開け、オフラインで検証でき、サーバーも必要ありません。データベースではなく、ファイルを渡せば済みます。 - 検証済みコンテキストの読み込み —
altweb-contextMCP サーバーは、署名が有効で、かつ署名者の公開鍵が信頼ファイルに登録されている場合に限り、エージェントにカプセルを読み込みます。署名のないカプセル、改ざんされたカプセル、信頼されていないカプセルは、明示的な理由とともに読み込み時に拒否されます。拒否がデフォルトです。空の信頼ファイルでは、署名の有無にかかわらずすべて拒否されます。
you write MD ──► altweb compile --sign ──► capsule (.altweb.html / URL)
│
agent asks for context ──► altweb-context ──► verify signature + trust
│
trusted ──► markdown injected
everything else ──► REFUSED (reason)
パッケージ
| パッケージ | 内容 |
|---|---|
altweb | CLI:altweb compile / decode / verify / keygen(packages/cli) |
altweb-context | MCP サーバー:load_capsule、verify_capsule、list_trusted_keys(packages/mcp) |
@altweb/core | ヘッドレスエンジン:コンテンツモデル、コーデック、暗号処理、Markdown、サニタイズ(両方にバンドル。npm リリースを予定) |
@altweb/editor | Notion 風エディター(Novel を基盤としています)。ワンクリックでカプセルにエクスポートできます |
site/ | ドキュメントサイト(Astro + Starlight) |
クイックスタート
どちらのツールも npm で公開されているため、クローンする必要はありません。ソースコードのチェックアウト外で次のコマンドを実行してください(このリポジトリ内では、npm がローカルのワークスペースパッケージを解決します)。
# create your signing identity (deterministic from a passphrase; only the
# public key + fingerprint are stored, in ~/.altweb/identity.json)
npx altweb keygen --save
# write, compile, sign
echo "# My agent's operating notes" > notes.md
npx altweb compile notes.md -o notes.altweb.html --sign
# verify anywhere, offline
npx altweb verify notes.altweb.html
MCP クライアントにローダーを接続します(Claude Code の例)。
claude mcp add altweb-context -- npx -y altweb-context
(ソースから実行する場合:npm install && npm run build を実行し、packages/*/dist/ にあるバンドルを使用します。)
ソースから実行する
Node.js 20 以降が必要です。リポジトリのルートから実行します。
npm install
npm run build
# Create and save an identity with the locally built CLI
npm run keygen
# Start the editor in development mode
npm run dev
エディターにはローカル URL(通常は http://localhost:5173)が表示されます。CLI は node packages/cli/dist/altweb.mjs <command> として実行できます。チェックアウト内で npx altweb を使用しないでください。npm がローカルのワークスペースパッケージを選ぶ可能性があり、その実行ファイルはビルドが完了するまで存在しません。
ドキュメントサイトは意図的にワークスペースとは別の npm プロジェクトにしています。ローカルで実行するには、次のようにします。
npm install --prefix site
npm run dev --prefix site
署名者を信頼するには、その完全な公開鍵を ~/.altweb/trusted-keys.json に追加します(UNTRUSTED_KEY の拒否メッセージに、すぐに使えるエントリーが表示されます。短いフィンガープリントは人間向けのラベルであり、信頼の基点ではありません)。
{ "keys": [ { "name": "Me", "publicKey": "<base64url SPKI>", "fingerprint": "ab:12:..." } ] }
署名が証明することと、証明しないこと
有効な署名は、カプセルの作成者が誰か、そしてバイト列が改ざんされていないことを証明します。コンテンツが安全であることや、真実であることは保証しません。信頼ファイルはユーザー自身のポリシーです。登録する鍵は絞ってください。
長いパスフレーズを選んでください。 ID は、固定のプロトコルソルトを使い、Argon2id によってパスフレーズから決定論的に導出されます(保存するものがなくても ID を持ち運べるのはそのためです)。メモリー負荷の高い処理により、大規模な辞書攻撃の採算を悪くできますが、パスフレーズのエントロピーは依然として ID の基盤です。16 文字以上のダイスウェア形式のフレーズを使用してください。ツールは最低強度を適用します。
セキュリティ
コンテンツはデコード時に DOMPurify でサニタイズされ、アーティファクトには CSP が設定されます。コーデックは zod で構造を検証します。暗号化カプセルに関する注意点(署名は復号後のペイロードを対象とするため、検証は復号後に完了します)を含む詳細については、site/ のドキュメント → セキュリティモデルを参照してください。
ロードマップ
近い将来に予定している項目です。順序はおおよそのものです。
@altweb/coreの npm での公開 — プログラムから利用できる、インストール可能なライブラリとしてエンジンを提供します(CLI とローダーには、すでに同梱されています)。- ハードウェアベースの ID(FIDO2/パスキー) — パスフレーズ方式に加わる 任意 の ID タイプです。秘密鍵はセキュリティキーまたはセキュアエンクレーブに格納され、取り出しは不可能で、署名には物理的な操作が必要です。パスフレーズ方式の ID が引き続きデフォルトです。「パスフレーズは鍵ペアです」。ハードウェアキーは、希望する方に 所有しているもの を使った認証を追加します。
クレジット
優れたオープンソースソフトウェアを基盤に構築されています。エディターには Novel (Apache-2.0)と Tiptap(MIT)を使用し、エンジンでは DOMPurify、marked、pako、zod、@noble/curves を使用しています。詳細は NOTICE をご覧ください。
ライセンス
ALTWEB は デュアルライセンス です。
- オープンソース:AGPL-3.0-or-later。 自由に使用、調査、改変、共有できます。ただし、重要な義務が 1 つあります。ALTWEB を改変して配布する またはネットワークサービスとして運用する 場合(たとえば、他者向けに
altweb-contextをホスティングする場合)、改変したソースを AGPL のもとで公開する必要があります。 - 商用:契約に基づきます。 ALTWEB をクローズドソース製品で使用する場合、または変更を公開せずにホステッドサービスとして提供する場合は、別途商用ライセンスが必要です。COMMERCIAL.md をご覧ください。
Copyright © 2026 Daniel C. ȘOIMU. 同梱されているサードパーティ製コンポーネントは、それぞれの(制限の緩い)ライセンスが適用されます。詳細は NOTICE をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。