Skip to main content
Glama

KARTA — spend control for AI agents

Open a task envelope

open_envelope

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.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "budget_total": "<budget_total>",
      "per_call_max": "<per_call_max>",
      "calls_max": "<calls_max>"
    },
    "name": "open_envelope"
  }
}

Input Schema

NameRequiredDescriptionDefault
allowlistNo
calls_maxYes
ttl_hoursNo
budget_totalYes
per_call_maxYes
allow_new_payeeNo
approval_thresholdNo
allow_subscriptionsNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotation set: it discloses that no funds move and no keys are held, that state lives in this server's local ledger, that the return value is the envelope id, and that there is a concrete rate limit of 30 envelopes/hour per server. Those are exactly the operational facts annotations cannot convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences: capability and fields first, then storage/safety semantics, then the concrete limit. Every clause carries a distinct fact and nothing is restated from the name or annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema covers the return shape and annotations cover the safety profile, so the description only needs to add scope, side effects and limits – which it does. The gap is that two of eight parameters (allow_new_payee, approval_threshold) are never mentioned, leaving an agent to guess their role in policy enforcement.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries weight, and it does name most inputs conceptually (budget total, per-call cap, call count, allowlist, subscriptions, expiry). However it omits allow_new_payee and approval_threshold entirely and gives no format guidance for the string-typed budget fields, so the compensation is partial against eight undocumented parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Create a signed budget envelope for one task') and enumerates the six dimensions the envelope controls (budget, per-call cap, call count, payees, subscription rule, expiry). This clearly separates it from the sibling lifecycle tools get_envelope, kill_envelope, check_spend and policy_rules, which read, terminate, inspect or govern rather than create.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'for one task' implies the intended scope and the creation-versus-inspection split from siblings is inferable, but there is no explicit when-to-use/when-not statement or pointer to policy_rules before opening an envelope. Usage is implied rather than prescribed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.