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)
PHANTOM ID MCP payment server: agent-to-agent USDC payments on Base.
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.
PHANTOM_API_URL, PHANTOM_API_KEY, AuthorizationValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"phantom": {
"command": "npx",
"args": [
"-y",
"@phantomid/mcp-server"
],
"env": {
"PHANTOM_API_URL": "your-value",
"PHANTOM_API_KEY": "your-value"
}
}
}
}Run this in your terminal
claude mcp add --transport http phantom https://pay.idphantom.com/mcp --header 'Authorization: Bearer {PHANTOM_API_KEY}'claude mcp add phantom --env PHANTOM_API_URL=your-value --env PHANTOM_API_KEY=your-value -- npx -y @phantomid/mcp-serverFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"phantom": {
"url": "https://pay.idphantom.com/mcp",
"headers": {
"Authorization": "Bearer {PHANTOM_API_KEY}"
}
}
}
}Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"phantom": {
"command": "npx",
"args": [
"-y",
"@phantomid/mcp-server"
],
"env": {
"PHANTOM_API_URL": "your-value",
"PHANTOM_API_KEY": "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.
Paste into .vscode/mcp.json in your project
{
"servers": {
"phantom": {
"type": "http",
"url": "https://pay.idphantom.com/mcp",
"headers": {
"Authorization": "Bearer {PHANTOM_API_KEY}"
}
}
}
}Paste into .vscode/mcp.json in your project
{
"servers": {
"phantom": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@phantomid/mcp-server"
],
"env": {
"PHANTOM_API_URL": "your-value",
"PHANTOM_API_KEY": "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 address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Your choice stays on this device in a cookie; no account needed.
PHANTOM_API_URL envAuthorization HTTP headerThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Tool names and descriptions exactly as the server reported them on Nov 10, 2026. The maker wrote them, not us; we show them as plain text.
phantom_registerOne-line onboarding: creates an IDPHANTOM account for the configured payer wallet, pays the $2 USDC registration with a locally-signed EIP-712 authorization and returns the api_key. Requires PHANTOM_PAYER_PRIVATE_KEY and PHANTOM_ROUTER_ADDRESS in the environment. The api_key is s
phantom_authorize_budgetFunder-signed EIP-712 AgentWalletAuthorization: lets an account spend up to max_units of USDC (6-decimal units, e.g. '1000000' = $1) with an optional daily cap, without giving away the wallet. Requires PHANTOM_FUNDER_PRIVATE_KEY in the environment; the signature is produced local
phantom_bind_identityRegisters an agent_id as a portable identity for this account via POST /v1/identity/bind. The proof-of-possession is an EIP-712 IdentityBinding signature produced LOCALLY with PHANTOM_IDENTITY_PRIVATE_KEY (environment variable only, never a command-line flag — AGP-057); the priva
quote_paymentCreate an IDPHANTOM payment quote with transparent platform fee (0.5%, min $0.01 USDC). Returns a payment intent ready for the payer's EIP-712 signature. Free: quoting never moves funds.
authorize_paymentAttach the payer's EIP-712 PaymentAuthorization signature to a quoted payment intent. The signature is produced locally by the payer's wallet; it authorizes up to maximumTotalAuthorized, expiring at expiresAt. No funds move until submit_payment.
submit_paymentBroadcast an authorized payment intent through IDPHANTOM. The platform relays the on-chain transaction; exactly one broadcast per intent is enforced server-side (retries return the already-submitted transaction hash). This is the step that settles funds.
verify_paymentVerify an IDPHANTOM payment receipt: cryptographic checks (EIP-712 signature, payer recovery), expiry, and the on-chain state of the authorization (free/used/cancelled). Free for receipts of payments the caller participated in; paid via the receipt-verifier for third-party receip
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 10, 2026
The registry name was verified with the GitHub account Arbromagency-Sato, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Responded in 128 ms (HTTP 200)
No sign-in needed
Read 7 tool descriptions and found no hidden instructions to the AI
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 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.
You need to fill in: PHANTOM_API_KEY
Either way works: install it on your computer or connect to the cloud version.
The GitHub repo last changed –, and the latest version (0.3.2) reached the registry yesterday.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
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.
@phantomid/mcp-server exposes IDPHANTOM payments as standard MCP tools so an AI agent can quote, authorize, submit, and verify agent-to-agent payments through IDPHANTOM.
Production defaults to:
https://pay.idphantom.com
npx @phantomid/mcp-server
For MCP clients, configure the server command and environment:
{
"mcpServers": { "phantom-id": { "command": "npx", "args": ["@phantomid/mcp-server"], "env": { "PHANTOM_API_URL": "https://pay.idphantom.com", "PHANTOM_API_KEY": "pk_live_..." } } } }
PHANTOM_API_URL is optional when using production. PHANTOM_API_KEY is required for normal paid API usage after registration.
The MCP tools phantom_register and phantom_authorize_budget read their signing keys only from the environment (never from command-line flags — argv leaks into shell history and process listings):
| Variable | Used by | Purpose |
|---|---|---|
PHANTOM_PAYER_PRIVATE_KEY | phantom_register (auto mode) | Pays the $2 USDC registration; signs locally, never leaves the process. |
PHANTOM_FUNDER_PRIVATE_KEY | phantom_authorize_budget | Human funder's key for the EIP-712 AgentWalletAuthorization. |
PHANTOM_ROUTER_ADDRESS | both | PhantomRouter verifying contract of the EIP-712 domain. |
PHANTOM_FUNNEL_SOURCE | funnel | internal for dogfood/QA traffic (reported separately — wash volume prohibited); default external. |
Without PHANTOM_PAYER_PRIVATE_KEY, phantom_register runs in manual mode: pass payer_wallet and it returns the registration challenge plus step-by-step signing instructions.
The server emits one JSON line per event on stderr, prefixed with [funnel]:
[funnel] {"event":"install","ts":"...","source":"external",...}
Events: install → register_start → register_complete → first_pay → repeat. Scrape these lines to build the onboarding funnel (install → register → first pay → repeat). Traffic tagged PHANTOM_FUNNEL_SOURCE=internal must be aggregated separately from external volume.
Registration is self-serve and costs $2 USDC on Base mainnet. The CLI signs locally and never prints the private key.
export PHANTOM_PAYER_PRIVATE_KEY="0x..."
export PHANTOM_ROUTER_ADDRESS="0x..." npx @phantomid/mcp-server init --name my-agent
The init flow calls:
POST /v1/registerPOST /v1/intents/:id/authorizePOST /v1/intents/:id/submitGET /v1/register/:referencePOST /v1/register/:reference/claimOn success it prints the account id and the API key once. Store the returned key as PHANTOM_API_KEY.
Flags are supported for non-sensitive options. The payer key is environment-only (never a flag — command lines leak into shell history and process listings):
export PHANTOM_PAYER_PRIVATE_KEY="0x..."
npx @phantomid/mcp-server init \ --api-url https://pay.idphantom.com \ --router-address 0x... \ --name my-agent
The server supports newline-delimited JSON-RPC over stdio.
quote_payment{
"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "quote_payment", "arguments": { "payer_wallet": "0x...", "recipient_wallet": "0x...", "asset_contract": "0x...", "amount": "1000000", "chain_id": 8453, "idempotency_key": "quote-001", "payer_agent_id": "buyer-agent", "recipient_agent_id": "seller-agent" } } }
authorize_payment{
"jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": { "name": "authorize_payment", "arguments": { "payment_intent_id": "pi_...", "payer_signature": "0x..." } } }
submit_payment{
"jsonrpc": "2.0", "id": 3, "method": "tools/call", "params": { "name": "submit_payment", "arguments": { "payment_intent_id": "pi_..." } } }
verify_payment{
"jsonrpc": "2.0", "id": 4, "method": "tools/call", "params": { "name": "verify_payment", "arguments": { "payment_intent_id": "pi_...", "receipt_id": "rcpt_..." } } }
Default production policy limits are:
Payments above those limits are rejected by the PHANTOM ID API.
npm publish --access public