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
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
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-httpWas es kann
Tool-Inventar
Tools (6)
🟢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
Nachweis