KARTA — spend control for AI agents
Task envelope, budget ledger, kill switch and signed receipts for agents that pay.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`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"
}커뮤니티
증거