Spree Commerce: open-source B2B and marketplace ecommerce
Open-source B2B and marketplace ecommerce; new stores include an MCP server for AI agents.
Description from the maker (original English)
Read-only x402 payment diagnostics: diagnose, evidence, explain, recover, resolve, status. Zero deps
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
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": {
"callx402": {
"command": "npx",
"args": [
"-y",
"callx402"
]
}
}
}Run this in your terminal
claude mcp add callx402 -- npx -y callx402Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"callx402": {
"command": "npx",
"args": [
"-y",
"callx402"
]
}
}
}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.
Paste into .vscode/mcp.json in your project
{
"servers": {
"callx402": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"callx402"
]
}
}
}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.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
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 9, 2026
The publisher (payload-tools) is not the repo owner (Payloadhq); someone else may have listed it
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 0 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.
The registry does not list a required key, though some servers ask you to sign in on first use.
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).
The GitHub repo last changed –, and the latest version (1.0.5) reached the registry 24 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Spree Commerce: open-source B2B and marketplace ecommerce, Stripe MCP, MCP Cn Commerce
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Open-source B2B and marketplace ecommerce; new stores include an MCP server for AI agents.
Stripe’s official server lets AI view and manage customers, products, payments and invoices. Connect to Stripe’s cloud and sign in with OAuth.
8 read-only MCP platform entries; support is operation-specific; merchant live acceptance pending
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.
Payload — Developer infrastructure for x402, agent payments, and programmable revenue.
PAYLOAD → VEYLINE (flagship) → CALLX402 (action layer) → REVRULE (separate) → developer products → free utilities.
This repo: callx402 by Payload — the universal action layer into Veyline's x402 infrastructure.
Powered by Veyline. When x402 breaks, callx402.
callx402 is the universal action layer into Veyline's x402 infrastructure. Say what you need done in plain language (or hit an HTTP endpoint) and callx402 routes it to the production system that does the real work: diagnose a broken x402 payment, rescue a failed transaction, route an agent job to the cheapest viable path, resolve settlement state from on-chain evidence, or execute under an explicit budget with fail-closed safety rules.
Why it exists: x402 failures are expensive and opaque. A settlement attempt ends in settlement_pending and nobody knows whether the money moved. A 402 response your wallet misreads. A retry that signs a second authorization for the same intent and pays twice. callx402 exists for exactly those moments: diagnose pins the failure to a stage, rescue triages the incident, resolve settles the question from evidence, route finds the cheapest viable path, execute runs under a hard budget.
Try it (two minutes, no setup, no account):
npm install -g callx402
callx402 status callx402 'complete this job for under $1'
status prints an honest per-subsystem reachability report, no credentials needed. The intent line parses and plans your request, then stops before executing anything: with no live tool endpoint wired it reports "no executable route available", so no money moves. (Use single quotes: in double quotes your shell would eat the $1.)
Free read-only checks against the live Payload rail:
curl https://payload-rail.fly.dev/v1/callx402/actions
curl 'https://payload-rail.fly.dev/v1/callx402/quote?action=diagnose'
The first returns the paid action catalog with prices; the second returns a free price quote for one action. Invoking a rail action is paid per action via checkout (see https://payloadhq.github.io/agents.json); these commands never pay anything.
If it saves you one debugging session, star the repo and read on.
This repo ships a zero-dependency, read-only MCP server (mcp/index.js, node stdlib only, stdio transport) exposing six x402_* diagnostic tools. Nothing here charges, executes, retries, or repays.
git clone https://github.com/Payloadhq/callx402
Add this block to your MCP client config (replace the path), then restart the client:
| Client | Config file |
|---|---|
| Claude Desktop | claude_desktop_config.json (~/Library/Application Support/Claude/ on macOS, %APPDATA%\Claude\ on Windows) |
| Cursor | ~/.cursor/mcp.json (user scope) or .cursor/mcp.json (project scope) |
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
{
"mcpServers": { "callx402": { "command": "node", "args": ["/absolute/path/to/callx402/mcp/index.js"] } } }
Ask the client to list its MCP tools: the six x402_* tools should appear. Per-client notes and the raw stdio test handshake: integrations/mcp-clients/.
Note: all six free MCP tools respond on a clean npm install using conservative local, read-only assessment of supplied evidence. Without an authoritative source they do not verify settlement, access a private ledger, or execute recovery. Existing configured local/remote subsystem integrations remain available.
Discovery path: a developer searching for x402 finds callx402, uses it, and learns Veyline. Payload is not affiliated with the x402 Foundation.
Behavioral usage language (not trademark claims):
npm install -g callx402
Or locally in a project: npm install callx402 (the binary is then at node_modules/.bin/callx402).
Fallback, install direct from GitHub:
npm install Payloadhq/callx402
Local development:
git clone https://github.com/Payloadhq/callx402
cd callx402 npm install npm link # exposes the callx402 command
callx402 status
callx402 'complete this job for under $1'
status is the honest starting point: a per-subsystem reachability report. On a bare npm install it reads 0/15 subsystems reachable, which is expected (see step 3). The intent line plans in plain language and stops before execution, so it is always safe to run; use single quotes so your shell does not eat $1.
Free read-only checks against the live Payload rail (no account, no keys):
curl https://payload-rail.fly.dev/v1/callx402/actions
curl 'https://payload-rail.fly.dev/v1/callx402/quote?action=diagnose'
These return the paid action catalog with prices and a free price quote for one action. Invoking a rail action is paid per action via checkout (machine front door: https://payloadhq.github.io/agents.json); nothing here pays anything.
By default every subsystem command routes to the hosted rail — no setup needed. If you prefer to run everything on your own machine, set CALLX402_LOCAL=1 and point CALLX402_V2_ROOT at the v2.0.0 tree (the x402 Paid API Starter Kit, a separate product):
export CALLX402_LOCAL=1
export CALLX402_V2_ROOT=/path/to/x402-paid-api-starter-kit/v2.0.0 callx402 status # now: 15/15 reachable, 0/15 enabled
Without CALLX402_LOCAL=1, these commands use the hosted rail instead — that is the standard path and needs nothing installed beyond the npm package.
(The default is a x402-paid-api-starter-kit/v2.0.0 directory sitting next to your callx402 checkout.)
Subsystems are disabled by default; status names the flag that enables each one. Set a flag, then run its command:
export PAYLOAD_MCP_DOCTOR=1
callx402 diagnose --target 'https://api.example.com/x402/pay'
More examples (each needs its subsystem flag enabled; run callx402 status to see the flag names):
callx402 rescue --incident inc_123
callx402 route --goal 'fetch 100 product prices for under 0.50 USD' callx402 resolve --evidence '{"txHash":"0xabc..."}'
Note the single quotes: the goal text contains $-style amounts that a shell would expand inside double quotes.
Alternative to the local tree: run in remote mode against your own callx402 server (server/index.js):
export CALLX402_MODE=remote
export CALLX402_REMOTE_URL=http://127.0.0.1:8787
const { callx402 } = require('callx402');
const result = await callx402({ intent: 'complete this job for under $1', maxBudget: 1.00, networks: ['base'], assets: ['USDC'], approvalThreshold: 5.00, idempotencyKey: 'job-42', });
import callx402
result = callx402.callx402( intent="complete this job for under $1", max_budget=1.00, networks=["base"], assets=["USDC"], approval_threshold=5.00, idempotency_key="job-42", )
CALLX402_PORT=8787 node server/index.js
curl -X POST http://127.0.0.1:8787/call \ -H 'Content-Type: application/json' \ -d '{"intent":"complete this job for under $1","maxBudget":1.00,"dryRun":true}'
Full HTTP surface: server/openapi.yaml (served live at GET /openapi.json).
| Command | What it does | ||
|---|---|---|---|
callx402 "natural language intent" | Intent mode: parse, plan, budget-check, route, execute | ||
callx402 status [--json] | Subsystem reachability and flag state | ||
callx402 diagnose [--target ...] | Diagnose an x402 / MCP failure | ||
callx402 rescue --incident | Rescue a transaction (auth-gated) | ||
callx402 route --goal | Route a paid job to the cheapest viable path | ||
callx402 resolve --evidence | Resolve settlement state from evidence | ||
callx402 doctor | Run the MCP doctor checks | ||
callx402 execute --intent [--max-budget N] [--dry-run] | Execute under an explicit budget | ||
| `callx402 monitor [--once\ | --watch]` | Watch subsystem/incident state | |
callx402 preflight | Preflight checks before a paid run | ||
callx402 inspect [--query ] | Inspect capability graph / state | ||
callx402 evidence [--dir ] | Show recorded evidence for an operation (read-only) — MCP/rail only in 1.0.1, not a published CLI command | ||
callx402 explain [--dir ] | Plain-language state assessment for an operation (read-only) — MCP/rail only in 1.0.1, not a published CLI command | ||
| `callx402 recover [--identity \ | --evidence ]` | Safe recovery decision: RECOVERABLE / SAFE_RETRY / HUMAN_REVIEW (read-only) — MCP/rail only in 1.0.1, not a published CLI command | |
| `callx402 config list \ | get \ | set ` | Manage local config |
Subsystem commands (diagnose, rescue, route, resolve, doctor, monitor, preflight, inspect) need the v2.0.0 tree plus the matching feature flag (see "Full subsystem commands" above); without them they exit 3 and do nothing. status, intent mode, and config work with zero setup.
callx402 works out of the box. There are two modes:
| Mode | What it is | Cost | Setup | What you get |
|---|---|---|---|---|
| callx402 CLI — Hosted (default) | The npm package as a lightweight client to the hosted Payload Rail | Free quote, then pay per action (e.g. diagnose $0.10, resolve $0.25 on the x402 path) | npm install callx402 — zero setup | diagnose, resolve, recover, preflight, evidence, explain and more, executed server-side: free quote first, payment verified exactly once on-chain, invocation metered and auditable, result returned. |
| callx402 Runtime — Self-hosted (advanced) | CLI + the v2.0.0 runtime tree (CALLX402_LOCAL=1, CALLX402_V2_ROOT set) | Free | Point CALLX402_V2_ROOT at the x402 Paid API Starter Kit v2.0.0 tree + enable feature flags | Full local execution on your machine against evidence you supply. Read-only analysis; never signs, never retries, never moves money. |
A bare npm install callx402 gives you the hosted mode — no separate tree, no config, no keys. The v2 tree is never required for standard use.
Hosted paid actions settle through Payload's signed-redemption flow, not a generic x402 facilitator:
402 challenge: USDC on Base, the amount, and the payTo address.payTo from your own wallet.Only the beginning is shown; read the rest in the repo