npm @arispay/payagent-mcpstdioMITupdated 12d ago
One coherent USDC payment product for AI agents: call x402-paid APIs, with spend mandates, receipts, and idempotency. Works with Claude Desktop, Cursor, Windsurf, or any MCP client. A thin wrapper around the payagent SDK.
What can you do with payagent mcp?
@arispay/payagent-mcp
One coherent USDC payment product for AI agents: call x402-paid APIs, with spend mandates, receipts, and idempotency. Works with Claude Desktop, Cursor, Windsurf, or any MCP client. A thin wrapper around the payagent SDK.
Two ways to hold the wallet:
- Local key (zero signup). Set
PAYAGENT_PRIVATE_KEYto a funded EOA key.paysigns EIP-3009 locally โ no ArisPay account, no email. The only guardrail is the wallet balance; use a dedicated low-balance wallet. - Delegated custody (managed, recommended).
setup({ email })self-provisions an account, a CDP-managed wallet, and a spend mandate in one call. ArisPay enforces per-transaction, daily, and monthly limits server-side before signing; no private key ever lives in this process.
Tools
Seven core tools (the default surface):
| Tool | What it does | Money |
|---|---|---|
setup |
Create or recover an account + payer wallet in one call (delegated mode) | moves none |
discover |
Search the paid-API catalog by intent + budget | read-only |
inspect |
Read a URL's price and payment requirements without paying | read-only |
pay |
The complete machine path: request โ 402 โ select variant โ validate policy โ pay โ structured receipt. Requires an idempotencyKey; a repeated key returns the cached receipt without paying again |
spends real money |
balance |
Active identity, deposit address, on-chain USDC balance, mandate limits | read-only |
history |
Recent payments โ server feed (delegated) or local receipts (self-custody) | read-only |
check_payment_signal |
Buy ArisPay Signal: recent signed probe evidence about an x402 resource (did a real paid probe settle and deliver?). A still-valid cached artifact returns without spending; an unknown resource is answered free | spends 1ยข per uncached call |
Wallet administration (create_agent, fund_agent, list_agents, rename_agent) loads only when the host config sets PAYAGENT_MCP_PROFILE=admin.
Every tool declares MCP safety annotations (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); pay and check_payment_signal are the only destructive tools โ both spend real money.
Support matrix
| Asset | Network | Local key (self-custody) | Delegated (managed mandate) |
|---|---|---|---|
| USDC | Base (default) | โ | โ |
| USDC | Ethereum, Polygon | โ | โ |
| USDC | Base Sepolia (testnet) | โ | โ |
| USDC (SPL) | Solana, Solana devnet | โ (EVM signing only) | โ
(live on api.arispay.app since 2026-08-25) |
| USD1 | BNB Chain | โ | โ |
Notes:
- All prices are quoted by sellers in the 402 challenge;
payprefers an EVM variant and falls back to Solana when the seller offers no EVM option. - Delegated mandates are integer cents, validated server-side before any signature exists. Local mode has no server-side cap.
- Settlement is a single on-chain
transferWithAuthorization(EIP-3009): it succeeds or reverts atomically. When the seller returnsX-PAYMENT-RESPONSE, the receipt carries the settlement transaction hash. - ArisPay's own facilitator (
facilitator.arispay.app) charges no facilitator fee; sellers may use any facilitator, and their fee/finality policy applies.
Setup
Add the server to your MCP client config. No environment variables are required โ pick a wallet mode later, from inside the chat, or set one of the env options below.
Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"arispay": {
"command": "npx",
"args": ["-y", "@arispay/payagent-mcp"]
}
}
}
For the zero-signup mode, add the key to the env block:
"env": { "PAYAGENT_PRIVATE_KEY": "0x..." }
Cursor
Same server block in .cursor/mcp.json. Windsurf: same pattern in ~/.codeium/windsurf/mcp_config.json.
Cold start, from nothing
- Zero signup: generate a key with
npx payagent wallet new, put it in the host config asPAYAGENT_PRIVATE_KEY, send USDC on Base to the printed address.balanceshows the deposit address;paypays. - Managed: ask the agent to run
setup({ email: "you@example.com" })โ it returns the wallet address and mandate. Fund the wallet with USDC, confirm withbalance, thenpay. Credentials persist to~/.payagent/config.jsonand are shared with thepayagentCLI.
Environment variables (all optional)
| Variable | Description |
|---|---|
PAYAGENT_PRIVATE_KEY |
Funded EOA key for local self-custody signing (zero-signup mode). |
ARISPAY_API_KEY |
Developer key โ usually unneeded; setup self-provisions one. |
ARISPAY_URL |
ArisPay API base URL. Default https://api.arispay.app. |
PAYAGENT_MCP_PROFILE |
admin additionally loads the four wallet-administration tools. Default: core (seven tools). |
ARISPAY_AGENT_KEY / PAYAGENT_WALLET |
Legacy single-agent pair for v2.0.x hosts. |
Migrating from v3
v4 is a breaking release: the surface collapsed to one x402/USDC product.
| v3 tool | v4 |
|---|---|
create_user |
setup |
pay_api |
pay (now requires idempotencyKey, returns a structured receipt) |
discover_paid_api |
discover |
inspect_paid_api |
inspect |
check_wallet, get_balance_agent |
balance |
| โ | history (new) |
create_agent, fund_agent, list_agents, rename_agent |
unchanged, behind PAYAGENT_MCP_PROFILE=admin |
create_wallet, list_wallets, fund_wallet, get_balance, pay_merchant, create_enduser, attach_card_for_user, set_user_limits, get_user_status |
removed โ the fiat funding and platform (end-user) surfaces left the public MCP |
Receipts and idempotency
pay requires a caller-chosen idempotencyKey (min 8 chars โ use a UUID). Every completed payment writes a machine-readable receipt (amount, asset, network, wallet, settlement tx, remaining mandate) to ~/.payagent/mcp-receipts.json. Re-calling pay with a key that already paid returns the stored receipt and does not pay again โ including when the paid request failed mid-flight. history lists receipts in self-custody mode; delegated mode reads the authoritative server feed.
How it works
- The agent calls
paywith a URL and anidempotencyKey; the seller answers HTTP 402 with its price. - With
PAYAGENT_PRIVATE_KEYset,payagentsigns the EIP-3009 authorization locally. Otherwise ArisPay validates the request against the agent's mandate and signs via Coinbase CDP. payagentretries with the signed payment header; the seller's facilitator settles USDC on-chain.- The tool returns the paid response plus a structured receipt.
In delegated mode, no private key lives in this process and payments that breach the mandate are rejected before any on-chain action. In local mode, the key is yours and stays in your process.
Install
npm install @arispay/payagent-mcp
Or invoke directly via npx @arispay/payagent-mcp from an MCP client config โ no pre-install required. npx buyforme-mcp is the same server under the consumer brand.
Related
- payagent โ the SDK + CLI for programmatic use
- facilitator.arispay.app โ ArisPay's open x402 facilitator, where paid 402s settle
- x402 protocol โ HTTP 402 payment standard
License
MIT
Install
Add payagent mcp to your client. Pick the one you use.
claude mcp add payagent-mcp -- npx -y @arispay/payagent-mcpcodex mcp add payagent-mcp -- npx -y @arispay/payagent-mcpamp mcp add payagent-mcp -- npx -y @arispay/payagent-mcp{
"mcpServers": {
"payagent-mcp": {
"command": "npx",
"args": [
"-y",
"@arispay/payagent-mcp"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"payagent-mcp": {
"command": "npx",
"args": [
"-y",
"@arispay/payagent-mcp"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"payagent-mcp","command":"npx","args":["-y","@arispay/payagent-mcp"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"payagent-mcp": {
"command": "npx",
"args": [
"-y",
"@arispay/payagent-mcp"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"payagent-mcp": {
"command": "npx",
"args": [
"-y",
"@arispay/payagent-mcp"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"payagent-mcp": {
"command": "npx",
"args": [
"-y",
"@arispay/payagent-mcp"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"payagent-mcp": {
"type": "local",
"command": "npx",
"args": [
"-y",
"@arispay/payagent-mcp"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"payagent-mcp": {
"command": {
"path": "npx",
"args": [
"-y",
"@arispay/payagent-mcp"
]
}
}
}
}Add to your Zed `settings.json`.
npx -y @arispay/payagent-mcpRun `goose configure`, choose **Add Extension โ Command-line Extension**, and paste this command.
1 tool
payagent mcp exposes one tool to a connected agent.
- check_payment_signal
- Buy ArisPay Signal: recent signed probe evidence about an x402 resource (did a real paid probe settle and deliver?). A still-valid cached artifact returns without spending; an unknown resource is answered free
Score
82 / 100
Excellent
- Documentation25/25
- Maintenance25/25
- Trust16/20
- Capability4/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 5 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 1 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint โ no local install
Version history
| Versions | Published |
|---|---|
| 4.1.0Latest | Aug 27, 2026 |
| 4.0.1 | Aug 25, 2026 |
| 4.0.0Latest | Aug 25, 2026 |
| 3.3.1 | Aug 24, 2026 |
| 3.3.0 | Aug 24, 2026 |
| 3.1.2 | Jul 23, 2026 |