NestDaddy

Spend Guard

io.github.vulinh1704/spend-guard ยท v0.2.0

Budgets, payee allowlists, price-spike checks and human approval for agents paying x402 paywalls

Connect Runs on your machine

Terminal
claude mcp add spend-guard -e SPEND_GUARD_POLICY=<SPEND_GUARD_POLICY> -e SPEND_GUARD_RAILS=<SPEND_GUARD_RAILS> -e SPEND_GUARD_LEDGER=<SPEND_GUARD_LEDGER> -e SPEND_GUARD_DASHBOARD_PORT=<SPEND_GUARD_DASHBOARD_PORT> -e SPEND_GUARD_APPROVAL_TIMEOUT=<SPEND_GUARD_APPROVAL_TIMEOUT> -e SPEND_GUARD_MOCK_NETWORK=<SPEND_GUARD_MOCK_NETWORK> -e ARC_PRIVATE_KEY=<ARC_PRIVATE_KEY> -e NEAR_ACCOUNT_ID=<NEAR_ACCOUNT_ID> -e NEAR_PRIVATE_KEY=<NEAR_PRIVATE_KEY> -- npx -y @vulinh1704/[email protected]
claude_desktop_config.json
{
  "mcpServers": {
    "spend-guard": {
      "command": "npx",
      "args": [
        "-y",
        "@vulinh1704/[email protected]"
      ],
      "env": {
        "SPEND_GUARD_POLICY": "<SPEND_GUARD_POLICY>",
        "SPEND_GUARD_RAILS": "<SPEND_GUARD_RAILS>",
        "SPEND_GUARD_LEDGER": "<SPEND_GUARD_LEDGER>",
        "SPEND_GUARD_DASHBOARD_PORT": "<SPEND_GUARD_DASHBOARD_PORT>",
        "SPEND_GUARD_APPROVAL_TIMEOUT": "<SPEND_GUARD_APPROVAL_TIMEOUT>",
        "SPEND_GUARD_MOCK_NETWORK": "<SPEND_GUARD_MOCK_NETWORK>",
        "ARC_PRIVATE_KEY": "<ARC_PRIVATE_KEY>",
        "NEAR_ACCOUNT_ID": "<NEAR_ACCOUNT_ID>",
        "NEAR_PRIVATE_KEY": "<NEAR_PRIVATE_KEY>"
      }
    }
  }
}
~/.cursor/mcp.json
{
  "mcpServers": {
    "spend-guard": {
      "command": "npx",
      "args": [
        "-y",
        "@vulinh1704/[email protected]"
      ],
      "env": {
        "SPEND_GUARD_POLICY": "<SPEND_GUARD_POLICY>",
        "SPEND_GUARD_RAILS": "<SPEND_GUARD_RAILS>",
        "SPEND_GUARD_LEDGER": "<SPEND_GUARD_LEDGER>",
        "SPEND_GUARD_DASHBOARD_PORT": "<SPEND_GUARD_DASHBOARD_PORT>",
        "SPEND_GUARD_APPROVAL_TIMEOUT": "<SPEND_GUARD_APPROVAL_TIMEOUT>",
        "SPEND_GUARD_MOCK_NETWORK": "<SPEND_GUARD_MOCK_NETWORK>",
        "ARC_PRIVATE_KEY": "<ARC_PRIVATE_KEY>",
        "NEAR_ACCOUNT_ID": "<NEAR_ACCOUNT_ID>",
        "NEAR_PRIVATE_KEY": "<NEAR_PRIVATE_KEY>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "spend-guard": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@vulinh1704/[email protected]"
      ],
      "env": {
        "SPEND_GUARD_POLICY": "<SPEND_GUARD_POLICY>",
        "SPEND_GUARD_RAILS": "<SPEND_GUARD_RAILS>",
        "SPEND_GUARD_LEDGER": "<SPEND_GUARD_LEDGER>",
        "SPEND_GUARD_DASHBOARD_PORT": "<SPEND_GUARD_DASHBOARD_PORT>",
        "SPEND_GUARD_APPROVAL_TIMEOUT": "<SPEND_GUARD_APPROVAL_TIMEOUT>",
        "SPEND_GUARD_MOCK_NETWORK": "<SPEND_GUARD_MOCK_NETWORK>",
        "ARC_PRIVATE_KEY": "<ARC_PRIVATE_KEY>",
        "NEAR_ACCOUNT_ID": "<NEAR_ACCOUNT_ID>",
        "NEAR_PRIVATE_KEY": "<NEAR_PRIVATE_KEY>"
      }
    }
  }
}

Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.

Tools

This server runs locally, so its tools are listed by your MCP client once it starts.

Environment variables

NameDescription
SPEND_GUARD_POLICY
Optional
Policy JSON file: networks, budgets, approval amount, spike ratio, known services and their payees. Without one, every payment waits for your approval.
SPEND_GUARD_RAILS
Optional
How to pay: mock (pays nothing), near, arc, gateway, or a comma list. arc and gateway need ARC_PRIVATE_KEY, near needs NEAR_ACCOUNT_ID and NEAR_PRIVATE_KEY.
SPEND_GUARD_LEDGER
Optional
Decisions file, read back on start so a restart keeps today's spend; servers on one file share one budget. Default ~/.spend-guard/ledger.jsonl; off keeps it in memory.
SPEND_GUARD_DASHBOARD_PORT
Optional
Port of the approval dashboard on 127.0.0.1. 0 picks a free one; off means no dashboard, and payments that need approval are declined.
SPEND_GUARD_APPROVAL_TIMEOUT
Optional
Seconds a payment waits for your answer before it is declined. Raise it together with your client's tool timeout.
SPEND_GUARD_MOCK_NETWORK
Optional
Network the mock rail pretends to pay on.
ARC_PRIVATE_KEY
Optional, secret
Agent key for the arc and gateway rails. Testnet keys only.
NEAR_ACCOUNT_ID
Optional
Agent account for the near rail (testnet).
NEAR_PRIVATE_KEY
Optional, secret
Agent key for the near rail. Testnet keys only.

Details

Package@vulinh1704/[email protected] (NPM, stdio)
First published31 Oct 2026
Last updated31 Oct 2026
Registry nameio.github.vulinh1704/spend-guard

More ai and media servers See all

Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.