Spraay X402 MCP Server

spraay-x402-mcp npm v4.3.0

Published by plagtech — no publish provenance, so origin is unverified, but the source is public: the repository link below is self-declared yet readable, so you can inspect the code before adopting it.

Auto-syncing MCP server for the Spraay x402 Gateway. Auto-creates a wallet on first run — no env vars, just fund and go. Pay-per-call x402, USDC, no API keys.

Trust grade
A
96/100
Last scanned get badge →
Trust
A · 96/100
Adoption risk for you: the threat score, then adjusted down for blast radius, publisher verification and how much the scan could see. Deterministic; every point is auditable.
Capability
Moderate
Blast radius if it went rogue — what the server’s tools could reach. Independent of trust.
Coverage
Source
How much the scan could actually inspect. Shallow coverage is stated, never hidden.
Share this Trust Score
𝕏 Share LinkedIn Reddit
A Why this grade threat 100 − adoption risk = 96/100

The grade answers one question — how safe is this server for you to adopt — so it is computed in two auditable stages. Nothing below is an opinion or an LLM's guess; every line is a real term the deterministic engine applied, and the same input always yields the same number.

1. Threat score — 100 − 0 = 100. What the published surface and source actually contain:

The deterministic scan raised no scored threat in the surface it inspected — the threat score stayed at 100. Capability observations and advisory notes are recorded but never lower it.

2. Client adoption risk — 100 − 4 = 96. Three small, subtract-only factors that reflect your risk in adopting it — a clean scan proves less on a powerful, unverified or barely-inspectable package, so the grade says so plainly:

PointsAdoption-risk factor
−3 capability blast radius (moderate) — client exposure if the model is manipulated
−1 publisher verification (public source) — no provenance, but the source is public and inspectable

Capability observations and info notes are shown under Findings but never scored. Open any row's finding below for the file, line and evidence behind a deduction.

Findings 2

medium Untrusted input can drive an external actionMTC-FLOW-005

Untrusted-input tools ([spraay_sctp_supplier_by_id, spraay_sctp_po_by_id, spraay_sctp_invoice_by_id, spraay_search_web]) co-exist with external-action tools ([spraay_notify_sms, spraay_webhook_register, spraay_webhook_test, spraay_webhook_delete]). A prompt injection could cause unwanted external actions, though no direct sensitive-data leak path was found.

Evidence: untrusted [spraay_sctp_supplier_by_id, spraay_sctp_po_by_id, spraay_sctp_invoice_by_id, spraay_search_web] → sinks [spraay_notify_sms, spraay_webhook_register,

Fix: Require confirmation for state-changing/egress actions triggered after processing untrusted content.

Location: flow spraay_sctp_supplier_by_id → spraay_notify_sms

medium Hardcoded egress to an external endpoint (dist/version-check.js)MTC-SRC-003

In the server's implementation (`dist/version-check.js:26`): A hardcoded outbound call to a fixed external host inside server code is a classic exfiltration/telemetry channel — especially paired with reads of local data. This is read from the code itself — not from the tool description — so a poisoned server cannot hide it behind honest-looking metadata.

Evidence: const res = await fetch(`https://registry.npmjs.org/${encodeURIComponent(name)}/latest`, { signal: con

Fix: Review this call path: confirm it never receives unsanitized tool input, constrain it, or remove it. Treat a server whose code reaches these sinks as high-capability regardless of what its tools claim.

Location: server dist/version-check.js

Tools 183

Each tool and what it can reach — statically extracted from the published source.

  • spraay_notify_smsnetwork egress
  • spraay_sctp_invoice_by_idingests untrusted input
  • spraay_sctp_po_by_idingests untrusted input
  • spraay_sctp_supplier_by_idingests untrusted input
  • spraay_search_webingests untrusted input
  • spraay_webhook_deletenetwork egress
  • spraay_webhook_registernetwork egress
  • spraay_webhook_testnetwork egress
  • spraay_agent_wallet_infono sensitive capability
  • spraay_agent_wallet_predictno sensitive capability
Show 173 more tools ↓
  • spraay_agent_wallet_provisionno sensitive capability
  • spraay_agent_wallet_revoke_keyno sensitive capability
  • spraay_agent_wallet_session_keyno sensitive capability
  • spraay_analytics_txhistoryno sensitive capability
  • spraay_analytics_walletno sensitive capability
  • spraay_audit_logno sensitive capability
  • spraay_audit_queryno sensitive capability
  • spraay_auth_sessionno sensitive capability
  • spraay_auth_verifyno sensitive capability
  • spraay_balancesno sensitive capability
  • spraay_batch_estimateno sensitive capability
  • spraay_batch_executeno sensitive capability
  • spraay_bittensor_chat_completionsno sensitive capability
  • spraay_bittensor_embeddingsno sensitive capability
  • spraay_bittensor_healthno sensitive capability
  • spraay_bittensor_images_generationsno sensitive capability
  • spraay_bittensor_modelsno sensitive capability
  • spraay_bridge_chainsno sensitive capability
  • spraay_bridge_quoteno sensitive capability
  • spraay_chatno sensitive capability
  • spraay_classify_addressno sensitive capability
  • spraay_classify_txno sensitive capability
  • spraay_compute_batchno sensitive capability
  • spraay_compute_embeddingsno sensitive capability
  • spraay_compute_estimateno sensitive capability
  • spraay_compute_futures_balanceno sensitive capability
  • spraay_compute_futures_depositno sensitive capability
  • spraay_compute_futures_executeno sensitive capability
  • spraay_compute_futures_historyno sensitive capability
  • spraay_compute_futures_pricingno sensitive capability
  • spraay_compute_futures_refundno sensitive capability
  • spraay_compute_image_generationno sensitive capability
  • spraay_compute_modelsno sensitive capability
  • spraay_compute_statusno sensitive capability
  • spraay_compute_sttno sensitive capability
  • spraay_compute_text_inferenceno sensitive capability
  • spraay_compute_ttsno sensitive capability
  • spraay_compute_video_generationno sensitive capability
  • spraay_contract_readno sensitive capability
  • spraay_contract_writeno sensitive capability
  • spraay_cron_cancelno sensitive capability
  • spraay_cron_createno sensitive capability
  • spraay_cron_listno sensitive capability
  • spraay_defi_positionsno sensitive capability
  • spraay_escrow_cancelno sensitive capability
  • spraay_escrow_createno sensitive capability
  • spraay_escrow_fundno sensitive capability
  • spraay_escrow_getno sensitive capability
  • spraay_escrow_listno sensitive capability
  • spraay_escrow_releaseno sensitive capability
  • spraay_explain_contractno sensitive capability
  • spraay_freeno sensitive capability
  • spraay_free_agent_cardno sensitive capability
  • spraay_free_chain_statusno sensitive capability
  • spraay_free_chatno sensitive capability
  • spraay_free_chat_modelsno sensitive capability
  • spraay_free_convertno sensitive capability
  • spraay_free_dex_pairsno sensitive capability
  • spraay_free_dex_searchno sensitive capability
  • spraay_free_dex_tokensno sensitive capability
  • spraay_free_dex_trendingno sensitive capability
  • spraay_free_estimate_batchno sensitive capability
  • spraay_free_gasno sensitive capability
  • spraay_free_modelsno sensitive capability
  • spraay_free_nonceno sensitive capability
  • spraay_free_pricesno sensitive capability
  • spraay_free_resolveno sensitive capability
  • spraay_free_timestampno sensitive capability
  • spraay_free_uuidno sensitive capability
  • spraay_free_validate_addressno sensitive capability
  • spraay_free_validate_batchno sensitive capability
  • spraay_free_x402_checkno sensitive capability
  • spraay_gpu_modelsno sensitive capability
  • spraay_gpu_runno sensitive capability
  • spraay_gpu_statusno sensitive capability
  • spraay_image_editno sensitive capability
  • spraay_image_generateno sensitive capability
  • spraay_image_statusno sensitive capability
  • spraay_invoice_createno sensitive capability
  • spraay_invoice_getno sensitive capability
  • spraay_invoice_listno sensitive capability
  • spraay_kyc_statusno sensitive capability
  • spraay_kyc_verifyno sensitive capability
  • spraay_logs_ingestno sensitive capability
  • spraay_logs_queryno sensitive capability
  • spraay_markets_kalshi_eventsno sensitive capability
  • spraay_markets_kalshi_marketno sensitive capability
  • spraay_markets_polymarket_eventsno sensitive capability
  • spraay_markets_polymarket_marketno sensitive capability
  • spraay_markets_polymarket_orderbookno sensitive capability
  • spraay_markets_polymarket_tradesno sensitive capability
  • spraay_markets_searchno sensitive capability
  • spraay_modelsno sensitive capability
  • spraay_notify_emailno sensitive capability
  • spraay_notify_statusno sensitive capability
  • spraay_oracle_fxno sensitive capability
  • spraay_oracle_gasno sensitive capability
  • spraay_oracle_pricesno sensitive capability
  • spraay_payroll_estimateno sensitive capability
  • spraay_payroll_executeno sensitive capability
  • spraay_payroll_tokensno sensitive capability
  • spraay_portfolio_nftsno sensitive capability
  • spraay_portfolio_tokensno sensitive capability
  • spraay_pricesno sensitive capability
  • spraay_research_biomedical_by_pmidno sensitive capability
  • spraay_research_biomedical_relatedno sensitive capability
  • spraay_research_biomedical_searchno sensitive capability
  • spraay_research_chemistry_bioactivityno sensitive capability
  • spraay_research_chemistry_compoundno sensitive capability
  • spraay_research_chemistry_similarityno sensitive capability
  • spraay_research_demographics_censusno sensitive capability
  • spraay_research_demographics_datasetsno sensitive capability
  • spraay_research_dictionary_defineno sensitive capability
  • spraay_research_dictionary_phoneticsno sensitive capability
  • spraay_research_dictionary_synonymsno sensitive capability
  • spraay_research_papers_by_authorno sensitive capability
  • spraay_research_papers_by_doino sensitive capability
  • spraay_research_papers_citationsno sensitive capability
  • spraay_research_papers_searchno sensitive capability
  • spraay_research_papers_trendingno sensitive capability
  • spraay_research_preprints_by_idno sensitive capability
  • spraay_research_preprints_recentno sensitive capability
  • spraay_research_preprints_searchno sensitive capability
  • spraay_research_scholarly_by_doino sensitive capability
  • spraay_research_scholarly_citations_countno sensitive capability
  • spraay_research_scholarly_journal_infono sensitive capability
  • spraay_research_scholarly_searchno sensitive capability
  • spraay_resolveno sensitive capability
  • spraay_robots_completeno sensitive capability
  • spraay_robots_deregisterno sensitive capability
  • spraay_robots_listno sensitive capability
  • spraay_robots_profileno sensitive capability
  • spraay_robots_registerno sensitive capability
  • spraay_robots_statusno sensitive capability
  • spraay_robots_taskno sensitive capability
  • spraay_robots_updateno sensitive capability
  • spraay_rpc_callno sensitive capability
  • spraay_rpc_chainsno sensitive capability
  • spraay_sctp_invoiceno sensitive capability
  • spraay_sctp_invoice_verifyno sensitive capability
  • spraay_sctp_payno sensitive capability
  • spraay_sctp_pono sensitive capability
  • spraay_sctp_supplierno sensitive capability
  • spraay_search_extractno sensitive capability
  • spraay_search_qnano sensitive capability
  • spraay_solana_helius_assetno sensitive capability
  • spraay_solana_helius_assets_by_ownerno sensitive capability
  • spraay_solana_jupiter_quoteno sensitive capability
  • spraay_solana_jupiter_swap_txno sensitive capability
  • spraay_solana_pyth_priceno sensitive capability
  • spraay_solana_pyth_pricesno sensitive capability
  • spraay_stellar_batchno sensitive capability
  • spraay_stellar_estimateno sensitive capability
  • spraay_stocks_companyno sensitive capability
  • spraay_stocks_historyno sensitive capability
  • spraay_stocks_priceno sensitive capability
  • spraay_stocks_searchno sensitive capability
  • spraay_storage_getno sensitive capability
  • spraay_storage_pinno sensitive capability
  • spraay_storage_statusno sensitive capability
  • spraay_summarizeno sensitive capability
  • spraay_swap_executeno sensitive capability
  • spraay_swap_quoteno sensitive capability
  • spraay_swap_tokensno sensitive capability
  • spraay_tax_calculateno sensitive capability
  • spraay_tax_reportno sensitive capability
  • spraay_tokensno sensitive capability
  • spraay_webhook_listno sensitive capability
  • spraay_xmtp_inboxno sensitive capability
  • spraay_xmtp_sendno sensitive capability
  • spraay_xrp_batchno sensitive capability
  • spraay_xrp_estimateno sensitive capability
  • spraay_xrp_infono sensitive capability

Toxic flows 1

Cross-tool combinations that form a data-exfiltration primitive (untrusted input → sensitive source → external sink).

What this scan could not see

Versions 1

Scan history per published version. The engine is deterministic — the same version always yields the same score, so a changed score means the package itself changed.

VersionScoreFindingsEngineScanned
v4.3.0 latest A 96/100 2 1.13.0 2026-09-08

Embed this score

Show this server's live Trust Score in your README, docs or website. The badge is served straight from the registry and updates automatically after every rescan — no API key needed. It links back to this page, so anyone who sees the grade can also read the findings behind it instead of taking a number on faith.

MCP Trust Score: A · 96/100
Markdown (GitHub README)
[![MCP Trust Score](https://mcptrustchecker.com/registry/spraay-x402-mcp/badge.svg)](https://mcptrustchecker.com/registry/spraay-x402-mcp)
HTML
<a href="https://mcptrustchecker.com/registry/spraay-x402-mcp"><img src="https://mcptrustchecker.com/registry/spraay-x402-mcp/badge.svg" alt="MCP Trust Score" height="20"></a>
Prefer shields.io styling? Point it at https://mcptrustchecker.com/registry/spraay-x402-mcp/badge.json via https://img.shields.io/endpoint?url=…

Verify this score yourself

The score above is reproducible: the same package version always yields the same result. Run it locally or over the free API — no account, no LLM, fully deterministic.

npx mcptrustchecker scan spraay-x402-mcp --online

Use the free API → How scoring works

More in Finance & Commerce