mcpField
P
pay-mcp

pay-mcp

Local
github.com/pay-skillFinance0Updated 2w ago

About pay-mcp

pay-mcp is an MCP server for AI agents making USDC payments on Base. It combines direct payments, metered tabs, x402 requests, service discovery, and wallet management, with keys stored in the operating system’s credential store.

Key features

  1. 01Send direct USDC payments
  2. 02Make x402-enabled requests
  3. 03Manage prefunded payment tabs
  4. 04Check balance and fund or withdraw
  5. 05Discover paid API services
  6. 06Manage payment event webhooks

Use cases

  1. 01Pay a service provider directly
  2. 02Access an API protected by x402
  3. 03Use metered services through payment tabs
  4. 04Find paid APIs and manage wallet funds

MCP support

It exposes payment, tab, wallet, discovery, and webhook tools to MCP clients, along with wallet and network resources and guided prompts.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"pay-skill-pay": {
"command": "npx",
"args": [
"-y",
"@pay-skill/mcp"
],
"env": {
"PAYSKILL_SIGNER_KEY": "<PAYSKILL_SIGNER_KEY>",
"PAY_NETWORK": "<PAY_NETWORK>"
}
}
}
}
Run commandnpx -y @pay-skill/mcp
Environment variables to set
PAYSKILL_SIGNER_KEYSecretPrivate key hex for importing an existing wallet (optional — generates new wallet if not set)
PAY_NETWORKNetwork to use: mainnet or testnet (default: mainnet)

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@pay-skill/mcp0.2.8

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

@pay-skill/mcp

MCP server for Pay -- the complete x402 payment stack for AI agents. USDC on Base.

Gives any MCP-compatible client (Claude Desktop, Cursor, VS Code, custom frameworks) the full power of Pay: direct payments, tabs, x402 paywalls, service discovery, and wallet management. No CLI binary needed.

Setup

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "pay": {
      "command": "npx",
      "args": ["-y", "@pay-skill/mcp"]
    }
  }
}
VS Code / Cursor

Add to .vscode/mcp.json:

{
  "servers": {
    "pay": {
      "command": "npx",
      "args": ["-y", "@pay-skill/mcp"]
    }
  }
}
Claude Code
claude mcp add pay -- npx -y @pay-skill/mcp

That's it. On first run, the server generates a wallet and stores it in the OS keychain (Windows Hello, macOS Keychain, Linux Secret Service). Subsequent runs load it automatically.

Configuration

Env VarRequiredDefaultDescription
PAYSKILL_SIGNER_KEYNo—Optional override. Raw hex key or .enc keystore password. Not needed for normal use.
PAY_NETWORKNomainnetmainnet (Base) or testnet (Base Sepolia)
Key Resolution (checked in order)
  1. OS keychain (default) — Loads from the OS credential store via keytar. On first run, a new keypair is generated and stored automatically.
  2. Encrypted keystore — If ~/.pay/keys/default.enc exists, PAYSKILL_SIGNER_KEY is used as the decryption password.
  3. Raw hex key — If PAYSKILL_SIGNER_KEY is a 64-char hex string, it's used directly. For dev/testing or importing an existing wallet.
  4. Auto-generate — If none of the above, generates a new keypair and stores it in the OS keychain.

Diagnostic Check

Verify everything is configured correctly:

npx @pay-skill/mcp --check

Output:

pay-mcp diagnostic check
  network: Base (chain 8453)
  api:     https://pay-skill.com/api/v1
  wallet:  0x1234...
  key:     keychain
  server:  OK (router: 0xABCD...)
  auth:    OK (balance: $50.00)

All checks passed. MCP server is ready.

Tools (15)

Payments
ToolDescription
pay_sendDirect USDC payment ($1 min). Confirmation thresholds: <$10 auto, $10-100 plan, >$100 explicit.
pay_requestHTTP request with x402 auto-payment. Handles 402 detection, direct/tab settlement, price skepticism.
Tabs (metered accounts)
ToolDescription
pay_tab_openOpen pre-funded tab ($5 min, $50 recommended). Provider charges per-call.
pay_tab_closeClose tab. Returns distribution breakdown (provider 99%, fee 1%, agent remainder).
pay_tab_chargeCharge against open tab (provider only).
pay_tab_topupAdd funds to open tab (agent only).
pay_tab_listList tabs with idle/low-balance flags.
Wallet
ToolDescription
pay_statusBalance, locked/available funds, actionable suggestions.
pay_fundGenerate 1-hour funding link (Coinbase Onramp or direct USDC).
pay_withdrawGenerate 1-hour withdrawal link.
pay_mintMint testnet USDC (Base Sepolia only).
Discovery & Webhooks
ToolDescription
pay_discoverSearch paid API services by keyword/category.
pay_webhook_registerRegister webhook for payment events (HMAC-signed).
pay_webhook_listList registered webhooks.
pay_webhook_deleteDelete a webhook.

Resources (5)

URIDescription
pay://wallet/statusBalance, tabs, locked/available
pay://wallet/tabsAll open tabs
pay://tab/{tab_id}Single tab detail
pay://wallet/addressWallet address
pay://networkNetwork config + contract addresses

Prompts (3)

PromptDescription
pay-for-serviceGuided: discover service, evaluate pricing, make request
review-tabsReview tabs, flag idle, suggest close/topup
fund-walletGenerate fund link, explain deposit process

Development

git clone https://github.com/pay-skill/pay-mcp.git
cd pay-mcp
npm install
npm run build
npm test                    # unit tests (mocked)
npm run test:acceptance     # testnet (requires PAYSKILL_TESTNET_KEY)

License

MIT

Part of Pay

Pay is the complete x402 payment stack -- gateway, facilitator, SDKs, CLI, and MCP server -- that lets AI agents pay for APIs with USDC on Base.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.