Skip to main content
Glama
icohangar-ops

Governed MCP Gateway

Cubiczan Agent Platform

Identität, Geld und Nachweise für Agents, die tatsächlich liefern.

Drei SKUs, ein Workspace. MCP-Clients behalten ein Bearer-Prinzipal durch tools/call und SSE. Ausgaben können ohne Mandat und, über dem Limit, ohne einen zweiten menschlichen Schlüssel nicht abgerechnet werden. Board-Claims können ohne Agent, CHP-Sperre und gehashtes Dokument nicht versiegelt werden.

Drei SKUs: Governed-MCP-Gateway, Spend-Mandate-Plane, CFO-Agent-Mesh

SKU

Port

Repo

Job

Governed MCP Gateway

:7474

icohangar-ops/governed-mcp-gateway

Prinzipal bei jedem Tool-Aufruf und SSE-Frame. Vault-basierte Credential-Rotation. Tool-Allowlists.

Agent Spend & Mandate Plane

:7475

icohangar-ops/spend-mandate-plane

Vorschlagen → Mandat → Gegenzeichnung → Abrechnung. Stripe standardmäßig; x402 ist ein Rail.

Auditable CFO Agent Mesh

:7476

icohangar-ops/cfo-agent-mesh

Claim → Agent → Sperre → Dokument. ASC-842-/606-/718-Engines. HMAC-verkettetes Evidence-Pack.

Gemeinsame Primitive (packages/shared): CHP-Gate, HMAC-Ledger, HTTP/SSE-Helfer. Null npm-Laufzeitabhängigkeiten. Stripe und x402 sind Rails – Tests rufen niemals Live-Netzwerke auf.

Schnellstart

npm install
npm test
npm run gateway   # :7474
npm run spend     # :7475
npm run cfo       # :7476

Demo-Bearer-Keys (auch in .env.example):

Rolle

Key

Gateway-Agent

mcp_agt_payops_demo

Gateway-Mensch

mcp_human_controller_demo

Gateway-Recherche (kein stripe.charge)

mcp_agt_research_demo

Spend-Agent

spend_agt_payops_demo

Spend-Mensch

spend_human_controller_demo

CFO-Agent

cfo_agt_lease_demo

CFO-Mensch

cfo_human_controller_demo

README-Karten aus den lokalen Live-APIs neu generieren:

npm run shots

Related MCP server: governed-mcp-gateway

1. Governed MCP Gateway

Produktions-MCP verwirft Identität. listTools läuft im Request-Thread; tools/call und SSE laufen woanders. Dieses Gateway löst eine Bearer-Credential zu einem Prinzipal auf, injiziert es bei jedem JSON-RPC-Aufruf und wiederholt es bei jedem SSE-Frame. Benannte Vault-Inputs rotieren an Ort und Stelle – github_token bleibt github_token.

Prinzipal bei tools/call injiziert

SSE wiederholt Prinzipal bei jedem Frame

github_token ohne neue Input-ID rotieren

curl -sS -H "Authorization: Bearer mcp_agt_payops_demo" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"echo.ping","arguments":{"hello":"world"}}}' \
  http://127.0.0.1:7474/mcp

Methode

Pfad

Was

POST

/mcp

JSON-RPC initialize, tools/list, tools/call

GET

/mcp/sse?once=1

SSE-Benachrichtigung mit _meta.cubiczan.principal

POST

/v1/credentials/:name/rotate

Nur-menschliche Vault-Rotation; alter Hash stirbt

POST

/v1/credentials/verify

Ein Secret gegen den aktuellen Hash prüfen


2. Agent Spend & Mandate Plane

Agents schlagen vor. Mandate autorisieren. Ein Mensch zeichnet gegen, wenn der Betrag über dem Auto-Limit liegt. Der vorschlagende Agent kann nicht selbst gegenzeichnen. Abrechnung ist ein Rail: Stripe-Meter-Event standardmäßig, x402 payment-required auf Wunsch. Keine Chain-Aufrufe in diesem MVP.

Unter-Limit-Vorschlag sperrt automatisch

Über-Limit erfordert menschlichen zweiten Schlüssel

Stripe-Meter vs. x402 payment-required

curl -sS -H "Authorization: Bearer spend_agt_payops_demo" \
  -H "Content-Type: application/json" \
  -d '{"agent":"agt_payops","merchant":{"name":"Stripe","url":"https://stripe.com","country":"US"},"total":"12.00","rationale":"tool meter"}' \
  http://127.0.0.1:7475/v1/proposals

Methode

Pfad

Was

POST

/v1/mandates

Operator erstellt Abdeckung für Restcents

POST

/v1/proposals

Agent schlägt vor; Lane auto | approval | blocked

POST

/v1/countersign

Menschlicher zweiter Schlüssel; Agents werden abgelehnt

POST

/v1/settle

{ "rail": "stripe" } oder "x402"


3. Auditable CFO Agent Mesh

Ein Board-Claim ist erst abgeschlossen, wenn er einen Agent, einen LOCKED-CHP-Zustand und mindestens einen Quell-Dokument-Hash hat. Engines messen (ASC-842-Lease-Rollforward, ASC-606-beschränkter POC, ASC-718-SBC). Sie entscheiden keine Rechtsfragen. Token-Ausgaben werden als Quelle im selben HMAC-verketteten Ledger angehängt.

Unversiegelter Claim ohne Dokumente

Versiegeltes Evidence-Pack

ASC-842-Finanzierungsleasing endet bei 0.00

curl -sS -H "Authorization: Bearer cfo_agt_lease_demo" \
  -H "Content-Type: application/json" \
  -d '{"title":"AI spend is $12.00 this period","narrative":"Token ledger supports the board claim.","agentId":"agt_lease"}' \
  http://127.0.0.1:7476/v1/claims

Methode

Pfad

Was

POST

/v1/claims

Einen Claim öffnen

POST

/v1/claims/:id/documents

Benannte Quelle anhängen; SHA-256 gespeichert

POST

/v1/claims/:id/lock

Menschliche Sperre → LOCKED

POST

/v1/engines/lease

ASC-842-Klassifizierung + Rollforward

GET

/v1/evidence/:id

Versiegeln; 400, wenn keine Dokumente oder nicht gesperrt

Spezifikationen

OpenSpec-Änderung: openspec/changes/ship-three-sku-platform/.

Lizenz

MIT

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables controlled AI-agent access to enterprise-shaped tools with a deny-by-default gated write path, human approval, dry-run execution, and append-only audit logging.
    1
    -
  • A
    license
    A
    quality
    B
    maintenance
    This MCP server preserves a Bearer principal on every tool call and SSE frame, rotates vaulted credentials in place, and enforces per-tool allowlists for agents.
    3
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables secure support-ticket and customer-account operations with signed JWT authentication, prompt-injection and tool-poisoning guardrails, and human-in-the-loop confirmation for destructive actions.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to securely invoke tools by enforcing identity proof, capability verification, and risk scoring on every request, blocking unsafe calls before they execute.
    MIT