Budgets, payee allowlists, price-spike checks and human approval for agents paying x402 paywalls
Connect Runs on your machine
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]
{
"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>"
}
}
}
}
{
"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>"
}
}
}
}
{
"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
| Name | Description |
|---|---|
SPEND_GUARD_POLICYOptional | Policy JSON file: networks, budgets, approval amount, spike ratio, known services and their payees. Without one, every payment waits for your approval. |
SPEND_GUARD_RAILSOptional | 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_LEDGEROptional | 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_PORTOptional | 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_TIMEOUTOptional | Seconds a payment waits for your answer before it is declined. Raise it together with your client's tool timeout. |
SPEND_GUARD_MOCK_NETWORKOptional | Network the mock rail pretends to pay on. |
ARC_PRIVATE_KEYOptional, secret | Agent key for the arc and gateway rails. Testnet keys only. |
NEAR_ACCOUNT_IDOptional | Agent account for the near rail (testnet). |
NEAR_PRIVATE_KEYOptional, secret | Agent key for the near rail. Testnet keys only. |
Details
| Package | @vulinh1704/[email protected] (NPM, stdio) |
| First published | 31 Oct 2026 |
| Last updated | 31 Oct 2026 |
| Registry name | io.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.
