KARTA — spend control for AI agents

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

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
71%
이름 품질
90%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~1,078토큰 (도구 정의)
~1.3 KB일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 0.84%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

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

원격 엔드포인트

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

할 수 있는 일

도구 목록

도구 (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.

입력 스키마

{
  "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"
}

출력 스키마

{
  "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.

입력 스키마

{
  "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"
}

출력 스키마

{
  "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.

입력 스키마

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

출력 스키마

{
  "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.

입력 스키마

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

출력 스키마

{
  "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.

입력 스키마

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

출력 스키마

{
  "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.

입력 스키마

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

출력 스키마

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

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 6개