KARTA — spend control for AI agents

Task envelope, budget ledger, kill switch and signed receipts for agents that pay.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
100%
Vollständigkeit des Schemas
71%
Qualität der Benennung
90%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~1,078Tokens (Tool-Definitionen)
~1.3 KBTypische Antwortgröße
Mittlere Auswirkung auf die Aufmerksamkeit (0.84% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "guard": {
      "url": "https://karta.rta.lat/mcp"
    }
  }
}

Remote-Endpunkte

https://karta.rta.lat/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (6)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢check_spend(envelope, amount, payee, calls_so_far, spent_so_far, ...)

Check whether a proposed agent spend is inside a task envelope. Returns verdict, rule, reason, counterfactual and next. No state is stored.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "envelope": {
      "additionalProperties": true,
      "title": "Envelope",
      "type": "object"
    },
    "amount": {
      "title": "Amount",
      "type": "string"
    },
    "payee": {
      "title": "Payee",
      "type": "string"
    },
    "calls_so_far": {
      "default": 0,
      "title": "Calls So Far",
      "type": "integer"
    },
    "spent_so_far": {
      "default": "0",
      "title": "Spent So Far",
      "type": "string"
    },
    "is_subscription": {
      "default": false,
      "title": "Is Subscription",
      "type": "boolean"
    }
  },
  "required": [
    "envelope",
    "amount",
    "payee"
  ],
  "title": "check_spendArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "check_spendOutput"
}
🟡open_envelope(budget_total, per_call_max, calls_max, allowlist, allow_subscriptions, ...)

Create a signed budget envelope for one task: total budget, per-call cap, call count, allowlisted payees, subscription rule, expiry. Stores it in this server's local ledger (no funds move, no keys). Returns the envelope id. Capped at 30 envelopes/hour per server.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "budget_total": {
      "title": "Budget Total",
      "type": "string"
    },
    "per_call_max": {
      "title": "Per Call Max",
      "type": "string"
    },
    "calls_max": {
      "title": "Calls Max",
      "type": "integer"
    },
    "allowlist": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Allowlist"
    },
    "allow_subscriptions": {
      "default": false,
      "title": "Allow Subscriptions",
      "type": "boolean"
    },
    "allow_new_payee": {
      "default": false,
      "title": "Allow New Payee",
      "type": "boolean"
    },
    "approval_threshold": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Approval Threshold"
    },
    "ttl_hours": {
      "default": 24,
      "title": "Ttl Hours",
      "type": "integer"
    }
  },
  "required": [
    "budget_total",
    "per_call_max",
    "calls_max"
  ],
  "title": "open_envelopeArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "open_envelopeOutput"
}
🟢get_envelope(envelope_id)

Return an envelope's state: budget, per-call cap, calls used, spent, remaining, allowlist and expiry. Read-only.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "envelope_id": {
      "title": "Envelope Id",
      "type": "string"
    }
  },
  "required": [
    "envelope_id"
  ],
  "title": "get_envelopeArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "get_envelopeOutput"
}
🔴kill_envelope(envelope_id, reason)

Stop one task envelope immediately: no further spend is approved for it, the reason is recorded with a timestamp. Idempotent — the first reason wins.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "envelope_id": {
      "title": "Envelope Id",
      "type": "string"
    },
    "reason": {
      "default": "owner stop",
      "title": "Reason",
      "type": "string"
    }
  },
  "required": [
    "envelope_id"
  ],
  "title": "kill_envelopeArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "kill_envelopeOutput"
}
🟢envelope_evidence(envelope_id)

Return an evidence bundle for one envelope: state, every recorded spend, the stop record and a sha256 of the whole pack that anyone can recompute. Read-only.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "envelope_id": {
      "title": "Envelope Id",
      "type": "string"
    }
  },
  "required": [
    "envelope_id"
  ],
  "title": "envelope_evidenceArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "envelope_evidenceOutput"
}
🟢policy_rules

List the deterministic rules a spend is checked against (E01-E08) with the order they are applied and the meaning of each. Read-only, no state.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "title": "policy_rulesArguments"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "policy_rulesOutput"
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet6 Tools