MCPLow riskUnclaimed
PipRail
Budget-bound x402 payment wallet for AI agents — pays HTTP 402 URLs, capped locally. No backend.
piprailpiprail/mcp
server.json
{
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"name": "io.github.piprail/mcp",
"description": "Budget-bound x402 payment wallet for AI agents — pays HTTP 402 URLs, capped locally. No backend.",
"title": "PipRail",
"repository": {
"url": "https://github.com/piprail/piprail",
"source": "github",
"subfolder": "mcp"
},
"version": "0.10.0",
"websiteUrl": "https://piprail.com/mcp",
"packages": [
{
"registryType": "npm",
"identifier": "@piprail/mcp",
"version": "0.10.0",
"transport": {
"type": "stdio"
},
"environmentVariables": [
{
"description": "Your wallet's private key/seed for the chosen chain. Optional: omit it to run read-only (discover/quote/register/budget/guide); set it to let the agent pay. Stays on your machine; the spend policy caps every payment.",
"format": "string",
"isSecret": true,
"name": "PIPRAIL_PRIVATE_KEY"
},
{
"description": "Chain to pay on (default: base).",
"format": "string",
"name": "PIPRAIL_CHAIN"
},
{
"description": "Pay across several chains (instead of PIPRAIL_CHAIN): a comma-separated list, e.g. base,polygon,solana. Give each its own PIPRAIL_<CHAIN>_KEY (+ optional PIPRAIL_<CHAIN>_RPC_URL). The agent pays whichever chain a 402 asks for — the first listed that can settle — under one shared budget.",
"format": "string",
"name": "PIPRAIL_CHAINS"
},
{
"description": "Max spend per single payment, in token units (default: 0.10).",
"format": "string",
"name": "PIPRAIL_MAX_AMOUNT"
},
{
"description": "Lifetime spend cap per token, in token units (default: 10.00).",
"format": "string",
"name": "PIPRAIL_MAX_TOTAL"
},
{
"description": "Cross-token GRAND TOTAL: one spend cap per denomination across every stablecoin and chain, e.g. USD:20.00,EUR:5.00. Not a price oracle — sums tokens of the same unit, each counted 1:1. Native coins are excluded.",
"format": "string",
"name": "PIPRAIL_MAX_TOTAL_DENOM"
},
{
"description": "Lifetime cap on the NUMBER of payments, across every chain + token (e.g. 100).",
"format": "string",
"name": "PIPRAIL_MAX_PAYMENTS"
},
{
"description": "Cap on the number of payments within PIPRAIL_WINDOW_SECONDS (a rolling rate limit; set PIPRAIL_WINDOW_SECONDS too).",
"format": "string",
"name": "PIPRAIL_MAX_PAYMENTS_PER_WINDOW"
},
{
"description": "Emit an early-warning event when spend crosses this fraction of any cap, e.g. 0.8 (80%). Needs PIPRAIL_EVENT_LOG to be visible.",
"format": "string",
"name": "PIPRAIL_WARN_AT_FRACTION"
},
{
"description": "Path to a local append-only spend log. When set, the budget (lifetime, grand total, counts) SURVIVES a restart — hydrated from this file. No backend; you own the file.",
"format": "string",
"name": "PIPRAIL_SPEND_LOG"
},
{
"description": "Mirror payment events (settled / declined / budget-threshold) as one-line JSON to 'stderr' or a file path — the operator's notification stream. Default: off.",
"format": "string",
"name": "PIPRAIL_EVENT_LOG"
},
{
"description": "Comma-separated allowed token symbols, plus the alias 'native' for the chain's coin (default: USDC).",
"format": "string",
"name": "PIPRAIL_TOKENS"
},
{
"description": "Comma-separated payment schemes to settle (default: onchain-proof). Add 'exact' (onchain-proof,exact) to also pay standard x402 servers GASLESS on EVM + Solana (method auto-selected). Add 'upto' to also pay metered x402 servers on EVM (Permit2): sign a MAX, the server settles the actual <= max.",
"format": "string",
"name": "PIPRAIL_SCHEMES"
}
]
}
]
}Permissions
DeclaredDetected
Runs code—
nodeInstalls—
npm:@piprail/mcp@0.10.0Runs install scripts—None
NetworkNoneNone
Needs credentials
PIPRAIL_PRIVATE_KEYPIPRAIL_PRIVATE_KEYOutside the workspace—None
Agent tools—None
Checks
Low risk · Nothing worth a warning was found.
Not reviewed by a person · Checked by rules; the model review is not switched on yet.
Versions
- #10.10.0latestOct 7, 2026
PipRailOpen in Codeg