Hive Cdn について
Hive Cdnは、A2Aパイプラインで繰り返し参照されるエージェントカードや能力マニフェストなどをキャッシュする、受信専用のMCPサーバーです。メモリLRUとSQLiteを組み合わせ、ETag応答に対応し、x402で利用量を計測します。
主な機能
- 01キーによるオブジェクトのキャッシュ
- 02メモリLRUとSQLiteの2層ストレージ
- 03ETag条件付き読み取り
- 04個別キャッシュ項目の削除
- 05x402によるリクエストと転送量の計測
活用シーン
- 01複数エージェントが読むエージェントカードのキャッシュ
- 02能力マニフェストへの反復リクエストへの応答
- 03条件付き読み取りによる応答データの削減
MCP 対応
MCPクライアントにキャッシュの読み取り、書き込み、削除ツールを公開します。クライアントはサーバー経由でオブジェクトを保存・取得できますが、オリジンURLの取得は行いません。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://hive-mcp-cdn.onrender.com/mcpclaude mcp add --transport http srotzin-hive-mcp-cdn https://hive-mcp-cdn.onrender.com/mcp{"mcpServers":{"srotzin-hive-mcp-cdn":{"type":"http","url":"https://hive-mcp-cdn.onrender.com/mcp"}}}Cursor で開く{"servers":{"srotzin-hive-mcp-cdn":{"type":"http","url":"https://hive-mcp-cdn.onrender.com/mcp"}}}VS Code で開く{"mcpServers":{"srotzin-hive-mcp-cdn":{"type":"http","url":"https://hive-mcp-cdn.onrender.com/mcp"}}}{"mcpServers":{"srotzin-hive-mcp-cdn":{"serverUrl":"https://hive-mcp-cdn.onrender.com/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
hive-mcp-cdn
A2A 機能のエッジキャッシュ — Hive Civilization
任意のオブジェクト(エージェントカード、機能マニフェスト、署名済みエンベロープなど、A2A パイプラインで複数回読み取られるものすべて)をキャッシュする、小規模なインバウンド専用 MCP サーバーです。インメモリ LRU と SQLite のウォーム層による 2 層ストレージ、ETag と If-None-Match のサポート、パージエンドポイントを備え、x402 を通じてリクエストごとおよび GB ごとに課金します。
Council の由来:2026-04-27 に即興で作成され、ユーザーによって推奨されました。
これは何か
A2A トラフィックの大半は読み取りです。同じエージェントカード、同じ機能リスト、同じ署名済み証明が、共有キャッシュを持たないフリート全体に配信されます。hive-mcp-cdn は、その欠けていたエッジキャッシュです。エージェントはキーを指定してオブジェクトを保存し、ETag 対応の低コストな GET を通じて取得できます。
- プロトコル: Streamable-HTTP / JSON-RPC 2.0 上の MCP 2024-11-05
- トランスポート:
POST /mcp - ディスカバリー:
GET /.well-known/mcp.json - ヘルス:
GET /health - 決済: Base L2 上の USDC
- ブランドカラー: Pantone 1245 C /
#C08D23 - モード: インバウンド専用。デフォルトは
ENABLE=trueです。
料金
| 対象 | 料金 | 課金対象 |
|---|---|---|
| リクエストごと | $0.0002 USDC | ヒット・ミスを問わず、すべての /v1/cdn/get。 |
| GB ごとのエグレス | $0.05 USDC | 200 レスポンスで返される本文のバイト数。304 レスポンスはエグレス課金の対象外です。 |
| プリペイドバンドル | $1.00 USDC | アクセストークンを購入します。残高がなくなるまで、読み取りにプリペイド残高を使用します。 |
決済は Base L2 上の USDC で行います。受取先は WALLET_ADDRESS 環境変数です。
ツール
| ツール | ティア | 説明 |
|---|---|---|
cdn_cache_get | 2($0.0002/req + $0.05/GB) | キーを指定してキャッシュされたオブジェクトを読み取ります。if_none_match を考慮します。 |
cdn_cache_put | 0(無料) | 任意の Cache-Control: max-age=... を指定して、キーの下に保存します。 |
cdn_purge | 0(無料) | 単一のキーをパージします。冪等です。 |
REST エンドポイント
| メソッド | パス | 用途 |
|---|---|---|
GET | /v1/cdn/get?key=... | 読み取り。ETag、Cache-Control、X-Cache、Age を送信します。If-None-Match を考慮します。 |
POST | /v1/cdn/put | { key, body, content_type?, cache_control? } を書き込みます。 |
POST | /v1/cdn/purge | { key } をパージします。 |
GET | /v1/cdn/today | 日次カウンター:リクエスト数、ヒット数、ミス数、配信バイト数、収益。 |
POST | /v1/x402/proof/submit | オンチェーン証明を送信し、アクセストークンを発行します。 |
GET | /v1/x402/pricing | 料金表。 |
GET | /v1/x402/stats | オープンな nonce と有効なトークン。 |
GET | /health | サービスのヘルス状態とキャッシュ統計。 |
GET | /.well-known/mcp.json | MCP ディスカバリー記述子。 |
GET | / | ランディングページ。 |
ストレージモデル
シムが管理する 2 つの層です。
- ホット(LRU): 挿入順の再アクセス順序を持つ、プロセス内の
Mapです。CDN_LRU_MAX_ENTRIESとCDN_LRU_MAX_BYTESによって上限が設定されます。ミスはウォーム層にフォールスルーし、読み取り時に昇格します。 - ウォーム(SQLite):
CDN_DB_PATH(デフォルトは/tmp/cdn.db)にあるbetter-sqlite3です。本文、ETag、コンテンツタイプ、バイト単位のサイズ、作成日時と有効期限を持つcacheテーブルが 1 つあります。日次カウンターを集計するegressテーブルもあります。
size_bytes は行ごとに記録され、エグレス計測の基準となります。ETag は書き込み時に一度だけ計算され、本文の SHA-256 の 16 進数表記を 32 文字に切り詰め、二重引用符で囲んだものです。
x402 のフロー
トークンなしで /v1/cdn/get を初めて呼び出すと、次の内容が返されます。
{
"error": "payment_required",
"payment": {
"nonce": "<uuid>",
"amount_usd": 1.0,
"pricing": {
"per_request_usd": 0.0002,
"per_gb_egress_usd": 0.05
},
"accepts": [{ "chain": "base", "asset": "USDC", "recipient": "0x15184b..." }],
"expires_at": 1777220000,
"tier": 2,
"product": "cdn_prepaid_bundle"
}
}
/v1/x402/proof/submit に証明を送信します。
{ "nonce": "...", "payer": "0x...", "chain": "base", "tx_hash": "0x..." }
…その後、X-Hive-Access: hive_<token> を指定して /v1/cdn/get を呼び出します。各リクエストで、プリペイド残高から per_request + (bytes / 1GB) * per_gb_egress が差し引かれます。残高はレスポンスヘッダー X-Hive-Balance-USD で返されます。
キャッシュの動作
PUTのCache-Control: max-age=<s>で TTL を設定します。デフォルトは300秒です。上限は 7 日です。- ETag は強力なバリデーターです(引用符で囲んだ SHA-256 のプレフィックス)。
GETのIf-None-Match: <etag>は、本文なしで304 Not Modifiedを返し、エグレス料金は発生しません。- 期限切れのエントリーは、読み取り時と 60 秒ごとのスイープ時に遅延削除されます。
- 既存のキーに対する
PUTは、本文、ETag、コンテンツタイプ、TTL を置き換え、ヒットカウンターをリセットします。
環境変数
| 変数 | デフォルト | 用途 |
|---|---|---|
PORT | 3000 | HTTP ポートです。 |
ENABLE | true | マスタースイッチです。false の場合は /health のみを実行します。 |
WALLET_ADDRESS | 0x15184bf50b3d3f52b60434f8942b7d52f2eb436e | x402 手数料の受取先です。 |
CDN_PRICE_PER_REQUEST_USD | 0.0002 | リクエストごとの手数料です。 |
CDN_PRICE_PER_GB_EGRESS_USD | 0.05 | エグレス 1 GB あたりの手数料です。 |
CDN_PREPAY_BUNDLE_USD | 1.0 | デフォルトの前払いバンドルサイズです。 |
CDN_DEFAULT_TTL_S | 300 | max-age が明示されていないオブジェクトのデフォルト TTL です。 |
CDN_LRU_MAX_ENTRIES | 1024 | ホットティアのエントリー上限です。 |
CDN_LRU_MAX_BYTES | 67108864 | ホットティアのバイト数上限(64 MiB)です。 |
CDN_MAX_OBJECT_BYTES | 4194304 | オブジェクトごとのサイズ上限(4 MiB)です。 |
CDN_DB_PATH | /tmp/cdn.db | SQLite ウォームティアのパスです。 |
このサーバーが行わないこと
- あらゆる種類のアウトバウンドリクエストも実行しません。キャッシュには登録されたデータだけが保持されます。
- URL の解決、オリジンからの取得、バックストアに対する再検証は行いません。
- キーごとのアクセス制御は行いません。キーは不透明な名前空間として扱い、プライバシーが必要な場合は上流でアクセスを制限してください。
- SQLite ファイルを超えて永続化しません。新しい
/tmpを使用するコンテナでは、キャッシュは空です。
ライセンス
MIT。
Hive Gamification
この MCP サーバーは、Hive Civilization のゲーミフィケーション基盤(10 メカニズムの機能分類)の一部です。
- 機能分類:https://hive-gamification.onrender.com/.well-known/hive-gamification.json
- Centrifuge ダッシュボード:https://hive-gamification.onrender.com/.well-known/hive-centrifuge.json
- 統合 OpenAPI:https://hive-gamification.onrender.com/.well-known/openapi.json
サーフェスタグ: gamification.spec.v1 · gamification.surface.public · gamification.signal.read-only · gamification.settlement.real-rails
Base L2 上の実際の決済レール(USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913)。読み取り専用のシグナルレイヤーです。ブランドゴールド #C08D23。
Hive Civilization Directory
Hive Civilization — エージェントネイティブな金融インフラストラクチャの一部です。
- エンドポイントディレクトリ:https://thehiveryiq.com
- ライブリーダーボード:https://hive-a2amev.onrender.com/leaderboard
- 収益ダッシュボード:https://hivemine-dashboard.onrender.com
- その他の MCP サーバー:https://github.com/srotzin?tab=repositories&q=hive-mcp
ブランドカラー:#C08D23
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。