Skip to content

docs: Add Spraay Batch Payments MCP Extension Tutorial#7525

Merged
blackgirlbytes merged 2 commits intoblock:mainfrom
plagtech:docs/add-spraay-mcp-extension
Mar 7, 2026
Merged

docs: Add Spraay Batch Payments MCP Extension Tutorial#7525
blackgirlbytes merged 2 commits intoblock:mainfrom
plagtech:docs/add-spraay-mcp-extension

Conversation

@plagtech
Copy link
Copy Markdown
Contributor

Spraay Batch Payments Extension

Adds a tutorial for integrating the Spraay MCP Server as a goose extension for batch cryptocurrency payments on Base.

What Spraay does

  • Send ETH and ERC-20 tokens to up to 200 recipients in a single transaction
  • ~80% gas savings vs individual transfers
  • 4 tools: batch_send_eth, batch_send_token, batch_send_eth_variable, batch_send_token_variable

Tutorial includes

  • Desktop and CLI setup instructions (tabbed)
  • Smithery integration for easy installation
  • Usage examples (equal ETH, USDC distribution, variable amounts)
  • Common Base token addresses reference

MCP Server

@plagtech plagtech requested a review from a team as a code owner February 26, 2026 00:52
@dianed-square
Copy link
Copy Markdown
Contributor

Hi @plagtech Thanks for the contribution! I have a couple questions/comments, but to start:

  • The GitHub and Smithery links are 404ing, and the npm package (@AIdleMinerTycoon/spraay-mcp-server) doesn't appear to exist on the registry either — so the setup instructions aren't functional yet

When you get that figured out, there's an Add MCP Server recipe that can help with adding the extension tutorial and servers.json entry

@plagtech
Copy link
Copy Markdown
Contributor Author

Thanks for the review @dianed-square! You're right — let me fix those issues:

  1. GitHub link — The correct repo is https://github.com/plagtech/spraay-x402-mcp (I'll update the broken link)
  2. Smithery link — I'll update or remove if it's still 404ing
  3. npm package — The MCP server isn't published to npm yet, it's installed via git clone + npm install. I'll update the setup instructions to reflect the correct installation method

I'll also follow the Add MCP Server recipe to add the proper extension tutorial and servers.json entry. Will push the fixes shortly.

@plagtech
Copy link
Copy Markdown
Contributor Author

plagtech commented Mar 6, 2026

Update — March 2026

Spraay x402 Gateway has expanded significantly since this PR was opened:

62 paid endpoints across 8 categories (up from 6):

  • AI Chat (200+ models via OpenRouter)
  • Batch Payments (200 recipients/tx)
  • DeFi (Uniswap V3 swaps)
  • Price Oracle / Gas / FX
  • Cross-chain Bridge (11 chains)
  • Payroll, Invoicing, Escrow
  • Wallet Analytics, AI Inference
  • NEW: GPU/Compute — image gen, video, LLMs, audio via Replicate ($0.05/call)
  • NEW: Search/RAG — web search, content extraction, Q&A via Tavily ($0.01-$0.02/call)
  • Communication (email, SMS, webhooks, XMTP)
  • Infrastructure (RPC, IPFS, cron, logging)
  • Identity (KYC, auth/SSO)
  • Compliance (audit trail, tax)

63-tool MCP server on Smithery: @plagtech/spraay-x402-mcp
Developer docs: https://docs.spraay.app
Gateway: https://gateway.spraay.app

All endpoints are x402-native — agents pay USDC per request on Base. No API keys, no accounts.

@blackgirlbytes
Copy link
Copy Markdown
Collaborator

Thanks so much! @plagtech ..the only thing blocking me from approving this..is you have a failing DCO check! After that, I'll be able to approve. Here's how to fix it: https://github.com/block/goose/pull/7525/checks?check_run_id=65087165136

@plagtech
Copy link
Copy Markdown
Contributor Author

plagtech commented Mar 7, 2026

Thanks! Just fixed the DCO sign-off and force pushed. Should be good now.

@blackgirlbytes
Copy link
Copy Markdown
Collaborator

Thanks! Just fixed the DCO sign-off and force pushed. Should be good now.

hmmm it still says failing :/ @plagtech
image

@plagtech plagtech force-pushed the docs/add-spraay-mcp-extension branch from f7f9fa2 to 36b64a3 Compare March 7, 2026 22:50
@plagtech plagtech requested a review from blackgirlbytes as a code owner March 7, 2026 22:50
@plagtech
Copy link
Copy Markdown
Contributor Author

plagtech commented Mar 7, 2026

Fixed! Re-signed both commits and force pushed. DCO should pass now.

@blackgirlbytes blackgirlbytes added this pull request to the merge queue Mar 7, 2026
Merged via the queue into block:main with commit 55d2f4d Mar 7, 2026
22 checks passed
jh-block added a commit that referenced this pull request Mar 9, 2026
…deps

* origin/main: (34 commits)
  fix: reduce server log verbosity — skip session in instrument, defaul… (#7729)
  fix: provider test infrastructure (#7738)
  fix: sanitize streamable HTTP extension names derived from URLs (#7740)
  refactor: derive GooseMode string conversions with strum (#7706)
  docs: Add Spraay Batch Payments MCP Extension Tutorial (#7525)
  fix: flake.nix (#7224)
  delete goose web (#7696)
  Add @angiejones as CODEOWNER for documentation (#7711)
  Add MLflow integration guide (#7563)
  docs: LM Studio availability (#7698)
  feat: add Avian as an LLM provider (#7561)
  Adds `linux-mcp-server` to the goose registry (#6979)
  fix: add #[serde(default)] to description field on 4 ExtensionConfig variants (#7708)
  feat: combine TUI UX from alexhancock/tui-goodness with publishing config from jackamadeo/package-tui (#7683)
  chore: cleanup old sandbox (#7700)
  Correct windows artifact (#7699)
  gh fall back (#7695)
  fix: restore smart-approve mode (#7690)
  fix: make TLS configurable in goosed agent via GOOSE_TLS env var (#7686)
  Update to rmcp 1.1.0 (#7619)
  ...

# Conflicts:
#	Cargo.lock
wpfleger96 added a commit that referenced this pull request Mar 9, 2026
* origin/main: (21 commits)
  fix(ui-desktop): unify path resolution around GOOSE_PATH_ROOT (#7335)
  fix: pass OAuth scopes to DCR and extract granted_scopes from token response (#7571)
  fix: write to real file if config.yaml is symlink (#7669)
  fix: preserve pairings when stopping gateway (#7733)
  fix: reduce server log verbosity — skip session in instrument, defaul… (#7729)
  fix: provider test infrastructure (#7738)
  fix: sanitize streamable HTTP extension names derived from URLs (#7740)
  refactor: derive GooseMode string conversions with strum (#7706)
  docs: Add Spraay Batch Payments MCP Extension Tutorial (#7525)
  fix: flake.nix (#7224)
  delete goose web (#7696)
  Add @angiejones as CODEOWNER for documentation (#7711)
  Add MLflow integration guide (#7563)
  docs: LM Studio availability (#7698)
  feat: add Avian as an LLM provider (#7561)
  Adds `linux-mcp-server` to the goose registry (#6979)
  fix: add #[serde(default)] to description field on 4 ExtensionConfig variants (#7708)
  feat: combine TUI UX from alexhancock/tui-goodness with publishing config from jackamadeo/package-tui (#7683)
  chore: cleanup old sandbox (#7700)
  Correct windows artifact (#7699)
  ...
wpfleger96 added a commit that referenced this pull request Mar 9, 2026
* origin/main: (21 commits)
  fix(ui-desktop): unify path resolution around GOOSE_PATH_ROOT (#7335)
  fix: pass OAuth scopes to DCR and extract granted_scopes from token response (#7571)
  fix: write to real file if config.yaml is symlink (#7669)
  fix: preserve pairings when stopping gateway (#7733)
  fix: reduce server log verbosity — skip session in instrument, defaul… (#7729)
  fix: provider test infrastructure (#7738)
  fix: sanitize streamable HTTP extension names derived from URLs (#7740)
  refactor: derive GooseMode string conversions with strum (#7706)
  docs: Add Spraay Batch Payments MCP Extension Tutorial (#7525)
  fix: flake.nix (#7224)
  delete goose web (#7696)
  Add @angiejones as CODEOWNER for documentation (#7711)
  Add MLflow integration guide (#7563)
  docs: LM Studio availability (#7698)
  feat: add Avian as an LLM provider (#7561)
  Adds `linux-mcp-server` to the goose registry (#6979)
  fix: add #[serde(default)] to description field on 4 ExtensionConfig variants (#7708)
  feat: combine TUI UX from alexhancock/tui-goodness with publishing config from jackamadeo/package-tui (#7683)
  chore: cleanup old sandbox (#7700)
  Correct windows artifact (#7699)
  ...
wpfleger96 added a commit that referenced this pull request Mar 9, 2026
…e-issue

* origin/main:
  fix(ui-desktop): unify path resolution around GOOSE_PATH_ROOT (#7335)
  fix: pass OAuth scopes to DCR and extract granted_scopes from token response (#7571)
  fix: write to real file if config.yaml is symlink (#7669)
  fix: preserve pairings when stopping gateway (#7733)
  fix: reduce server log verbosity — skip session in instrument, defaul… (#7729)
  fix: provider test infrastructure (#7738)
  fix: sanitize streamable HTTP extension names derived from URLs (#7740)
  refactor: derive GooseMode string conversions with strum (#7706)
  docs: Add Spraay Batch Payments MCP Extension Tutorial (#7525)
  fix: flake.nix (#7224)
  delete goose web (#7696)
  Add @angiejones as CODEOWNER for documentation (#7711)
  Add MLflow integration guide (#7563)
  docs: LM Studio availability (#7698)
  feat: add Avian as an LLM provider (#7561)
  Adds `linux-mcp-server` to the goose registry (#6979)
  fix: add #[serde(default)] to description field on 4 ExtensionConfig variants (#7708)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants