Open-source B2B and marketplace ecommerce; new stores include an MCP server for AI agents.
PipRail
Overview
Description from the maker (original English)
Budget-bound x402 payment wallet for AI agents — pays HTTP 402 URLs, capped locally. No backend.
PopNx MCP’s three pillars
These three are never merged into one score: opinions, measurements and popularity are different things.
- User voiceiNo reviews yetReviews open together with accounts in a later step
- Our basic checksi1 of 1 passedChecked from public information; code not scanned yet
- UsageiNot measured yet★ –
What you can do with it
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
- Connection: Runs on your computer
- Transport: stdio
- Category: Online shops & payments
- You need to fill in: PIPRAIL_PRIVATE_KEY
Install
Pick the AI app you use, then copy the settings.
Before you install
- Basic checks: 1 of 1 passed
- Runs on your computer with your user’s permissions (files, network, apps).
- You fill in yourself:
PIPRAIL_PRIVATE_KEY,PIPRAIL_CHAIN,PIPRAIL_CHAINS,PIPRAIL_MAX_AMOUNT,PIPRAIL_MAX_TOTAL,PIPRAIL_MAX_TOTAL_DENOM,PIPRAIL_MAX_PAYMENTS,PIPRAIL_MAX_PAYMENTS_PER_WINDOW,PIPRAIL_WARN_AT_FRACTION,PIPRAIL_SPEND_LOG,PIPRAIL_EVENT_LOG,PIPRAIL_TOKENS,PIPRAIL_SCHEMES
Values marked secret are keys to your account. Never share them or paste them into a chat.
You need
- npmNode.js installed (for the npx command)
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"piprail": {
"command": "npx",
"args": [
"-y",
"@piprail/mcp"
],
"env": {
"PIPRAIL_PRIVATE_KEY": "your-value",
"PIPRAIL_CHAIN": "your-value",
"PIPRAIL_CHAINS": "your-value",
"PIPRAIL_MAX_AMOUNT": "your-value",
"PIPRAIL_MAX_TOTAL": "your-value",
"PIPRAIL_MAX_TOTAL_DENOM": "your-value",
"PIPRAIL_MAX_PAYMENTS": "your-value",
"PIPRAIL_MAX_PAYMENTS_PER_WINDOW": "your-value",
"PIPRAIL_WARN_AT_FRACTION": "your-value",
"PIPRAIL_SPEND_LOG": "your-value",
"PIPRAIL_EVENT_LOG": "your-value",
"PIPRAIL_TOKENS": "your-value",
"PIPRAIL_SCHEMES": "your-value"
}
}
}
}Run this in your terminal
claude mcp add piprail --env PIPRAIL_PRIVATE_KEY=your-value --env PIPRAIL_CHAIN=your-value --env PIPRAIL_CHAINS=your-value --env PIPRAIL_MAX_AMOUNT=your-value --env PIPRAIL_MAX_TOTAL=your-value --env PIPRAIL_MAX_TOTAL_DENOM=your-value --env PIPRAIL_MAX_PAYMENTS=your-value --env PIPRAIL_MAX_PAYMENTS_PER_WINDOW=your-value --env PIPRAIL_WARN_AT_FRACTION=your-value --env PIPRAIL_SPEND_LOG=your-value --env PIPRAIL_EVENT_LOG=your-value --env PIPRAIL_TOKENS=your-value --env PIPRAIL_SCHEMES=your-value -- npx -y @piprail/mcpFill in the empty values before running it.
Or copy the settings yourself
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"piprail": {
"command": "npx",
"args": [
"-y",
"@piprail/mcp"
],
"env": {
"PIPRAIL_PRIVATE_KEY": "your-value",
"PIPRAIL_CHAIN": "your-value",
"PIPRAIL_CHAINS": "your-value",
"PIPRAIL_MAX_AMOUNT": "your-value",
"PIPRAIL_MAX_TOTAL": "your-value",
"PIPRAIL_MAX_TOTAL_DENOM": "your-value",
"PIPRAIL_MAX_PAYMENTS": "your-value",
"PIPRAIL_MAX_PAYMENTS_PER_WINDOW": "your-value",
"PIPRAIL_WARN_AT_FRACTION": "your-value",
"PIPRAIL_SPEND_LOG": "your-value",
"PIPRAIL_EVENT_LOG": "your-value",
"PIPRAIL_TOKENS": "your-value",
"PIPRAIL_SCHEMES": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Or copy the settings yourself
Paste into .vscode/mcp.json in your project
{
"servers": {
"piprail": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@piprail/mcp"
],
"env": {
"PIPRAIL_PRIVATE_KEY": "your-value",
"PIPRAIL_CHAIN": "your-value",
"PIPRAIL_CHAINS": "your-value",
"PIPRAIL_MAX_AMOUNT": "your-value",
"PIPRAIL_MAX_TOTAL": "your-value",
"PIPRAIL_MAX_TOTAL_DENOM": "your-value",
"PIPRAIL_MAX_PAYMENTS": "your-value",
"PIPRAIL_MAX_PAYMENTS_PER_WINDOW": "your-value",
"PIPRAIL_WARN_AT_FRACTION": "your-value",
"PIPRAIL_SPEND_LOG": "your-value",
"PIPRAIL_EVENT_LOG": "your-value",
"PIPRAIL_TOKENS": "your-value",
"PIPRAIL_SCHEMES": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
Values you fill in
- 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 ca…
PIPRAIL_CHAINenvChain to pay on (default: base).PIPRAIL_CHAINSenvPay across several chains (instead of PIPRAIL_CHAIN): a comma-separated list, e.g. base,polygon,solana. Give each its own PIPRAIL_ _KEY (+ optional PIPRAIL_ _RPC_URL). The agent pays whichever chain…PIPRAIL_MAX_AMOUNTenvMax spend per single payment, in token units (default: 0.10).PIPRAIL_MAX_TOTALenvLifetime spend cap per token, in token units (default: 10.00).PIPRAIL_MAX_TOTAL_DENOMenvCross-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 a…PIPRAIL_MAX_PAYMENTSenvLifetime cap on the NUMBER of payments, across every chain + token (e.g. 100).PIPRAIL_MAX_PAYMENTS_PER_WINDOWenvCap on the number of payments within PIPRAIL_WINDOW_SECONDS (a rolling rate limit; set PIPRAIL_WINDOW_SECONDS too).PIPRAIL_WARN_AT_FRACTIONenvEmit an early-warning event when spend crosses this fraction of any cap, e.g. 0.8 (80%). Needs PIPRAIL_EVENT_LOG to be visible.PIPRAIL_SPEND_LOGenvPath 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.PIPRAIL_EVENT_LOGenvMirror payment events (settled / declined / budget-threshold) as one-line JSON to 'stderr' or a file path — the operator's notification stream. Default: off.PIPRAIL_TOKENSenvComma-separated allowed token symbols, plus the alias 'native' for the chain's coin (default: USDC).PIPRAIL_SCHEMESenvComma-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 a…
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
What it can do
Runs on your computer; the tool list appears in your AI app after you install it.
Basic checksi
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
- ✓ Pass
Maker matches the repo
The registry name was verified with the GitHub account piprail, which owns the repo
- … Not checked yet
Still maintained
We have not read this repo from GitHub yet
- … Not checked yet
Has a licence
We have not read this repo from GitHub yet
- – Not applicable
Endpoint responds
This one runs on your computer; there is no internet endpoint
- – Not applicable
Sign-in with OAuth
Runs on your computer and uses local settings instead
- … Not checked yet
No hidden instructions in tool descriptions
Runs on your computer; we can only read tool lists from internet endpoints
Compared with others in Online shops & paymentsi
- More stars than 0% of the other 1751 servers in this category
- Published to the registry more recently than 37% of the other 1751 servers in this category
- Basic checks equal to or better than 100% of the other 1751 servers in this category
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
Common questions
Is PipRail safe?
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
What keys or codes does it need?
You need to fill in: PIPRAIL_PRIVATE_KEY
Does it run on my computer or in the cloud?
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
Is it still maintained?
The GitHub repo last changed –, and the latest version (0.10.0) reached the registry 2 months ago.
Which apps can use it?
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
What can I use instead?
In the same category: Spree Commerce: open-source B2B and marketplace ecommerce, Stripe MCP, MCP Cn Commerce
Alternatives
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Stripe MCP
Stripe’s official server lets AI view and manage customers, products, payments and invoices. Connect to Stripe’s cloud and sign in with OAuth.
MCP Cn Commerce
8 read-only MCP platform entries; support is operation-specific; merchant live acceptance pending
README from the maker
Open the README
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
@piprail/mcp
Hand any AI agent a budget-bound payment wallet. An MCP server wrapping @piprail/sdk so any MCP client — Claude Desktop, Cursor, Claude Code, Windsurf, VS Code, Cline, OpenClaw, Hermes — can pay x402 URLs on its own, capped by a spend policy the model cannot exceed. Runs locally with your wallet and your limits — no backend, no custody, no facilitator.
npx -y @piprail/mcp # speaks MCP over stdio
### 📖 Full documentation → [docs.piprail.com/mcp](https://docs.piprail.com/mcp/overview/)
The docs are the single source of truth — every client's config, the complete env-var reference, the modes, per-chain setup, and the tools reference. This README is just the front door.
Add it to your client
Two things: your wallet private key and (optionally) a budget. The defaults are deliberately small and safe (0.10 per payment, 10.00 lifetime per token, USDC on Base).
{ "mcpServers": { "piprail": {
"command": "npx", "args": ["-y", "@piprail/mcp"], "env": { "PIPRAIL_PRIVATE_KEY": "0xYOUR_KEY", "PIPRAIL_CHAIN": "base", "PIPRAIL_MAX_AMOUNT": "0.10" } } } }
Restart the client and the PipRail tools appear (VS Code uses servers, not mcpServers). Never commit your key — keep it in the client's env block. → Per-client setup · Configuration
8 tools — piprail_discover · piprail_quote_payment · piprail_plan_payment · piprail_pay_request · piprail_register · piprail_budget · piprail_guide · piprail_verify_receipt. Only piprail_pay_request moves money; piprail_register writes a listing to an external index; the other six are read-only. → Tools reference
14 tools in sovereign mode. PIPRAIL_MODE=sovereign appends the swap tools, the seller tools (piprail_sell · piprail_collect · piprail_earnings) and piprail_wallet (what it holds, and the address it gets paid at), so the agent owns both halves of its wallet: it can be paid, not only pay. It appends rather than replaces, so the default above is untouched. → Modes
No key? It still runs. Without PIPRAIL_PRIVATE_KEY the server boots in read-only mode — discover, quote, register, budget, and guide all work; only piprail_pay_request (and piprail_plan_payment) ask for a wallet. Add a key when you're ready to actually pay.
Pay across chains? List several chains and give each its own key — the tools then pay whichever chain a 402 asks for (one server, one budget):
"env": {
"PIPRAIL_CHAINS": "base,polygon,solana", "PIPRAIL_BASE_KEY": "0x…", "PIPRAIL_POLYGON_KEY": "0x…", "PIPRAIL_SOLANA_KEY": " ", "PIPRAIL_MAX_AMOUNT": "1.00" }
One EVM key works on every EVM chain; non-EVM families each need their own key (and that family's peer libs). A chain with no key is read-only. → Configuration
Listed in the official MCP registry as io.github.piprail/mcp.
What it will not do by default
There is no swap tool in the default set, and that is deliberate: the spend policy does not govern swaps. Every budget cap here governs *paying a merchant*, while a swap moves your own funds between denominations, so an agent able to swap could drain a wallet through fees and slippage without tripping a single budget check.
That is a reason to bound the capability, not to pretend it does not exist. PIPRAIL_MODE=sovereign unlocks it for an operator who says the agent owns this wallet, and requires PIPRAIL_MAX_PER_SWAP before the server will start, because the payment caps cannot bound a swap. A model can never set its own mode.
Sovereign also unlocks selling, which needs no ceiling: it takes money rather than spending it, and the receiving side holds no private key at all.
Documentation
| [Overview](https://docs.piprail.com/mcp/overview/) · [Getting started](https://docs.piprail.com/mcp/getting-started/) | What it is · first run |
| [Client setup](https://docs.piprail.com/mcp/client-setup/) · [Configuration](https://docs.piprail.com/mcp/configuration/) | Per-client config · every env var |
| [Tools](https://docs.piprail.com/mcp/tools/) · [Modes](https://docs.piprail.com/mcp/modes/) | The 8 default tools (14 in sovereign) · headless vs supervised |
| [Security](https://docs.piprail.com/mcp/security/) · [Chains](https://docs.piprail.com/mcp/chains/) | Why it's safe · per-chain setup |
| [Use as a library](https://docs.piprail.com/mcp/use-as-a-library/) · [FAQ](https://docs.piprail.com/mcp/faq/) | Embed it · common questions |
Spread the word
Free, open-source, self-custodial — no backend to sell you. If PipRail gave your agent a wallet it can trust, help others find it:
⭐ [Star on GitHub](https://github.com/piprail/piprail) · 𝕏 [Follow @piprailhq](https://x.com/piprailhq) · 🌐 [piprail.com](https://piprail.com) · 📖 [docs.piprail.com](https://docs.piprail.com)
Docs · PipRail · @piprail/sdk · x402 · Model Context Protocol
MIT · no backend, no fee, ever.