SatGate – Economic Firewall for AI Agents について
SatGateは、予算、権限付き認証情報、有料アクセスのポリシーを通じて、AIエージェントによるAPIやMCPツールへのアクセスを管理するゲートウェイです。許可・拒否の各リクエストに署名付きレシートを記録し、MCPの利用を個別ツール単位で集計できます。
主な機能
- 01エージェントやチームの厳格な予算上限
- 02委任可能なMacaroon認証情報
- 03MCPツール単位のコスト集計
- 04公開・保護・有料ルートのポリシー
- 05stdioまたはSSE/HTTP対応のMCPプロキシ
活用シーン
- 01予算を使い切ったエージェントのリクエストを遮断
- 02予算を減らした認証情報をサブエージェントに付与
- 03MCPツールごとの利用コストを追跡
- 04支払いを条件にAPIやMCPへのアクセスを制御
MCP 対応
MCP JSON-RPC呼び出しを解析し、ポリシーを適用してツールごとのコストを集計します。MCPプロキシはstdioとSSE/HTTPに対応し、予算と委任を制御します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://satgate-mcp-saas.fly.dev/sseclaude mcp add --transport sse satgate-io-satgate https://satgate-mcp-saas.fly.dev/sse{"mcpServers":{"satgate-io-satgate":{"type":"sse","url":"https://satgate-mcp-saas.fly.dev/sse"}}}Cursor で開く{"servers":{"satgate-io-satgate":{"type":"sse","url":"https://satgate-mcp-saas.fly.dev/sse"}}}VS Code で開く{"mcpServers":{"satgate-io-satgate":{"type":"sse","url":"https://satgate-mcp-saas.fly.dev/sse"}}}{"mcpServers":{"satgate-io-satgate":{"serverUrl":"https://satgate-mcp-saas.fly.dev/sse"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://satgate-mcp-saas.fly.dev/sse認証が必要ツール
詳細
SatGate
AI エージェントのトラフィックを可視化、制御、受け入れ
許可にも拒否にも、署名付きのレシートが付属します
理由 • 構築 • 機能 • クイックスタート • ドキュメント • ウェブサイト • ブログ
SatGate は、API と MCP ツールの前段に配置するゲートウェイです。エージェントと MCP のトラフィックを計測し(Observe)、処理の実行前にオーナーの予算を適用し(Control)、選択したルートで外部エージェントに課金します(Admit。ダッシュボードの Charge ポリシー)。許可にも拒否にも、署名付きのレシートが付属します。
エージェントとして試してみましょう。このホストされたルートは、Lightning 請求書と macaroon を含む HTTP 402 を返します。料金は 10 sats で、1 回の支払いで 1 リクエストだけでなく、レスポンス内の credential_expires_at 時刻までアクセスできます。
curl -i -H "X-SatGate-Tenant: satgate-demo" https://api.satgate.io/paid/agent-demo
エージェント向けの説明は llms.txt にあります。
SatGate でエージェントを構築する
SatGate の開発者向けプリミティブは、issue()、pay()、verify() の 3 つの呼び出しです。
import os
from satgate import SatGate
satgate = SatGate(api_key=os.getenv("SATGATE_API_KEY"))
capability = satgate.issue(
task="research market prices",
agent="research-agent",
allow=["mcp:web.search", "api:prices.read"],
budget_usd=25,
expires_in="1h",
)
receipt = satgate.pay(
upstream="https://api.example.com/search",
capability=capability,
max_usd=4.20,
)
verified = satgate.verify(receipt)
print(verified.decision, verified.evidence_pack_id)
今すぐインストールできます。
pip install satgate
npm install @satgate/sdk
公開パッケージは今すぐインストールできますが、issue/pay/verify API 名前空間はプライベートベータ版です。プライベートベータへのアクセス権がない状態で呼び出すと、偽のレシートではなく、構造化されたエラーが発生します。
SatGateAuthError: This API namespace requires private beta access. Visit cloud.satgate.io/docs to request access.
実行可能なサンプル:
examples/python/issue_pay_verify.pyexamples/node/issue-pay-verify.mjs
対応:MCP · OpenAI ツール · Anthropic ツール · LangChain · CrewAI · Raw HTTP
☁️ セルフホストしたくない場合は、SatGate Cloud をお試しください
マネージド SaaS — セットアップ不要、マルチテナント分離、エンタープライズ向けダッシュボード。
無料の Observe プラン。クレジットカードは不要です。
問題点
AI エージェントは自律的に API を呼び出しています。サブエージェントを起動し、MCP ツールを呼び出し、あなたが眠っている間も夜通し稼働します。
既存のスタックが答えるのは、「このリクエストは認証されていますか?」です。
**「このエージェントに、支出、委任、または有料リソースの呼び出しを行う権限を与えるべきですか?」**に答えるものはありません。
✓ Network Firewall → "Can this packet enter?"
✓ Application Firewall → "Is this request safe?"
? Economic Firewall → "Should this agent act, spend, or pay?"
そこにギャップがあります。SatGate がそのギャップを埋めます。
SatGate とは?
SatGate は、AI エージェントのリクエストを保護する経済ファイアウォールです。API や MCP ツールの前段に配置することで、エージェントが動作する前に、スコープを限定した権限、予算、有料決済レールのコンテキスト、Evidence Pack のレシートを適用します。
**単なるルーティングレイヤーではありません。**ルーティングゲートウェイ(Bifrost、LiteLLM、Portkey)は、呼び出しを処理するプロバイダーを最適化します。SatGate は、権限、ポリシー、予算、有料決済レールのコンテキストに基づいて、呼び出しをそもそも実行すべきかどうかを管理します。
併用できます:
Agent → SatGate (economic governance) → Routing Gateway → LLM Providers
特長
- 🛡️ ケイパビリティトークン(マカロン) — 制約条件、委任、次回リクエスト時の失効機能を組み込んだ暗号学的な認証情報です。API キーではなく、エージェントが安全に再委任できるトークンです。
- 🎯 MCP 対応 — MCP JSON-RPC のツール呼び出しを解析します。単に「1,000 件のリクエスト」ではなく、エージェント X が
search_databaseに $47、send_emailに $12 を費やしたことを把握できます。 - 💰 予算の強制適用 — エージェント、チーム、API ごとに上限を設定できます。予算がゼロになると、リクエストは ブロックされます。記録されるだけでも、アラートが送られるだけでもなく、ブロックされます。
- ⚡ 有料決済レールのガバナンス — いずれかの決済レールをコントロールプレーンにすることなく、L402、x402、API キー課金、エンタープライズ台帳にまたがる有料 API アクセスを管理します。
- 🔒 デフォルト拒否 — 明示的に公開されていない限り、すべてのルートで有効な認証情報が必要です。ゼロトラストを設計に組み込んでいます。
- 🚀 オーバーヘッド <50ms — 軽量な Go プロキシです。レイテンシーを増やさずにガバナンスを追加できます。
- 📦 セルフホスト可能 — インフラストラクチャもルールも自分で管理できます。単一バイナリ、Docker、Kubernetes に対応しています。
- 🔌 そのまま導入可能 — あらゆる HTTP バックエンドで動作します。REST、GraphQL、MCP サーバーに対応し、コード変更は不要です。
クイックスタート
60 秒デモ
# Run from a clone. The example config is examples/gateway.yaml in this repo.
# macOS Apple Silicon. Other v0.5.2 assets: satgate-darwin-amd64, satgate-linux-amd64,
# satgate-linux-arm64, satgate-windows-amd64.exe
git clone https://github.com/SatGate-io/satgate.git
cd satgate
curl -L https://github.com/SatGate-io/satgate/releases/download/v0.5.2/satgate-darwin-arm64 -o satgate
chmod +x satgate
# Mock Lightning. Demo mode prints:
# SECURITY WARNING: Using ephemeral root key. Set CAPABILITY_ROOT_KEY for production use.
# That warning is expected. Tokens do not persist across restarts.
export ADMIN_TOKEN=my-secret-token
export LIGHTNING_BACKEND=mock
./satgate --config examples/gateway.yaml
3 つのポリシーを試す:
# 1. Public — no auth needed
curl http://localhost:8080/health
# 2. Protected — mint a capability token, then use it
curl -X POST http://localhost:8080/api/capability/mint \
-H "X-Admin-Token: my-secret-token" \
-H "Content-Type: application/json" \
-d '{"scope": "api:read", "duration": "1h"}'
# Use the token:
curl -H "Authorization: Bearer YOUR_CAPABILITY_TOKEN" \
http://localhost:8080/api/capability/ping
# 3. Paid — get a payment challenge (L402 today; x402/other rails as governed context)
curl http://localhost:8080/api/micro
公開 → 保護 → 有料。3 つのポリシーを 1 つのゲートウェイで管理します。有料決済レールは管理対象のコンテキストであり、製品の境界ではありません。
ホスト型の有料デモ(ダッシュボードで Admit、Charge)。ローカルの Lightning ノードは不要です。
curl -i -H "X-SatGate-Tenant: satgate-demo" https://api.satgate.io/paid/agent-demo
未払いの呼び出しには、Lightning インボイスとマカロンを含む 402 が返されます。価格は 10 sats で、1 回の支払いにより 1 リクエストだけでなく、レスポンス内の credential_expires_at の時刻までアクセスできます。Lightning の場合は、インボイスを所有者に提示し、支払い状況をポーリングしてから再試行します。ポーリングのルールは llms.txt に記載されています。
その他のインストール方法
# Release binary. ghcr.io/satgate-io/satgate:latest is private; anonymous pulls get 401.
# Assets: satgate-darwin-arm64, satgate-darwin-amd64, satgate-linux-amd64,
# satgate-linux-arm64, satgate-windows-amd64.exe
curl -L https://github.com/SatGate-io/satgate/releases/download/v0.5.2/satgate-darwin-arm64 -o satgate
chmod +x satgate
# Build from source
git clone https://github.com/SatGate-io/satgate.git
cd satgate && go build -o satgate ./cmd/satgate
設定
version: 1
server:
listen: ":8080"
admin:
capabilityRootKey: "${CAPABILITY_ROOT_KEY}"
lightning:
provider: "${LIGHTNING_BACKEND}"
config:
connectionString: "${NWC_CONNECTION_STRING}"
upstreams:
api:
url: "http://localhost:3000"
routes:
- name: public-health
match:
pathPrefix: /health
upstream: api
policy:
kind: public
- name: protected-api
match:
pathPrefix: /api/
upstream: api
policy:
kind: capability
scope: "api:read"
- name: premium-api
match:
pathPrefix: /premium/
upstream: api
policy:
kind: l402 # paid-rail policy; use payment_context to preserve L402/x402/ledger evidence
priceSats: 100
ポリシーの種類
| ポリシー | 説明 | ユースケース |
|---|---|---|
public | 認証なし | ヘルスチェック、ドキュメント、Webhook |
capability | 有効なマカロンが必要 | 保護対象の API エンドポイント |
l402 | Lightning による支払いが必要で、有料決済レールのコンテキストを記録 | 収益化されたエンドポイント。x402/台帳のコンテキストは Evidence Packs に保持できます |
他との違い
| SatGate | ルーティングゲートウェイ | 従来の API ゲートウェイ | |
|---|---|---|---|
| 主な関心事 | 経済的ガバナンス | プロバイダーのルーティング | トラフィック管理 |
| 予算の強制適用 | ハード上限(上限到達時にブロック) | ソフトアラートのみ | ❌ |
| MCP コストの帰属 | ツール単位の詳細 | ❌ | ❌ |
| 認証情報モデル | マカロン(委任可能) | API キー | API キー/OAuth |
| エージェントの委任 | 予算を減額したサブトークン | ❌ | ❌ |
| 有料決済レールのガバナンス | L402、x402、API キー課金、エンタープライズ台帳 | ❌ | ❌ |
| 併用可能な対象 | — | ✅ 併用可能 | ✅ 併用可能 |
アーキテクチャ
┌──────────────────────────────────────────────────┐
│ SatGate │
│ │
│ Request → Route Match → Policy Check → Proxy │
│ │ │
│ ┌──────────────┼──────────────┐ │
│ │ │ │ │
│ [public] [capability] [paid rail] │
│ pass verify token verify │
│ check budget payment │
│ log MCP tool context │
└──────────────────────────────────────────────────┘
主な概念:
- マカロン:制約条件(有効期限、スコープ、予算、IP)を埋め込んだベアラートークンです。API キーとは異なり、サーバーとのラウンドトリップなしで 委任 できます。
- 委任:エージェント A は、権限を減らし、予算上限を $50 に設定したサブトークンをエージェント B に渡します。B が権限を拡大することはできません。
- MCP 解析:SatGate は MCP JSON-RPC ペイロードを読み取り、HTTP エンドポイント単位ではなく、特定のツール呼び出しにコストを帰属させます。
- 有料決済レールのコンテキスト:SatGate は、L402、x402、API キー課金、エンタープライズ台帳を、その周辺を管理する決済レールとして扱います。Evidence Packs は、決済レールを製品にすることなく、どの決済レールが関与したかを保持します。
SDK
| 言語 | パッケージ | ドキュメント |
|---|---|---|
| Python | pip install satgate | README |
| JavaScript | npm install @satgate/sdk | README |
MCP プロキシ(新機能)
SatGate には、MCP 互換エージェントのツール呼び出しを制御するネイティブの MCP プロキシ が新たに搭載されました。
# Run MCP proxy with 1000-credit budget
satgate-mcp --config satgate-mcp.yaml
- 予算の適用:エージェントが割り当てを使い切ると、ハード 402 エラーを返します
- 委任:親エージェントは、予算を割り当てたサブエージェントトークンを発行します
- ツールごとのコスト:
web_search: 5、dalle_generate: 50(ワイルドカードパターンに対応) - 2 種類のトランスポート:stdio(ローカルサイドカー)または SSE/HTTP(リモートのマルチエージェント)
- 3 種類の認証モード:なし、静的トークン、macaroon(HMAC チェーン)
詳しいドキュメントは pkg/mcpserver/README.md をご覧ください。
ドキュメント
☁️ SatGate Cloud と Enterprise
セルフホストはお考えではありませんか? SatGate Cloud はフルマネージド版です。ゲートウェイは同じで、運用作業は不要です。
オープンソースのゲートウェイは保護、予算、有料レールの適用を担います。SatGate Cloud はコントロールプレーンを追加します。
- 📊 可視化 — リアルタイムダッシュボード、利用状況の帰属、コストセンターのタグ付け
- 🎚️ 制御 — エージェントのリクエスト実行前に予算とポリシーを適用
- 🤖 SatGate Mint — エージェントの自動プロビジョニング(K8s、AWS、OIDC)
- 🏢 マルチテナント — チームの分離、RBAC、SSO/SCIM
- 📝 監査 — 改ざんを検知できるログ、コンプライアンス向けエクスポート
無料で始める →(可視化機能は、公正使用の上限まで無料です)
コントリビューション
コントリビューションを歓迎します!ガイドラインについては CONTRIBUTING.md をご覧ください。
git clone https://github.com/satgate-io/satgate.git
cd satgate
go mod download
go test ./...
go build -o satgate ./cmd/satgate
ライセンス
Apache License 2.0 — 詳細は LICENSE をご覧ください。
リンク
- 🌐 satgate.io — ウェブサイト
- 📝 ブログ — 技術記事
- 🏢 エンタープライズガバナンス — CISO/CFO/CTO 向けのユースケース
- 💰 料金 — 無料の Observe プラン、適用機能を利用できる Pro プラン
- 🔒 セキュリティモデル — アーキテクチャとコンプライアンス
- 🧪 サンドボックス — サインアップせずにお試しいただけます
- 📊 ROI 計算ツール — 削減額を試算
- ⚖️ 比較 — SatGate と Zuplo、Bifrost、クラウドネイティブの比較
- 📧 [email protected]
⚡ SatGate が開発 — 経済的ファイアウォール
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。