MCP Server

RugShield

io.github.raphaelbgr/rugshield
Crypto & Web3 Security Public & reachable MCP 2025-11-25

What this MCP does

Checks Solana token rug risks and simulates unsigned Solana transactions for warnings, blocks, and balance changes.

check_solana_token_risk
Use before buying a pump.fun token when you have its Solana mint address. Returns advisory flags evaluated on selected historical tokens; no flags does not mean safe. Optional idempotency_key is random 32-byte base64url. Without it, the first signed call returns an unpaid job_id; echo that job_id with the same proof and mint when ready. get_job_result reports processing and retry_after_s for free; the result appears there only after settlement. Costs $0.01 USDC via x402.
Input schema
{'type': 'object', 'title': 'check_solana_token_riskArguments', 'required': ['mint'], 'properties': {'mint': {'type': 'string', 'title': 'Mint', 'description': 'Base58 Solana token mint address to check before buying; not a transaction or token symbol.'}, 'job_id': {'type': 'string', 'title': 'Job Id', 'default': None, 'description': 'Accepted job ID to echo with the original payment proof and identical inputs when recovering a call made without idempotency_key.'}, 'prefer_async': {'type': 'boolean', 'title': 'Prefer Async', 'default': False, 'description': 'If work is queued or running, return a job status instead of waiting for completion. Poll get_job_result for free, then retry this tool with the same payment proof and inputs when ready; payment does not settle while processing.'}, 'idempotency_key': {'type': 'string', 'title': 'Idempotency Key', 'default': None, 'description': 'Optional canonical base64url encoding of 32 random bytes. Reuse with the original payment proof and identical inputs to recover a lost reply.'}}}
check_solana_transaction
Use before signing an unsigned Solana transaction, not for a token mint alone. Provide a real unsigned Solana transaction serialized as base64, with optional signer and expected intent. Malformed input is rejected before payment. Simulation returns ALLOW, WARN or BLOCK with reasons and balance changes. Optional idempotency_key is random 32-byte base64url. Without it, the first signed call returns an unpaid job_id; echo that job_id with the same proof and arguments when ready. get_job_result reports processing and retry_after_s for free; the result appears there only after settlement. Costs $0.01 USDC via x402.
Input schema
{'type': 'object', 'title': 'check_solana_transactionArguments', 'required': ['transaction'], 'properties': {'intent': {'type': 'object', 'title': 'Intent', 'default': None, 'description': 'Optional expected action object. Supported keys: max_sol_out (nonnegative SOL amount), expected_mints_in (array of base58 Solana token mint addresses), allowed_recipients (array of base58 Solana addresses). No other keys.', 'additionalProperties': True}, 'job_id': {'type': 'string', 'title': 'Job Id', 'default': None, 'description': 'Accepted job ID to echo with the original payment proof and identical inputs when recovering a call made without idempotency_key.'}, 'signer': {'type': 'string', 'title': 'Signer', 'default': None, 'description': 'Optional base58 Solana address that must be a required transaction signer; omit to use the fee payer.'}, 'transaction': {'type': 'string', 'title': 'Transaction', 'description': 'Real unsigned Solana transaction (legacy or v0), serialized as base64; not a token mint or example placeholder.'}, 'prefer_async': {'type': 'boolean', 'title': 'Prefer Async', 'default': False, 'description': 'If work is queued or running, return a job status instead of waiting for completion. Poll get_job_result for free, then retry this tool with the same payment proof and inputs when ready; payment does not settle while processing.'}, 'idempotency_key': {'type': 'string', 'title': 'Idempotency Key', 'default': None, 'description': 'Optional canonical base64url encoding of 32 random bytes. Reuse with the original payment proof and identical inputs to recover a lost reply.'}}}
get_job_result
Poll an accepted job for free. A paid job reports processing, ready, or failed without revealing its result before settlement; retry_after_s gives the next polling delay, capped at two minutes. After a successful settlement, this job_id retrieves the saved result.
Input schema
{'type': 'object', 'title': 'get_job_resultArguments', 'required': ['job_id'], 'properties': {'job_id': {'type': 'string', 'title': 'Job Id', 'description': 'Job ID returned by a paid check or accepted queued request. Poll for status without another payment; a settled result is available here.'}}}
quote_solana_risk_panel
Free quote for the paid HTTP panel of parallel Solana risk advisors. Pass a Solana mint and optionally comma-separated public advisor aliases from GET /v1/advisors and a CAIP-2 token chain. Returns a canonical HTTP URL and estimated total in USDC; does not call or pay advisors. The URL's HTTP 402 payment quote is authoritative.
Input schema
{'type': 'object', 'title': 'quote_solana_risk_panelArguments', 'required': ['mint'], 'properties': {'mint': {'type': 'string', 'title': 'Mint', 'description': 'Base58 Solana token mint address to analyze through the paid HTTP panel.'}, 'chain': {'type': 'string', 'title': 'Chain', 'default': None, 'description': 'Optional CAIP-2 network ID of the token being analyzed, not the payment network. Defaults to Solana mainnet; other token chains are currently unsupported.'}, 'advisors': {'type': 'string', 'title': 'Advisors', 'default': None, 'description': 'Optional comma-separated public advisor aliases from free GET /v1/advisors; omit to select all enabled advisors compatible with the token chain.'}}}
retry_failed_job
Retry a failed paid job for free. Transaction and token checks each have one manual retry per job ID; if it still fails, keep the job ID and contact rugshield@fastsoftware.uk for review. There is no automatic refund.
Input schema
{'type': 'object', 'title': 'retry_failed_jobArguments', 'required': ['job_id'], 'properties': {'job_id': {'type': 'string', 'title': 'Job Id', 'description': 'Job ID of a failed paid transaction or token check. Retry that job for free after get_job_result reports failure.'}}}
Changed
retry_failed_job
Oct. 2, 2026, 2:41 a.m.
Changed
get_job_result
Oct. 2, 2026, 2:41 a.m.
Changed
quote_solana_risk_panel
Oct. 2, 2026, 2:41 a.m.
Changed
check_solana_token_risk
Oct. 2, 2026, 2:41 a.m.
Changed
check_solana_transaction
Oct. 2, 2026, 2:41 a.m.
Changed
retry_failed_job
Sept. 30, 2026, 2:41 a.m.
Changed
get_job_result
Sept. 30, 2026, 2:41 a.m.
Added
quote_solana_risk_panel
Sept. 30, 2026, 2:41 a.m.
Changed
check_solana_token_risk
Sept. 30, 2026, 2:41 a.m.
Changed
check_solana_transaction
Sept. 30, 2026, 2:41 a.m.
Added
retry_failed_job
Sept. 26, 2026, 2:40 a.m.
Added
get_job_result
Sept. 26, 2026, 2:40 a.m.
Added
check_solana_token_risk
Sept. 26, 2026, 2:40 a.m.
Added
check_solana_transaction
Sept. 26, 2026, 2:40 a.m.