Skip to content
spendctl logo

spendctl MCP server

Which MCP servers are spendctl's own, from the official registry and from asking its own domain, whether they answer, and what they offer. A program checked each of these, nobody copied them from a product page.

read 2026-10-29

← Back to spendctl

Whose server it is
  • Registry namedev.spendctl/spendctlverified in the MCP registry

The registry name sits under spendctl.dev. The registry only lets a publisher use that namespace after proving control of the domain through DNS or HTTP.

When we asked itchecked 2026-10-29
  • Stateanswerschecked 2026-10-29
  • Tools6
  • Server calls itselfspendctl-sandbox
  • Server version0.1.0
  • Protocol version2025-06-18

On 2026-10-29 the server answered initialize and tools/list without a sign-in. First answer in 330 ms.

Should an agent connect itNot proven either way yet
  • Its tools do every use case we checked: Enforce per-request and daily spend budgets on agent API payments; Hold over-budget agent payments for a human to approve.
  • Checked on 4 of the 7 days it takes to judge reliability.

Once connected

  • For "Enforce per-request and daily spend budgets on agent API payments", the likely first call is sandbox_create.
  • For "Hold over-budget agent payments for a human to approve", the likely first call is sandbox_create.
  • Keep approval on for sandbox_pay: they delete, send or pay without saying so.
  • sandbox_create, sandbox_pay change data without a sign-in: anyone with the address can call them.

Said by rules from the measurements above. The likely first call is a model's pick from the tool list; read its description before relying on it.

Measured dailydaily checks: 4, the first on 2026-10-29
  • INITE MCP scoreafter a weeka score needs 7 daily checks: 4 so far
  • What an agent can do with it2 of 2 use cases
  • Answeredmeasuring4 of the 7 daily checks it takes to print a share
  • Median first answer331 ms
  • Space in an agent's context≈ 1,652 tokensthe definitions of all its tools (6), which an agent carries on every turn
  • Tool definitionsA · 100 of 100
  • Typed results0 of 6 toolsdeclared outputSchema: results come typed, read once
  • Every tool passes all six checks.

What an agent can do with it

  • can do · Enforce per-request and daily spend budgets on agent API payments
  • can do · Hold over-budget agent payments for a human to approve
  • not sure · Export payment receipts with transaction hashes for expense reports

Each of the product's use cases, put to Jev against this server's tool list: can an agent do it with these tools?

Worth a look

  • Tools that delete, send or pay, marked as not destructive: sandbox_pay
  • Tools that change data, on a server that answers without a sign-in: sandbox_create, sandbox_pay

A program checks the server once a day: initialize and tools/list, no model. Tokens are the definitions' length at about four characters a token. The grade averages six checks of every tool's name, description, schema and annotations; it says how well the tools are described, not whether they work. The score weighs what was measured and nothing else: answering (25%), doing the product's job (25%), definitions (20%), context (10%), use (10%) and how readily a client connects (10%). A part that was not measured is left out, and a hidden instruction caps the score at 40. The state of vendors' MCP servers: method and numbers →

Tools it offers6 tools · read 2026-10-29
  • sandbox_create

    Creates an isolated spendctl sandbox and returns its sandbox_id. Call it first: every other tool needs the sandbox_id, and one sandbox serves a whole conversation (create another only to try a different preset). The sandbox is a real…

  • sandbox_pay

    Fetches one of the sandbox's paid endpoints (HTTP 402, x402) through the spendctl sidecar, which applies the sandbox agent's budget, allowlist and approval policy, pays with the throwaway wallet if allowed, and returns the response. Use…

  • check_budget

    Shows the sandbox agent's spending limits, what has been spent in each window and what is left. Use it before a paid call when the remaining budget matters, or after a refusal to see which limit was hit. Returns the agent name and mode…

  • list_receipts

    Lists the sandbox agent's most recent payment attempts, newest first: paid (amount and mock transaction hash), refused (reason codes) and waiting for approval. Use it to report what happened so far or to find a receipt id; after a hold…

  • get_policy

    Returns the sandbox's spendctl.yaml as text: the preset name and the agent's budgets, allowed hosts and approval rules. Use it to explain why a payment was refused or held, or to show what a spendctl policy file looks like. Read-only; the…

  • approve

    Approves or denies a payment that sandbox_pay reported as waiting for approval, as the human approver would with `spendctl approve`. Use it only with an approval id from this sandbox; in the real product a human decides, in the sandbox…

How to connect

Add the server to your MCP client config. Claude Desktop, Cursor and most other clients read this shape:

{
  "mcpServers": {
    "spendctl": {
      "type": "http",
      "url": "https://mcp.spendctl.dev/mcp"
    }
  }
}

Add it

Claude Code, in a terminal

claude mcp add --transport http spendctl https://mcp.spendctl.dev/mcp

Add to CursorAdd to VS Code

claude.ai, ChatGPT and other clients: add https://mcp.spendctl.dev/mcp as a custom connector in the settings.

Each line is something a program found when it went looking: the registry entry, the server's own answer, a spec that parses. A missing line means we did not find it, not that it does not exist.