mcpField
S
SatGate – Economic Firewall for AI Agents

SatGate – Economic Firewall for AI Agents

远程服务
satgate.io金融数据11今天更新

关于 SatGate – Economic Firewall for AI Agents

SatGate 是治理 AI Agent 对 API 和 MCP 工具访问的网关,通过预算、权限凭证和付费访问策略控制请求。它为允许或拒绝的请求生成签名回执,并可按单个工具归因 MCP 用量。

主要功能

  1. 01为 Agent 和团队设置硬性预算上限
  2. 02可委派的 Macaroon 凭证
  3. 03按 MCP 工具归因调用成本
  4. 04公共、受保护和付费路由策略
  5. 05支持 stdio 或 SSE/HTTP 的 MCP 代理

适用场景

  1. 01预算耗尽时阻止 Agent 请求
  2. 02为子 Agent 分配预算更低的凭证
  3. 03按 MCP 工具追踪使用成本
  4. 04通过付费机制控制 API 或 MCP 访问

MCP 相关

SatGate 解析 MCP JSON-RPC 调用以应用策略并按工具归因成本。其 MCP 代理支持 stdio 和 SSE/HTTP 传输,可执行预算与委派控制。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://satgate-mcp-saas.fly.dev/sse
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
SSEhttps://satgate-mcp-saas.fly.dev/sse需要授权
安装包
npmsatgate-mcp-bridge1.0.5

工具

详细介绍

SatGate

SatGate

观察、控制并准入 AI Agent 流量
每次允许或拒绝都会附带一份签名回执

CI 状态 Go 代码报告 Go 参考文档 许可证

原因 • 构建 • 功能 • 快速开始 • 文档 • 网站 • 博客


SatGate 是位于 API 和 MCP 工具前面的网关。它会统计 Agent 和 MCP 流量(观察)、在工作运行前执行所有者预算(控制),并在你选择的路由上向外部 Agent 收费(准入;即仪表板中的 Charge 策略)。每次允许或拒绝都会附带一份签名回执。

以 Agent 身份试用。此托管路由会返回 HTTP 402,其中包含 Lightning 发票和 macaroon。价格为 10 sats,支付一次即可访问,直到该响应中的 credential_expires_at 时间,而不仅仅是一次请求:

curl -i -H "X-SatGate-Tenant: satgate-demo" https://api.satgate.io/paid/agent-demo

Agent 使用说明见 llms.txt。

使用 SatGate 构建 Agent

SatGate 面向开发者的基本操作是三个调用:issue()、pay() 和 verify()。

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.py
  • examples/node/issue-pay-verify.mjs

适用于:MCP · OpenAI 工具 · Anthropic 工具 · LangChain · CrewAI · 原始 HTTP


🎬 查看 SatGate 的实际演示

观看介绍视频  观看委托演示


☁️ 不想自托管?试试 SatGate Cloud

托管式 SaaS — 零配置、多租户隔离、企业级仪表板。
免费观察套餐。无需信用卡。

试用 SatGate Cloud


问题所在

AI Agent 正在自主调用 API。它们会创建子 Agent、调用 MCP 工具,并在你睡觉时彻夜运行。

你现有的技术栈会回答:“此请求是否经过身份验证?”

却没有人回答:“此 Agent 是否有权进行消费、委托或调用此付费资源?”

✓ 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 Agent 请求的经济防火墙。将它部署在 API 和 MCP 工具前,即可在 Agent 执行操作前,强制执行权限范围、预算、付费通道上下文,并生成 Evidence Pack 回执。

它不是另一层路由。 路由网关(Bifrost、LiteLLM、Portkey)会优化由哪个提供商处理调用。SatGate 则根据权限、策略、预算和付费通道上下文,管理是否应该进行调用。

可以组合使用:

Agent → SatGate (economic governance) → Routing Gateway → LLM Providers

功能

  • 🛡️ 能力令牌(Macaroon) — 内置限制条件、委托和下次请求撤销机制的加密凭证。不是 API 密钥,而是可供 Agent 安全地向下委托的令牌。
  • 🎯 支持 MCP — 解析 MCP JSON-RPC 工具调用。了解 Agent X 在 search_database 上花费了 $47,在 send_email 上花费了 $12,而不只是知道“1,000 次请求”。
  • 💰 预算强制执行 — 为每个 Agent、团队或 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

试用这三种策略:

# 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

公开 → 受保护 → 付费。三种策略,一个网关;付费通道是受治理的上下文,而不是产品边界。

托管付费演示(Admit;在仪表板中进行 Charge)。无需本地 Lightning 节点:

curl -i -H "X-SatGate-Tenant: satgate-demo" https://api.satgate.io/paid/agent-demo

未付费的调用会返回 402,并附带 Lightning 发票和 macaroon。价格为 10 sats,一次付款即可获得访问权限,直到该响应中的 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需要有效的 Macaroon受保护的 API 端点
l402需要 Lightning 付款,并记录付费通道上下文变现端点;可在 Evidence Packs 中保留 x402/账本上下文

有何不同

SatGate路由网关传统 API 网关
主要关注点经济治理提供商路由流量管理
预算强制执行硬性上限(达到上限即拦截)仅软性警报❌
MCP 成本归因精确到单个工具❌❌
凭证模型Macaroon(可委托)API 密钥API 密钥 / OAuth
Agent 委托预算减少的子令牌❌❌
付费通道治理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    │
└──────────────────────────────────────────────────┘

核心概念:

  • Macaroon:内嵌限制条件(有效期、范围、预算、IP)的持有者令牌。不是 API 密钥,而是无需与服务器往返通信即可支持委托的令牌。
  • 委托:Agent A 向 Agent B 发放权限缩减、预算上限为 $50 的子令牌。B 无法提升权限。
  • MCP 解析:SatGate 读取 MCP JSON-RPC 负载,将成本归因于具体的工具调用,而不只是 HTTP 端点。
  • 付费通道上下文:SatGate 将 L402、x402、API 密钥计费和企业账本视为需要治理的通道。Evidence Packs 会保留涉及的通道信息,但不会将通道本身作为产品。

SDK

语言软件包文档
Pythonpip install satgateREADME
JavaScriptnpm install @satgate/sdkREADME

MCP 代理(NEW)

SatGate 现已内置原生 MCP 代理,可管理任何兼容 MCP 的 Agent 的工具调用:

# Run MCP proxy with 1000-credit budget
satgate-mcp --config satgate-mcp.yaml
  • 预算执行:Agent 用尽配额时,强制返回 402
  • 委派:父级 Agent 创建子 Agent 令牌,并划拨预算
  • 单工具成本:web_search: 5、dalle_generate: 50(支持通配符模式)
  • 两种传输方式:stdio(本地 sidecar)或 SSE/HTTP(远程多 Agent)
  • 三种身份验证模式:无、静态令牌、macaroon(HMAC 链)

完整文档请参阅 pkg/mcpserver/README.md。

文档

☁️ SatGate Cloud 与企业版

不想自托管? SatGate Cloud 是全托管版本——相同的网关,无需运维。

开源网关负责防护、预算和付费通道执行。SatGate Cloud 则增加了控制平面:

  • 📊 观测 — 实时仪表板、使用情况归因、成本中心标记
  • 🎚️ 控制 — 在 Agent 请求执行前执行预算和策略
  • 🤖 SatGate Mint — 自动化 Agent 配置(K8s、AWS、OIDC)
  • 🏢 多租户 — 团队隔离、RBAC、SSO/SCIM
  • 📝 审计 — 防篡改日志、合规性导出

免费开始 →(Observe 免费,受合理使用上限约束)

贡献

欢迎贡献!请参阅 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 倾力打造 ⚡ — 经济防火墙

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。