Skip to main content
Glama
Spraay x402 MCP Server

Spraay x402 MCP Server

by plagtech

💧 Spraay x402 MCP Server

Version Tools License: MIT

Full-stack DeFi infrastructure for AI agents — 183 pay-per-call tools, backed by the 192-endpoint Spraay x402 Gateway on Base, with Solana, Ethereum, XRP, and Stellar payment rails.

Connect Claude, Cursor, or any MCP client to onchain payments, batch payouts, swaps, bridging, payroll, invoicing, escrow, oracle data, analytics, 200+ AI models, GPU/compute, research APIs, search/RAG, and more. Agents pay USDC per request via the x402 protocol — no API keys, no accounts.

The tool list is generated from the live gateway manifest at build time (npm run sync), so the authoritative catalog and pricing always live at the gateway — see Tool catalog. 24 of the gateway's endpoints are free (no payment required).


Quick Start

Install and go — no config, no API keys, no env vars. On first run the server auto-creates a wallet, saves it to ~/.spraay/.session, and prints the address to stderr. Fund that address with USDC on Base and start calling tools.

Read Security & Wallet Safety — these tools move real funds.

One-line install (Claude Code)

claude mcp add spraay -s user -- npx -y spraay-x402-mcp

Manual config (Cursor / Claude Desktop)

Cursor (.cursor/mcp.json) or Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "spraay": {
      "command": "npx",
      "args": ["-y", "spraay-x402-mcp"]
    }
  }
}

That's it. The first run prints something like:

💧 Spraay created a new wallet: 0xABC…123
   Private key saved to ~/.spraay/.session (keep it safe — it controls funds).
   Fund this address with USDC on Base to start paying for tool calls.

Optional — bring your own wallet

To sign with a key you already control instead of the auto-created one, set EVM_PRIVATE_KEY in your environment (it overrides the session wallet). Never paste a raw key into a committed config file — use a dedicated hot wallet funded only with what the agent may spend. See Security & Wallet Safety.

Remote URL (no wallet on your machine)

Settlement is handled gateway-side; your client never holds a signing key.

{
  "mcpServers": {
    "spraay": {
      "url": "https://spraay-x402-mcp--plagtech.run.tools"
    }
  }
}

Smithery

smithery mcp add Plagtech/Spraay-x402-mcp

From source

git clone https://github.com/plagtech/spraay-x402-mcp
cd spraay-x402-mcp
npm install
npm run build
npm start                     # auto-creates a wallet on first run

Related MCP server: deriveai

Tool catalog

183 tools spanning the gateway's 33 categories. Highlights by area:

Area

What it covers

AI & Inference

200+ LLMs (OpenAI-compatible), wallet/tx classification, contract explanation, summaries

Compute

Text / image / video / TTS / STT / embeddings across Replicate, Chutes, OpenRouter; batch jobs

Compute Futures

Prepaid compute credits with tier discounts; draw down per inference

Bittensor

Decentralized inference, image gen, and embeddings via SN64 / SN19

Payments

Batch payouts up to 200 recipients (Base, XRP Ledger, Stellar); estimates

Payroll

Stablecoin payroll runs across Base, Ethereum, Solana

Invoicing & Escrow

Crypto-native invoices and milestone escrow (persistent)

DeFi & Data

Swaps (Uniswap V3 / Aerodrome), oracle prices/gas/FX, bridge quotes, balances, ENS/Basename

Analytics

Wallet profiles and decoded transaction history

Research

250M+ papers (OpenAlex), arXiv, Crossref, PubMed, PubChem, US Census, dictionary

Search & RAG

Web search, content extraction, question answering

Communication

Email, SMS, XMTP messaging, webhooks

Infrastructure

Multi-chain RPC, IPFS/Arweave storage, cron scheduling, structured logs

Identity & Compliance

KYC/sanctions screening, auth sessions, audit trail, crypto tax (FIFO, IRS 8949)

Supply Chain (SCTP)

Supplier registration, purchase orders, invoice verification, settlement

Robotics (RTP)

Register robots, dispatch paid tasks, escrow-backed completion

Trust & Safety

ProofLayer trust scores; free token-safety, address-safety, and tx-decode checks

24 free endpoints require no payment — gas/prices/chain-status, address & batch validation, ENS resolution, unit conversion, x402 discovery probes, and model/compute discovery.

For the exact, current tool list and per-tool pricing, query the live manifest:

curl https://gateway.spraay.app/.well-known/x402.json

Pricing ranges from $0.001 (reads) to ~$0.10 (payroll, escrow release, tax), settled in USDC on Base.


How it works

  1. An agent calls a tool (e.g. spraay_batch_execute).

  2. The MCP server hits the Spraay x402 Gateway.

  3. The gateway responds 402 Payment Required with a USDC amount.

  4. Remote mode: settlement is handled gateway-side. Local mode: @x402/axios signs a USDC micropayment from the auto-created (or overridden) wallet.

  5. The gateway validates payment and returns the data.


Security & Wallet Safety

These tools can initiate real USDC payments. Treat the server like any tool with funds access.

  • The auto-created wallet only holds what you send it. Fund it with only as much USDC as you're willing to let the agent spend. It starts empty, so a fresh install cannot move funds until you fund it; read-only tools work regardless.

  • The session key lives at ~/.spraay/.session. Protect that file like any secret — anyone who reads it controls the wallet. It's written with 0600 permissions on POSIX systems. Back it up if the funds matter; delete it to rotate to a new wallet on the next run.

  • Prefer the remote URL if you'd rather keep no signing key on your machine — settlement is handled gateway-side.

  • If you bring your own key via EVM_PRIVATE_KEY, use a dedicated hot wallet that controls no other assets, and never put a raw private key in a config file, issue, or any committed file — keep it in your shell environment only.

The published npm package ships only dist/, README, and LICENSE (verify with npm pack --dry-run) — no binaries, no build tooling, no install scripts.

Report security issues to security@spraay.app, not a public issue.


Requirements

  • Node.js 20+

  • MCP client — Claude Desktop, Cursor, or any MCP-compatible client

  • USDC on Base — fund the auto-created wallet (or your own); even $1 covers thousands of calls

Environment variables

None are required — the server runs with zero configuration. All of the following are optional overrides.

Variable

Required

Default

Description

EVM_PRIVATE_KEY

No

auto-created at ~/.spraay/.session

Override the auto-created wallet with your own key. Use a dedicated, funded-as-needed hot wallet.

SPRAAY_GATEWAY_URL

No

https://gateway.spraay.app

Override the gateway URL.


License

MIT

Available Tools

162 tools
spraay_agent_wallet_infoC
Read-only

Agent wallet info. Costs $0.005 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

Inputs: address (required). Returns: ok, data, error

spraay_agent_wallet_predictA
Read-only

Predict wallet address. Costs $0.001 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

Inputs: agentId (required), ownerAddress (required). Returns: ok, data, error

spraay_agent_wallet_provisionB

Provision agent wallet. Costs $0.05 USDC per call. Provide the listed fields as typed arguments.

Inputs: agentId (required), mode, agentType. Returns: ok, data, error

spraay_agent_wallet_revoke_keyC

Revoke session key. Costs $0.02 USDC per call. Provide the listed fields as typed arguments.

Inputs: walletAddress (required), sessionKeyAddress (required). Returns: ok, data, error

spraay_agent_wallet_session_keyB

Add session key. Costs $0.02 USDC per call. Provide the listed fields as typed arguments.

Inputs: durationHours (required), spendLimitEth (required), walletAddress (required), sessionKeyAddress (required). Returns: ok, data, error

spraay_analytics_txhistoryA
Read-only

Get decoded transaction history for any address on Base. Returns transaction types, values, timestamps, and decoded method calls. Costs $0.003 USDC.

Inputs: address (required), limit. Returns: ok, data, error

spraay_analytics_walletA
Read-only

Get a comprehensive wallet profile including ETH + token balances, wallet age, entity classification, and portfolio breakdown on Base. Costs $0.005 USDC.

Inputs: address (required). Returns: ok, data, error

spraay_audit_logA

Record an immutable audit trail entry for payments, escrows, compliance actions, and other events. Data persists in Supabase. Costs $0.001 USDC.

Inputs: actor (required), action (required), resource (required), txHash, +1 more. Returns: ok, data, error

spraay_audit_queryB
Read-only

Query the audit trail by actor, action, resource, or time range. Returns matching entries sorted newest first. Data persists in Supabase. Costs $0.005 USDC.

Inputs: actor, limit, since, until, +2 more. Returns: ok, data, error

spraay_auth_sessionA

Create an authenticated session with scoped permissions and configurable TTL. Returns a session token (spr_...) for use in Authorization headers. Data persists in Supabase. Costs $0.005 USDC.

Inputs: address (required), ttlSeconds, permissions. Returns: ok, data, error

spraay_auth_verifyA
Read-only

Verify a session token and check its permissions, expiry, and associated address. Data persists in Supabase. Costs $0.001 USDC.

Inputs: token (required). Returns: ok, data, error

spraay_balancesA
Read-only

Get ETH + ERC-20 token balances for any wallet on Base. Returns formatted balances with USD values where available. Costs $0.002 USDC.

Inputs: address (required), tokens, showAll. Returns: ok, data, error

spraay_batch_estimateA

Estimate gas cost for a batch payment before executing. Returns estimated gas in wei and USD equivalent. Costs $0.001 USDC.

Inputs: recipientCount (required), token. Returns: ok, data, error

spraay_batch_executeA

Execute a batch payment to up to 200 recipients in a single Base transaction via the Spraay protocol. Supports any ERC-20 token or native ETH. Returns unsigned transaction data for the sender to sign. Costs $0.01 USDC.

Inputs: token (required), sender (required), amounts (required), recipients (required). Returns: ok, data, error

spraay_bittensor_chat_completionsC

Bittensor inference. Costs $0.03 USDC per call. Provide the listed fields as typed arguments.

Inputs: model (required), messages (required), max_tokens, temperature. Returns: ok, data, error

spraay_bittensor_embeddingsC

Bittensor embeddings. Costs $0.005 USDC per call. Provide the listed fields as typed arguments.

Inputs: input (required), model (required). Returns: ok, data, error

spraay_bittensor_healthC
Read-only

Bittensor health. Free to call. Read-only. Pass any query parameters as a JSON string via the params argument.

Inputs: params. Returns: ok, data, error

spraay_bittensor_images_generationsC

Bittensor image gen. Costs $0.05 USDC per call. Provide the listed fields as typed arguments.

Inputs: prompt (required), n, size, model. Returns: ok, data, error

spraay_bittensor_modelsC
Read-only

Bittensor models. Costs $0.001 USDC per call. Read-only. Pass any query parameters as a JSON string via the params argument.

Inputs: params. Returns: ok, data, error

spraay_bridge_chainsA
Read-only

List all chains supported by the Spraay bridge aggregator (LI.FI). Returns chain names, IDs, and supported tokens. Costs $0.001 USDC.

Inputs: no named parameters. Returns: ok, data, error

spraay_bridge_quoteA

Get a cross-chain bridge quote via LI.FI aggregator. Supports Base, Ethereum, Arbitrum, Polygon, BNB Chain, Avalanche, Optimism, and more. Returns estimated output, fees, and execution time. Costs $0.005 USDC.

Inputs: token (required), amount (required), toChain (required), fromChain (required), +1 more. Returns: ok, data, error

spraay_chatA

Send a message to 200+ AI models (GPT-4o, Claude, Llama 3, Gemini, Mistral, etc.) via the Spraay x402 Gateway. Returns the model's completion. Use spraay_models to discover available model IDs. Costs $0.005 USDC.

Inputs: message (required), model, systemPrompt. Returns: ok, data, error

spraay_classify_addressA

AI-powered wallet classification with risk scoring. Analyzes on-chain activity to classify addresses as whale, retail, MEV bot, exchange, bridge, or contract. Returns risk score, classification, confidence, and behavioral signals. Costs $0.008 USDC.

Inputs: address (required). Returns: ok, data, error

spraay_classify_txA

AI-powered transaction classification with risk scoring. Decodes, categorizes, and analyzes any Base transaction. Returns type (swap, transfer, contract call, etc.), risk level, and decoded parameters. Costs $0.008 USDC.

Inputs: hash (required). Returns: ok, data, error

spraay_compute_batchA

Batch compute — submit up to 50 jobs in a single x402 payment with 10% discount. Mix any types: text-inference, image-generation, tts, stt, embeddings, video-generation. Costs $0.05+ USDC.

Inputs: jobs (required). Returns: ok, data, error

spraay_compute_embeddingsA

Generate text embeddings via Spraay Compute. For RAG, semantic search, clustering. Costs $0.005 USDC.

Inputs: input (required), model. Returns: ok, data, error

spraay_compute_estimateA
Read-only

Estimate compute cost before committing. Returns price breakdown per job. FREE — no x402 payment required.

Inputs: jobs (required). Returns: ok, data, error

spraay_compute_futures_balanceA
Read-only

Check remaining compute credit balance, tier, discount, and usage stats. Costs $0.001 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

Inputs: id (required). Returns: ok, data, error

spraay_compute_futures_depositA

Deposit USDC to open a prepaid compute credit account. Costs $0.01 USDC per call. Provide the listed fields as typed arguments.

Inputs: amount (required), depositor (required), expiresInDays. Returns: ok, data, error

spraay_compute_futures_executeC

Run a compute job and deduct cost from the prepaid balance. Costs $0.001 USDC per call. Provide the listed fields as typed arguments.

Inputs: type (required), futuresId (required), model, prompt, +1 more. Returns: ok, data, error

spraay_compute_futures_historyA
Read-only

Full usage ledger. Costs $0.002 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

Inputs: id (required), limit. Returns: ok, data, error

spraay_compute_futures_pricingA
Read-only

Compute futures pricing. Costs $0.001 USDC per call. Read-only. Pass any query parameters as a JSON string via the params argument.

Inputs: params. Returns: ok, data, error

spraay_compute_futures_refundB

Refund unused compute credit balance to the original depositor. Costs $0.01 USDC per call. Provide the listed fields as typed arguments.

Inputs: caller (required), futuresId (required). Returns: ok, data, error

spraay_compute_image_generationA

Generate images via Spraay Compute. FLUX Schnell, FLUX Dev, SDXL via Replicate. Text to image. Costs $0.02-$0.08 USDC.

Inputs: prompt (required), model, width, height, +1 more. Returns: ok, data, error

spraay_compute_modelsA
Read-only

List all available compute models with pricing and capabilities. Grouped by type (text, image, video, tts, stt, embeddings). FREE — no x402 payment required.

Inputs: no named parameters. Returns: ok, data, error

spraay_compute_statusA
Read-only

Poll async compute job status. Use for video generation and batch jobs that return 'processing'. Costs $0.001 USDC.

Inputs: jobId (required). Returns: ok, data, error

spraay_compute_sttA

Speech-to-text via Spraay Compute. Transcribe audio from a URL using Whisper. Costs $0.02 USDC.

Inputs: audio_url (required), model, language. Returns: ok, data, error

spraay_compute_text_inferenceA

Run LLM text inference via Spraay Compute. 11 models across Chutes, Replicate, OpenRouter (DeepSeek, Llama, Qwen, Gemma). Costs $0.003-$0.10 USDC depending on model.

Inputs: messages (required), model, max_tokens, temperature. Returns: ok, data, error

spraay_compute_ttsB

Text-to-speech via Spraay Compute. Convert text to natural-sounding audio. Replicate TTS models. Costs $0.03-$0.05 USDC.

Inputs: text (required), model, language. Returns: ok, data, error

spraay_compute_video_generationA

Generate video from text via Spraay Compute. MiniMax Video 01, Wan 2.1 via Replicate. Async — poll spraay_compute_status for results. Costs $0.40-$0.50 USDC.

Inputs: prompt (required), model, duration_seconds. Returns: ok, data, error

spraay_contract_readC

Read contract. Costs $0.002 USDC per call. Provide the listed fields as typed arguments.

Inputs: method (required), address (required), args, chain. Returns: ok, data, error

spraay_contract_writeC

Write contract. Costs $0.01 USDC per call. Provide the listed fields as typed arguments.

Inputs: method (required), address (required), args, chain, +1 more. Returns: ok, data, error

spraay_cron_cancelA
DestructiveIdempotent

Cancel a scheduled job by ID. Stops future executions. Data persists in Supabase. Costs $0.001 USDC.

Inputs: jobId (required). Returns: ok, data, error

spraay_cron_createA

Create a scheduled job for recurring payments, DCA strategies, reminders, or any gateway action. Supports standard 5-part cron expressions. Data persists in Supabase. Costs $0.005 USDC.

Inputs: action (required), payload (required), schedule (required), maxRuns. Returns: ok, data, error

spraay_cron_listA
Read-only

List all scheduled jobs with optional status and action filters. Data persists in Supabase. Costs $0.001 USDC.

Inputs: action, status. Returns: ok, data, error

spraay_defi_positionsB
Read-only

DeFi positions. Costs $0.008 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

Inputs: address (required), chain. Returns: ok, data, error

spraay_escrow_cancelA
DestructiveIdempotent

Cancel an escrow. Depositor can cancel unfunded escrows; depositor or arbiter can cancel funded ones. Data persists in Supabase. Costs $0.002 USDC.

Inputs: caller (required), escrowId (required). Returns: ok, data, error

spraay_escrow_createA

Create a conditional escrow with optional milestones, arbiter, and expiry on Base. Funds are held until release conditions are met. Data persists in Supabase. Returns escrow ID and next-step actions. Costs $0.008 USDC.

Inputs: token (required), amount (required), depositor (required), beneficiary (required), +3 more. Returns: ok, data, error

spraay_escrow_fundA

Mark an escrow as funded. Changes status from 'created' to 'funded'. Only works on unfunded, non-expired escrows. Data persists in Supabase. Costs $0.002 USDC.

Inputs: escrowId (required). Returns: ok, data, error

spraay_escrow_getA
Read-only

Get full escrow details including status, participants, conditions, balance check, and timestamps by ID. Data persists in Supabase. Costs $0.001 USDC.

Inputs: id (required). Returns: ok, data, error

spraay_escrow_listA
Read-only

List escrows by address (depositor, beneficiary, or arbiter) with optional status filter. Data persists in Supabase. Costs $0.002 USDC.

Inputs: address (required), status. Returns: ok, data, error

spraay_escrow_releaseA

Release escrow funds to the beneficiary. Returns an unsigned ERC-20 transfer transaction for the depositor to sign. Only depositor or arbiter can release. Data persists in Supabase. Costs $0.005 USDC.

Inputs: caller (required), escrowId (required). Returns: ok, data, error

spraay_explain_contractA

AI-powered smart contract analysis. Explains what a verified contract does, lists its functions, identifies patterns (ERC-20, ERC-721, etc.), and flags security properties. Costs $0.01 USDC.

Inputs: address (required). Returns: ok, data, error

spraay_freeC
Read-only

Free tier catalog. Free to call. Read-only. Pass any query parameters as a JSON string via the params argument.

Inputs: params. Returns: ok, data, error

spraay_free_agent_cardA
Read-only

ERC-8004 agent registry lookup. Free to call. Read-only. Pass any query parameters as a JSON string via the params argument.

Inputs: params. Returns: ok, data, error

spraay_free_chain_statusA
Read-only

Block height & liveness — 7 EVM chains (cached 30s). Free to call. Read-only. Pass any query parameters as a JSON string via the params argument.

Inputs: params. Returns: ok, data, error

spraay_free_convertA
Read-only

Fiat ↔ crypto conversion (unit math + spot). Free to call. Read-only. Pass any query parameters as a JSON string via the params argument.

Inputs: params. Returns: ok, data, error

spraay_free_estimate_batchA
Read-only

Rough batch cost estimate (no live quote). Free to call. Read-only. Pass any query parameters as a JSON string via the params argument.

Inputs: params. Returns: ok, data, error

spraay_free_gasA
Read-only

Gas prices — 7 EVM chains via Alchemy (cached 15s). Free to call. Read-only. Pass any query parameters as a JSON string via the params argument.

Inputs: params. Returns: ok, data, error

spraay_free_nonceA
Read-only

EVM nonce / tx count for address. Free to call. Read-only. Pass any query parameters as a JSON string via the params argument.

Inputs: params. Returns: ok, data, error

spraay_free_pricesB
Read-only

USDC/ETH/SOL spot prices (cached 60s). Free to call. Read-only. Pass any query parameters as a JSON string via the params argument.

Inputs: params. Returns: ok, data, error

spraay_free_resolveA
Read-only

ENS & Basename → address resolution. Free to call. Read-only. Pass any query parameters as a JSON string via the params argument.

Inputs: params. Returns: ok, data, error

spraay_free_timestampB
Read-only

Current Unix timestamp. Free to call. Read-only. Pass any query parameters as a JSON string via the params argument.

Inputs: params. Returns: ok, data, error

spraay_free_uuidA
Read-only

UUID v4 generator (up to 100). Free to call. Read-only. Pass any query parameters as a JSON string via the params argument.

Inputs: params. Returns: ok, data, error

spraay_free_validate_addressA
Read-only

Multi-chain address checksum validation. Free to call. Read-only. Pass any query parameters as a JSON string via the params argument.

Inputs: params. Returns: ok, data, error

spraay_free_validate_batchA

BPA 1.0 payload schema validation. Free to call. Pass the request payload as a JSON string via the body argument.

Inputs: body (required). Returns: ok, data, error

spraay_free_x402_checkC

Probe URL for x402 payment support. Free to call. Pass the request payload as a JSON string via the body argument.

Inputs: body (required). Returns: ok, data, error

spraay_gpu_modelsA
Read-only

List all available GPU model shortcuts grouped by category (image, video, LLM, audio, utility). Shows shortcut names, full Replicate model IDs, and descriptions. You can also use any Replicate model by its full ID. FREE — no USDC cost.

Inputs: no named parameters. Returns: ok, data, error

spraay_gpu_runA

Run AI model inference on GPU via Replicate. Supports image generation (flux-pro, sdxl, ideogram), video generation (wan-video, minimax-video), LLMs (llama-70b, llama-8b, mixtral), audio (whisper transcription, musicgen), and utilities (esrgan upscaling, rembg background removal). Use shortcuts like 'flux-pro' or full model IDs like 'owner/model'. Returns output directly for fast models, or a poll URL for longer jobs. Costs $0.05 USDC.

Inputs: input (required), model (required), version, webhook. Returns: ok, data, error

spraay_gpu_statusA
Read-only

Check the status of a GPU prediction by ID. Use this to poll for results on longer-running jobs like video generation or large model inference. Returns output when complete. Costs $0.002 USDC.

Inputs: id (required). Returns: ok, data, error

spraay_invoice_createA

Create a payment invoice with a pre-encoded ERC-20 transfer transaction. Supports USDC, USDT, DAI, EURC, WETH on Base. Data persists in Supabase. Returns invoice ID, payment instructions, and unsigned tx. Costs $0.005 USDC.

Inputs: token (required), amount (required), creator (required), memo, +2 more. Returns: ok, data, error

spraay_invoice_getA
Read-only

Look up a specific invoice by ID. Returns full invoice details, on-chain balance check, and payment status. Data persists in Supabase. Costs $0.001 USDC.

Inputs: id (required). Returns: ok, data, error

spraay_invoice_listA
Read-only

List invoices by creator or payer address with optional status filter. Data persists in Supabase. Costs $0.002 USDC.

Inputs: address (required), status. Returns: ok, data, error

spraay_kyc_statusA
Read-only

Check KYC verification status by record ID or wallet address. Returns verification level, check results, and expiry. Data persists in Supabase. Costs $0.005 USDC.

Inputs: id, address. Returns: ok, data, error

spraay_kyc_verifyA

Initiate KYC/KYB verification for compliance-gated payments. Supports individual and business verification at basic, enhanced, or full levels. Data persists in Supabase. Costs $0.05 USDC.

Inputs: address (required), type, level. Returns: ok, data, error

spraay_logs_ingestA

Ingest structured logs for debugging and monitoring agent workflows. Accepts up to 100 entries per batch. Data persists in Supabase. Costs $0.001 USDC.

Inputs: entries (required). Returns: ok, data, error

spraay_logs_queryA
Read-only

Query structured logs by service, level, and time range. Returns matching log entries sorted newest first. Data persists in Supabase. Costs $0.003 USDC.

Inputs: level, limit, since, service. Returns: ok, data, error

spraay_modelsA
Read-only

List all 200+ AI models available on the Spraay x402 Gateway. Returns model IDs, providers, and context window sizes. Costs $0.001 USDC.

Inputs: no named parameters. Returns: ok, data, error

spraay_notify_emailA

Send an email notification via AgentMail for payment confirmations, alerts, receipts, or general communication. Supports subject, CC, and reply-to. Costs $0.003 USDC.

Inputs: to (required), body (required), cc, replyTo, +1 more. Returns: ok, data, error

spraay_notify_smsA

Send an SMS notification for payment alerts (simulated — Twilio integration coming). Requires E.164 phone format. Costs $0.005 USDC.

Inputs: to (required), body (required). Returns: ok, data, error

spraay_notify_statusA
Read-only

Check delivery status of a previously sent email or SMS notification by notification ID. Costs $0.001 USDC.

Inputs: id (required). Returns: ok, data, error

spraay_oracle_fxA
Read-only

Get stablecoin exchange rates with depeg detection. Returns cross-rates between USDC, USDT, DAI, and EURC. Costs $0.002 USDC.

Inputs: base. Returns: ok, data, error

spraay_oracle_gasA
Read-only

Get current gas prices on Base in gwei. Returns base fee, priority fee, and estimated transaction costs. Costs $0.001 USDC.

Inputs: no named parameters. Returns: ok, data, error

spraay_oracle_pricesA
Read-only

Get real-time on-chain token prices with confidence scores from Uniswap V3 QuoterV2 on Base. Returns USD prices for ETH, WETH, cbBTC, USDT, DAI, EURC, and more. Costs $0.003 USDC.

Inputs: tokens. Returns: ok, data, error

spraay_payroll_estimateA

Estimate gas and fees for a payroll batch before executing. Returns estimated gas in wei and USD. Costs $0.002 USDC.

Inputs: employeeCount (required), token. Returns: ok, data, error

spraay_payroll_executeA

Execute a payroll batch payment via Spraay V2 contract on Base. Pay up to 200 employees in a single transaction with any stablecoin. Returns unsigned transaction data. Costs $0.02 USDC.

Inputs: token (required), sender (required), employees (required). Returns: ok, data, error

spraay_payroll_tokensA
Read-only

List all stablecoins supported for payroll on Base. Returns symbols, addresses, and decimals. Costs $0.001 USDC.

Inputs: no named parameters. Returns: ok, data, error

spraay_portfolio_nftsC
Read-only

Portfolio NFTs. Costs $0.005 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

Inputs: address (required), networks. Returns: ok, data, error

spraay_portfolio_tokensC
Read-only

Portfolio tokens. Costs $0.005 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

Inputs: address (required), networks. Returns: ok, data, error

spraay_pricesA
Read-only

Get live on-chain token prices on Base from Uniswap V3 pools. Returns USD prices with timestamps. Costs $0.002 USDC.

Inputs: token. Returns: ok, data, error

spraay_research_biomedical_by_pmidA
Read-only

Paper metadata by PubMed ID. Costs $0.001 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

Inputs: pmid (required). Returns: ok, data, error

spraay_research_chemistry_bioactivityA
Read-only

Biological assay results for a PubChem compound. Costs $0.002 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

Inputs: cid (required). Returns: ok, data, error

spraay_research_chemistry_compoundA
Read-only

PubChem compound by name, formula, or CID. Costs $0.002 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

Inputs: cid, name, formula. Returns: ok, data, error

spraay_research_chemistry_similarityA
Read-only

Find structurally similar compounds in PubChem. Costs $0.002 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

Inputs: cid (required), threshold, max_records. Returns: ok, data, error

spraay_research_demographics_censusA
Read-only

US Census data by state, county, or zip. Costs $0.001 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

Inputs: geo, year, dataset, variables. Returns: ok, data, error

spraay_research_demographics_datasetsA
Read-only

Search Data.gov datasets by keyword. Costs $0.001 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

Inputs: q (required), rows. Returns: ok, data, error

spraay_research_dictionary_defineA
Read-only

Dictionary definition with phonetics and examples. Costs $0.001 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

Inputs: word (required), lang. Returns: ok, data, error

spraay_research_dictionary_phoneticsA
Read-only

Phonetic transcription and audio URL. Costs $0.001 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

Inputs: word (required). Returns: ok, data, error

spraay_research_dictionary_synonymsA
Read-only

Synonyms and antonyms for a word. Costs $0.001 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

Inputs: word (required). Returns: ok, data, error

spraay_research_papers_by_authorA
Read-only

Papers by author name or ORCID (OpenAlex). Costs $0.002 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

Inputs: page, orcid, author. Returns: ok, data, error

spraay_research_papers_by_doiA
Read-only

Paper metadata by DOI (OpenAlex). Costs $0.001 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

Inputs: doi (required). Returns: ok, data, error

spraay_research_papers_citationsA
Read-only

Citation graph - cited-by count and references. Costs $0.002 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

Inputs: id, doi. Returns: ok, data, error

spraay_research_preprints_by_idA
Read-only

arXiv preprint metadata by ID. Costs $0.001 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

Inputs: id (required). Returns: ok, data, error

spraay_research_preprints_recentB
Read-only

Latest arXiv preprints by category. Costs $0.002 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

Inputs: category, max_results. Returns: ok, data, error

spraay_research_scholarly_by_doiA
Read-only

Full Crossref metadata for any DOI. Costs $0.001 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

Inputs: doi (required). Returns: ok, data, error

spraay_research_scholarly_citations_countA
Read-only

Citation count and references for a DOI. Costs $0.001 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

Inputs: doi (required). Returns: ok, data, error

spraay_research_scholarly_journal_infoA
Read-only

Journal metadata by ISSN. Costs $0.001 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

Inputs: issn (required). Returns: ok, data, error

spraay_resolveA
Read-only

Resolve ENS names (.eth) and Basenames (.base.eth) to wallet addresses, or perform reverse lookup from address to name. Costs $0.001 USDC.

Inputs: name (required). Returns: ok, data, error

spraay_robots_completeA

Report Task Complete (RTP). Free to call. Pass the request payload as a JSON string via the body argument.

Inputs: body (required). Returns: ok, data, error

spraay_robots_deregisterC

Remove Robot (RTP). Free to call. Pass the request payload as a JSON string via the body argument.

Inputs: body (required). Returns: ok, data, error

spraay_robots_listB
Read-only

Discover robots. Costs $0.005 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

Inputs: max_price, capability. Returns: ok, data, error

spraay_robots_profileB
Read-only

Robot profile. Costs $0.002 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

Inputs: robot_id (required). Returns: ok, data, error

spraay_robots_registerB

Register Robot (RTP). Free to call. Pass the request payload as a JSON string via the body argument.

Inputs: body (required). Returns: ok, data, error

spraay_robots_statusA
Read-only

Poll task status. Costs $0.002 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

Inputs: task_id (required). Returns: ok, data, error

spraay_robots_taskA

Dispatch robot task (RTP). Costs $0.05 USDC per call. Provide the listed fields as typed arguments.

Inputs: task (required), robot_id (required), parameters. Returns: ok, data, error

spraay_robots_updateB

Update Robot (RTP). Free to call. Pass the request payload as a JSON string via the body argument.

Inputs: body (required). Returns: ok, data, error

spraay_rpc_callA

Make a premium multi-chain JSON-RPC call via Alchemy (EVM) or Helius (Solana). Supports Base, Ethereum, Arbitrum, Polygon, BNB Chain, Avalanche, and Solana. Costs $0.001 USDC.

Inputs: chain (required), method (required), params. Returns: ok, data, error

spraay_rpc_chainsA
Read-only

List all chains supported by the Spraay RPC proxy and their allowed JSON-RPC methods. Costs $0.001 USDC.

Inputs: no named parameters. Returns: ok, data, error

spraay_sctp_invoiceB

Submit invoice. Costs $0.02 USDC per call. Provide the listed fields as typed arguments.

Inputs: poId (required), amount (required), supplierId (required), currency. Returns: ok, data, error

spraay_sctp_invoice_by_idA
Read-only

Get invoice. Costs $0.005 USDC per call. Read-only. Provide the path parameter to fetch a single record.

Inputs: id (required). Returns: ok, data, error

spraay_sctp_invoice_verifyB

Verify invoice (AI). Costs $0.03 USDC per call. Provide the listed fields as typed arguments.

Inputs: invoiceId (required). Returns: ok, data, error

spraay_sctp_payA

Execute supplier payment. Costs $0.10 USDC per call. Provide the listed fields as typed arguments.

Inputs: invoiceId (required), batch. Returns: ok, data, error

spraay_sctp_poB

Create purchase order. Costs $0.02 USDC per call. Provide the listed fields as typed arguments.

Inputs: lineItems (required), supplierId (required), currency. Returns: ok, data, error

spraay_sctp_po_by_idA
Read-only

Get purchase order. Costs $0.005 USDC per call. Read-only. Provide the path parameter to fetch a single record.

Inputs: id (required). Returns: ok, data, error

spraay_sctp_supplierB

Register supplier. Costs $0.02 USDC per call. Provide the listed fields as typed arguments.

Inputs: name (required), wallet (required), paymentPrefs. Returns: ok, data, error

spraay_sctp_supplier_by_idA
Read-only

Get supplier. Costs $0.005 USDC per call. Read-only. Provide the path parameter to fetch a single record.

Inputs: id (required). Returns: ok, data, error

spraay_search_extractA
Read-only

Extract clean, structured content from specific URLs — perfect for RAG pipelines. Returns the full text content of each page, ready for LLM consumption. Up to 5 URLs per request. Costs $0.015 USDC.

Inputs: urls (required). Returns: ok, data, error

spraay_search_qnaA
Read-only

Ask a question and get a direct, synthesized answer with cited sources. Searches the web, extracts relevant content, and generates a comprehensive answer. Great for research and fact-checking. Costs $0.02 USDC.

Inputs: query (required), topic. Returns: ok, data, error

spraay_search_webA
Read-only

Search the web and get clean, LLM-ready results via Tavily. Returns extracted content (not just links), plus an AI-generated answer. Supports basic and advanced search depth, domain filtering, and topic focus (general, news, finance). Costs $0.01 USDC.

Inputs: query (required), topic, max_results, search_depth, +2 more. Returns: ok, data, error

spraay_solana_helius_assetB
Read-only

Helius DAS single asset. Costs $0.002 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

Inputs: id (required). Returns: ok, data, error

spraay_solana_helius_assets_by_ownerB
Read-only

Helius DAS assets. Costs $0.003 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

Inputs: owner (required), page, limit. Returns: ok, data, error

spraay_solana_jupiter_quoteC
Read-only

Jupiter swap quote. Costs $0.005 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

Inputs: amount (required), inputMint (required), outputMint (required), slippageBps. Returns: ok, data, error

spraay_solana_jupiter_swap_txB

Jupiter swap transaction. Costs $0.01 USDC per call. Provide the listed fields as typed arguments.

Inputs: quoteResponse (required), userPublicKey (required). Returns: ok, data, error

spraay_solana_pyth_priceB
Read-only

Pyth price feed. Costs $0.005 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

Inputs: feedId (required). Returns: ok, data, error

spraay_solana_pyth_pricesA
Read-only

Pyth batch prices. Costs $0.008 USDC per call. Read-only. Pass the listed fields directly as typed arguments.

Inputs: feedIds (required). Returns: ok, data, error

spraay_stellar_batchC

Stellar batch payments. Costs $0.02 USDC per call. Provide the listed fields as typed arguments.

Inputs: amounts (required), recipients (required), sourceSecret (required). Returns: ok, data, error

spraay_stellar_estimateC

Stellar batch estimate. Costs $0.001 USDC per call. Provide the listed fields as typed arguments.

Inputs: recipientCount (required). Returns: ok, data, error

spraay_storage_getA
Read-only

Retrieve previously pinned content from IPFS/Arweave by CID. Returns the stored data. Costs $0.002 USDC.

Inputs: cid (required). Returns: ok, data, error

spraay_storage_pinA

Pin content to IPFS via Pinata for permanent decentralized storage. Returns CID (content identifier) for retrieval. Supports text, JSON, and base64 data. Costs $0.005 USDC.

Inputs: data (required), provider, contentType. Returns: ok, data, error

spraay_storage_statusA
Read-only

Check the pin status of a storage request by pin ID. Returns pinning progress and confirmation. Costs $0.001 USDC.

Inputs: id (required). Returns: ok, data, error

spraay_summarizeA

AI intelligence briefing for any wallet address or transaction hash. Returns structured risk assessment, entity classification, activity summary, and actionable insights. Costs $0.008 USDC.

Inputs: target (required), context. Returns: ok, data, error

spraay_swap_executeA

Execute a token swap via Uniswap V3 on Base. Returns unsigned transaction data for the caller to sign and broadcast. Get a quote first with spraay_swap_quote. Costs $0.01 USDC.

Inputs: tokenIn (required), amountIn (required), tokenOut (required), recipient (required), +1 more. Returns: ok, data, error

spraay_swap_quoteA

Get a swap quote from Uniswap V3 on Base. Returns expected output amount, price impact, and route details. Use spraay_swap_tokens to see available tokens. Costs $0.002 USDC.

Inputs: tokenIn (required), amountIn (required), tokenOut (required). Returns: ok, data, error

spraay_swap_tokensA
Read-only

List all tokens available for swapping on Spraay via Uniswap V3 on Base. Returns symbols, addresses, and decimals. Costs $0.001 USDC.

Inputs: no named parameters. Returns: ok, data, error

spraay_tax_calculateA

Calculate crypto tax gain/loss using FIFO method for up to 500 transactions. Returns per-event breakdown and aggregate summary with short/long-term classification. Data persists in Supabase. Costs $0.01 USDC.

Inputs: transactions (required). Returns: ok, data, error

spraay_tax_reportA
Read-only

Retrieve a previously calculated tax report by ID, or list all reports. Data persists in Supabase. Costs $0.02 USDC.

Inputs: reportId. Returns: ok, data, error

spraay_tokensC
Read-only

Tokens. Free to call. Read-only. Pass any query parameters as a JSON string via the params argument.

Inputs: params. Returns: ok, data, error

spraay_webhook_deleteA
DestructiveIdempotent

Delete a registered webhook by ID. Removes it permanently from Supabase. Costs $0.001 USDC.

Inputs: webhookId (required). Returns: ok, data, error

spraay_webhook_listA
Read-only

List all registered webhooks with their status, subscribed events, and delivery stats. Data persists in Supabase. Costs $0.001 USDC.

Inputs: status. Returns: ok, data, error

spraay_webhook_registerB

Register a webhook endpoint to receive real-time POST events for payments, escrows, swaps, invoices, and more. Returns webhook ID and HMAC secret for signature verification. Data persists in Supabase. Costs $0.003 USDC.

Inputs: url (required), events (required). Returns: ok, data, error

spraay_webhook_testA

Send a test ping event to a registered webhook to verify delivery and signature validation. Data persists in Supabase. Costs $0.002 USDC.

Inputs: webhookId (required). Returns: ok, data, error

spraay_xmtp_inboxA
Read-only

Read XMTP inbox messages for an Ethereum address. Returns decrypted messages from the production XMTP network. Costs $0.002 USDC.

Inputs: address (required), limit. Returns: ok, data, error

spraay_xmtp_sendA

Send an encrypted XMTP message to any Ethereum address on the XMTP production network. Messages are end-to-end encrypted. Costs $0.003 USDC.

Inputs: to (required), content (required), contentType. Returns: ok, data, error

spraay_xrp_batchC

XRP batch payments. Costs $0.02 USDC per call. Provide the listed fields as typed arguments.

Inputs: amounts (required), recipients (required), senderSecret (required). Returns: ok, data, error

spraay_xrp_estimateB

XRP batch estimate. Costs $0.001 USDC per call. Provide the listed fields as typed arguments.

Inputs: recipientCount (required). Returns: ok, data, error

spraay_xrp_infoC
Read-only

XRP Ledger info. Costs $0.001 USDC per call. Read-only. Pass any query parameters as a JSON string via the params argument.

Inputs: params. Returns: ok, data, error

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.1/5.0

    Scored across 162 tools

    Disambiguation2/5

    Many tools have overlapping purposes, e.g., multiple tools for balances (spraay_balances, spraay_analytics_wallet, spraay_portfolio_tokens), AI inference (spraay_chat, spraay_gpu_run, spraay_compute_text_inference), and token prices (spraay_prices, spraay_oracle_prices). Agents would struggle to select the correct tool among these overlapping options.

    Naming Consistency4/5

    All tools follow the consistent pattern 'spraay_{category}_{action}', with categories like agent, analytics, compute, research, etc. Subcategories use underscores (e.g., spraay_research_biomedical_search). Minor inconsistency: some action parts are nouns (e.g., spraay_free_chain_status) rather than verbs, but overall pattern is clear and predictable.

    Tool Count2/5

    With 162 tools, this server is extremely bloated for a single MCP server. While the server covers many domains, a typical well-scoped server has 3-15 tools. This scale makes it unwieldy for agents to navigate and likely includes many rarely-used tools.

    Completeness4/5

    The server covers an impressively broad range of functionalities: blockchain (balances, swaps, escrow, bridge, payroll, tax), AI (chat, compute, image gen, research), utilities (storage, webhooks, notifications, RPC), and more. Minor gaps exist (e.g., no wallet withdrawal tool), but the surface is remarkably comprehensive for the stated domain.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables AI agents to discover, pay for, and invoke x402-priced services such as document OCR, document analysis, media transcription, remote browser sessions, and receive-only email inboxes using USDC on Base, with no API keys and receipt-backed results.
      38
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables AI agents to call 50+ pay-per-request tools covering onchain and crypto data, web research, security, compliance screening, business intelligence, and infrastructure checks. Payments settle per call in USDC on Base through the x402 protocol with no accounts, API keys, or subscriptions, and the first call is free for new wallets.
      MIT