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.
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:
| Points | Adoption-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.
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
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
Each tool and what it can reach — statically extracted from the published source.
spraay_notify_smsnetwork egressspraay_sctp_invoice_by_idingests untrusted inputspraay_sctp_po_by_idingests untrusted inputspraay_sctp_supplier_by_idingests untrusted inputspraay_search_webingests untrusted inputspraay_webhook_deletenetwork egressspraay_webhook_registernetwork egressspraay_webhook_testnetwork egressspraay_agent_wallet_infono sensitive capabilityspraay_agent_wallet_predictno sensitive capabilityspraay_agent_wallet_provisionno sensitive capabilityspraay_agent_wallet_revoke_keyno sensitive capabilityspraay_agent_wallet_session_keyno sensitive capabilityspraay_analytics_txhistoryno sensitive capabilityspraay_analytics_walletno sensitive capabilityspraay_audit_logno sensitive capabilityspraay_audit_queryno sensitive capabilityspraay_auth_sessionno sensitive capabilityspraay_auth_verifyno sensitive capabilityspraay_balancesno sensitive capabilityspraay_batch_estimateno sensitive capabilityspraay_batch_executeno sensitive capabilityspraay_bittensor_chat_completionsno sensitive capabilityspraay_bittensor_embeddingsno sensitive capabilityspraay_bittensor_healthno sensitive capabilityspraay_bittensor_images_generationsno sensitive capabilityspraay_bittensor_modelsno sensitive capabilityspraay_bridge_chainsno sensitive capabilityspraay_bridge_quoteno sensitive capabilityspraay_chatno sensitive capabilityspraay_classify_addressno sensitive capabilityspraay_classify_txno sensitive capabilityspraay_compute_batchno sensitive capabilityspraay_compute_embeddingsno sensitive capabilityspraay_compute_estimateno sensitive capabilityspraay_compute_futures_balanceno sensitive capabilityspraay_compute_futures_depositno sensitive capabilityspraay_compute_futures_executeno sensitive capabilityspraay_compute_futures_historyno sensitive capabilityspraay_compute_futures_pricingno sensitive capabilityspraay_compute_futures_refundno sensitive capabilityspraay_compute_image_generationno sensitive capabilityspraay_compute_modelsno sensitive capabilityspraay_compute_statusno sensitive capabilityspraay_compute_sttno sensitive capabilityspraay_compute_text_inferenceno sensitive capabilityspraay_compute_ttsno sensitive capabilityspraay_compute_video_generationno sensitive capabilityspraay_contract_readno sensitive capabilityspraay_contract_writeno sensitive capabilityspraay_cron_cancelno sensitive capabilityspraay_cron_createno sensitive capabilityspraay_cron_listno sensitive capabilityspraay_defi_positionsno sensitive capabilityspraay_escrow_cancelno sensitive capabilityspraay_escrow_createno sensitive capabilityspraay_escrow_fundno sensitive capabilityspraay_escrow_getno sensitive capabilityspraay_escrow_listno sensitive capabilityspraay_escrow_releaseno sensitive capabilityspraay_explain_contractno sensitive capabilityspraay_freeno sensitive capabilityspraay_free_agent_cardno sensitive capabilityspraay_free_chain_statusno sensitive capabilityspraay_free_chatno sensitive capabilityspraay_free_chat_modelsno sensitive capabilityspraay_free_convertno sensitive capabilityspraay_free_dex_pairsno sensitive capabilityspraay_free_dex_searchno sensitive capabilityspraay_free_dex_tokensno sensitive capabilityspraay_free_dex_trendingno sensitive capabilityspraay_free_estimate_batchno sensitive capabilityspraay_free_gasno sensitive capabilityspraay_free_modelsno sensitive capabilityspraay_free_nonceno sensitive capabilityspraay_free_pricesno sensitive capabilityspraay_free_resolveno sensitive capabilityspraay_free_timestampno sensitive capabilityspraay_free_uuidno sensitive capabilityspraay_free_validate_addressno sensitive capabilityspraay_free_validate_batchno sensitive capabilityspraay_free_x402_checkno sensitive capabilityspraay_gpu_modelsno sensitive capabilityspraay_gpu_runno sensitive capabilityspraay_gpu_statusno sensitive capabilityspraay_image_editno sensitive capabilityspraay_image_generateno sensitive capabilityspraay_image_statusno sensitive capabilityspraay_invoice_createno sensitive capabilityspraay_invoice_getno sensitive capabilityspraay_invoice_listno sensitive capabilityspraay_kyc_statusno sensitive capabilityspraay_kyc_verifyno sensitive capabilityspraay_logs_ingestno sensitive capabilityspraay_logs_queryno sensitive capabilityspraay_markets_kalshi_eventsno sensitive capabilityspraay_markets_kalshi_marketno sensitive capabilityspraay_markets_polymarket_eventsno sensitive capabilityspraay_markets_polymarket_marketno sensitive capabilityspraay_markets_polymarket_orderbookno sensitive capabilityspraay_markets_polymarket_tradesno sensitive capabilityspraay_markets_searchno sensitive capabilityspraay_modelsno sensitive capabilityspraay_notify_emailno sensitive capabilityspraay_notify_statusno sensitive capabilityspraay_oracle_fxno sensitive capabilityspraay_oracle_gasno sensitive capabilityspraay_oracle_pricesno sensitive capabilityspraay_payroll_estimateno sensitive capabilityspraay_payroll_executeno sensitive capabilityspraay_payroll_tokensno sensitive capabilityspraay_portfolio_nftsno sensitive capabilityspraay_portfolio_tokensno sensitive capabilityspraay_pricesno sensitive capabilityspraay_research_biomedical_by_pmidno sensitive capabilityspraay_research_biomedical_relatedno sensitive capabilityspraay_research_biomedical_searchno sensitive capabilityspraay_research_chemistry_bioactivityno sensitive capabilityspraay_research_chemistry_compoundno sensitive capabilityspraay_research_chemistry_similarityno sensitive capabilityspraay_research_demographics_censusno sensitive capabilityspraay_research_demographics_datasetsno sensitive capabilityspraay_research_dictionary_defineno sensitive capabilityspraay_research_dictionary_phoneticsno sensitive capabilityspraay_research_dictionary_synonymsno sensitive capabilityspraay_research_papers_by_authorno sensitive capabilityspraay_research_papers_by_doino sensitive capabilityspraay_research_papers_citationsno sensitive capabilityspraay_research_papers_searchno sensitive capabilityspraay_research_papers_trendingno sensitive capabilityspraay_research_preprints_by_idno sensitive capabilityspraay_research_preprints_recentno sensitive capabilityspraay_research_preprints_searchno sensitive capabilityspraay_research_scholarly_by_doino sensitive capabilityspraay_research_scholarly_citations_countno sensitive capabilityspraay_research_scholarly_journal_infono sensitive capabilityspraay_research_scholarly_searchno sensitive capabilityspraay_resolveno sensitive capabilityspraay_robots_completeno sensitive capabilityspraay_robots_deregisterno sensitive capabilityspraay_robots_listno sensitive capabilityspraay_robots_profileno sensitive capabilityspraay_robots_registerno sensitive capabilityspraay_robots_statusno sensitive capabilityspraay_robots_taskno sensitive capabilityspraay_robots_updateno sensitive capabilityspraay_rpc_callno sensitive capabilityspraay_rpc_chainsno sensitive capabilityspraay_sctp_invoiceno sensitive capabilityspraay_sctp_invoice_verifyno sensitive capabilityspraay_sctp_payno sensitive capabilityspraay_sctp_pono sensitive capabilityspraay_sctp_supplierno sensitive capabilityspraay_search_extractno sensitive capabilityspraay_search_qnano sensitive capabilityspraay_solana_helius_assetno sensitive capabilityspraay_solana_helius_assets_by_ownerno sensitive capabilityspraay_solana_jupiter_quoteno sensitive capabilityspraay_solana_jupiter_swap_txno sensitive capabilityspraay_solana_pyth_priceno sensitive capabilityspraay_solana_pyth_pricesno sensitive capabilityspraay_stellar_batchno sensitive capabilityspraay_stellar_estimateno sensitive capabilityspraay_stocks_companyno sensitive capabilityspraay_stocks_historyno sensitive capabilityspraay_stocks_priceno sensitive capabilityspraay_stocks_searchno sensitive capabilityspraay_storage_getno sensitive capabilityspraay_storage_pinno sensitive capabilityspraay_storage_statusno sensitive capabilityspraay_summarizeno sensitive capabilityspraay_swap_executeno sensitive capabilityspraay_swap_quoteno sensitive capabilityspraay_swap_tokensno sensitive capabilityspraay_tax_calculateno sensitive capabilityspraay_tax_reportno sensitive capabilityspraay_tokensno sensitive capabilityspraay_webhook_listno sensitive capabilityspraay_xmtp_inboxno sensitive capabilityspraay_xmtp_sendno sensitive capabilityspraay_xrp_batchno sensitive capabilityspraay_xrp_estimateno sensitive capabilityspraay_xrp_infono sensitive capabilityCross-tool combinations that form a data-exfiltration primitive (untrusted input → sensitive source → external sink).
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.
| Version | Score | Findings | Engine | Scanned |
|---|---|---|---|---|
v4.3.0 latest |
A 96/100 | 2 | 1.13.0 | 2026-09-08 |
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.
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
<img src="./public/logo.png" alt="1Money Logo" width="200"/>
Signed verification attestations for agent decisions: business, price, freshness, claim checks.
Actual Budget MCP server exposing API functionality
MCP server for Actual Budget - query and manage your personal finances through Claude
The Adyen Model Context Protocol server allows you to integrate with Adyen APIs through LLMs function calling utilizing various Clients. It currently supports the following tools:
Trusted agent-commerce hub: discover, trust-check, and route x402 payments with failover.