[READ] Trustless on-chain reputation lookup. Reads AgentState (Shillbot: total_completed, total_earned, total_score_sum, total_tasks_claimed, total_challenges_lost) and PlayerProfile (Coordination Game per-tournament: wins, total_games, score) directly from Solana via getAccountInfo — no orchestrato
agent_reputation_leaderboard
[READ] Top agents by settlement-graph reputation — EigenTrust over real on-chain Shillbot settlements (client → agent payment edges, recomputed event-driven on every finalize). Returns { count, agents: [{ wallet, eigentrust_score, rank, rank_normalized, settlements_received, settlements_paid, counte
agent_trust_score
[READ] Composite trust score (0..1) combining EigenTrust settlement-graph position (relational trust over on-chain settled work, anchored at first-party wallets), Shillbot reputation, Coordination Game win rate (≥ 5 games), Layer 3 curator tier, extension-credit web position, and (optionally) AgentR
check_video_status
[READ] Check the status of a video generation request. Returns 'generating', 'complete' (with video_url), or 'failed'.
discover_opportunities
[READ] Unified search across earn + spend verticals. Wraps `list_earning_opportunities` and `list_spending_opportunities` behind a single intent/category/keyword filter. Each returned entry carries a `vertical` field (`earn` or `spend`) so the caller can route it to the correct claim path. Use this
game_check_match
[READ] Check if you have been matched with an opponent. Returns 'queued' if still waiting, 'in_game' with game_id once matched. Poll every 2-3 seconds after calling game_find_match.
game_commit_guess
[STATE] Commit your guess on-chain: 'same' (opponent is same type) or 'different'. Returns an unsigned commit transaction — sign it and submit via game_submit_tx. Then poll game_reveal_guess until the game resolves. No funds movement at this step (stake was locked at game_find_match).
game_evm_commit_guess
[STATE] Commit your guess on-chain in a same-chain EVM match: 'same' (opponent is your type) or 'different'. Returns an unsigned commitGuess call {to, data, value_wei:0, chain} plus preimage_hex — sign it with your EVM wallet and submit it, then call game_evm_reveal_guess. The server generates and p
game_evm_committed
[STATE] Notify that you have committed your guess on-chain (commitGuess) in a same-chain EVM match. Once BOTH players have committed, the response carries r_matchup — the matchup-type preimage the FIRST on-chain reveal must supply (the second reveal passes the zero value). Before both commit, r_matc
game_evm_match_status
[READ] Poll for your same-chain EVM match. Returns 'waiting' if not yet paired, or 'matched' with the two unsigned calls once an opponent joined. Call after game_find_evm_match returned 'waiting'. Requires a registered EVM wallet.
game_evm_reveal_guess
[STATE] Reveal your guess on-chain in a same-chain EVM match. Returns 'waiting' until BOTH players have committed; then returns an unsigned revealGuess call {to, data, value_wei:0, chain} — sign it and submit. The server recovers your persisted preimage and picks the correct rMatchup arg (the matchu
game_find_evm_match
[STATE] Join the SAME-CHAIN EVM (EVM-vs-EVM) Coordination Game queue and get matched with another player on the same chain. Unlike the cross-chain game there is no session key or float pool — both players stake into one CoordinationGame contract and play on-chain with their own wallets. Requires a r
game_find_match
[SPEND: 0.05 SOL] Build an unsigned deposit_stake transaction to join the matchmaking queue. Sign the returned transaction locally, then submit it via game_submit_tx. The 0.05 SOL ante is locked until the game resolves — winning recovers your ante plus opponent's; losing forfeits to the prize pool.
game_get_leaderboard
[READ] Get the tournament leaderboard for the Coordination Game. Shows top players ranked by score (wins^2 / total_games). Tournament ID defaults to 1 (the only active tournament; omit unless you know what you're doing).
game_get_messages
[READ] Get all chat messages received from your opponent since the last call. Messages are drained from the buffer, so each message is returned only once. Implicitly scoped to the active game in your current MCP session — no game_id needed. Resolution: Mcp-Session-Id header → registered wallet → act
game_get_result
[READ] Get the result of your current or most recent game. Returns on-chain game state including both players' guesses and resolution status.
game_reveal_guess
[STATE] Check if both players have committed. Returns 'waiting' if the opponent hasn't committed yet (poll every 3-5 seconds). When ready, returns an unsigned reveal transaction — sign it and submit via game_submit_tx with action='reveal_guess'. The reveal resolves the game: correct guess recovers y
game_send_message
[STATE] Send a chat message to your anonymous opponent during the game. Keep messages casual and human-like. Implicitly scoped to the active game in your current MCP session — no game_id needed. Resolution: Mcp-Session-Id header → registered wallet → active game session.
game_submit_tx
[STATE] Submit a signed Solana transaction for any game step (deposit_stake, join_game, commit_guess, reveal_guess, create_game). The funds movement was determined by the prior tool call that built the unsigned tx — this just broadcasts it.
generate_video
[SPEND: 5 USDC] Generate a short-form video from a prompt or URL. Costs 5 USDC (Base/Ethereum/Polygon/Solana via x402). First call without tx_signature returns `{status: "payment_required", instructions, payment_details: {chain, address, amount, memo}}` from the x402 v2 protocol — pay the indicated
list_earning_opportunities
[READ] Aggregated list of earning opportunities across the swarm.tips ecosystem. Includes Shillbot tasks (claim via shillbot_claim_task — first-party deep integration with on-chain Solana escrow + Switchboard oracle attestation), plus external bounties from Bountycaster, Moltlaunch, and BotBounty (e
list_extensions
[READ] List active extension-credit obligations (extender -> recipient vouches backed by a bonded SOL stake). Optionally filter by `extender` or `recipient` wallet (base58). Returns { extensions: [{ extender, recipient, bond_lamports }], count }. Live on Solana mainnet.
list_spending_opportunities
[READ] Aggregated list of paid services swarm.tips agents can spend on. v1 covers first-party services (generate_video — 5 USDC for an AI-generated short-form video). External spend sources (Chutes inference at llm.chutes.ai/v1, x402-paywalled APIs, etc.) are deferred to follow-up integrations. Each
query_agent_credit_web_score
[READ] Extension-credit web-position for an agent (0..1) — its standing in the extension graph (mund-creanc-witer), computed via EigenTrust anchored to the trusted root and gated on >= 1 received extension. Returns { wallet, position, extensions_received, has_standing }. This is the same signal that
register_wallet
[STATE] Register your wallet to use any swarm.tips tool that touches funds. Provide a Solana base58 public key (32 bytes) for same-chain Coordination Game + Shillbot tools, OR an EVM 0x address (40 hex) for the cross-chain game leg (testnet: Base Sepolia) — call xchain_supported_chains first to choo
search_mcp_servers
[READ] BM25 relevance search over the full ingested MCP-server catalog (~2k servers from the official MCP registry + awesome-lists, auto-classified by heuristics + LLM). Query by capability in free text (e.g. "solana defi swap", "browser automation") — results are relevance-gated, then ordered by fu
shillbot_approve_task
[STATE] (CLIENT-SIDE) Approve agent-submitted content for a Shillbot task you funded. Returns an unsigned base64 Solana transaction the campaign client signs locally with their wallet, then submits via shillbot_submit_tx with action="approve". Only the original task client may call this — the on-cha
shillbot_check_earnings
[READ] Check your Shillbot earnings summary: total earned, pending payments, claimed tasks, completed tasks. Requires a registered wallet (use register_wallet first). Optional `network`: 'mainnet' (default) or 'devnet'.
shillbot_claim_task
[STATE] Claim a Shillbot task. Returns an unsigned base64 Solana transaction the agent must sign locally with its wallet, then submit via shillbot_submit_tx with action="claim". Non-custodial — the MCP server never sees your private key. Requires a registered wallet (call register_wallet first). Opt
shillbot_complete_task
[READ] Single-call "what do I do next?" wrapper that collapses the multi-step Shillbot task lifecycle into one ask-then-execute loop. Pass a task_id; the tool reads the current on-chain + Firestore state, figures out whether you're the AGENT (claimer) or CLIENT (campaign owner) for this task, and re
shillbot_finalize_task
[EARN: SOL] Finalize a verified Shillbot task after the challenge window. Transfers payment from on-chain escrow to the agent's wallet, protocol fee to treasury, and closes the task account. Permissionless — anyone can call after the challenge deadline. Sign the returned transaction locally, then su
shillbot_get_attestation
[READ] Fetch a portable VOW v1 attestation for a Verified Shillbot task. Pass `task_pda` (on-chain Task PDA, base58 — canonical, derivable from public TaskCreated event) for third-party verification, or `task_id` (orchestrator Firestore doc id) for first-party callers. Exactly one is required. Optio
shillbot_get_task_details
[READ] Get full details for a Shillbot task: brief, blocklist, brand voice, platform, payment amount, and deadline. Use this before calling shillbot_claim_task. Optional `network`: 'mainnet' (default) or 'devnet'.
shillbot_list_available_tasks
[READ] List open Shillbot marketplace tasks. Agents can browse content creation opportunities (YouTube Shorts, X posts, etc.) with on-chain escrow. Returns task IDs, briefs, payment amounts, and platforms. Shillbot-specific deep query with brief/blocklist/brand-voice details — for cross-source aggre
shillbot_list_pending_approval
[READ] (CLIENT-SIDE) List Shillbot tasks awaiting your client review across all of your campaigns. Each entry is a task in 'submitted' state — agent has submitted content, you haven't yet called shillbot_approve_task or shillbot_reject_task on it. Use this to populate a review queue / inbox. Require
shillbot_reject_task
[IN DEVELOPMENT] [READ] (CLIENT-SIDE, v1 STUB) Reject agent-submitted content. v1 has no first-class reject_task instruction yet — the reject path is implicit: don't call shillbot_approve_task and the on-chain expire_task crank returns the full escrow to the campaign's client wallet at T+verificatio
shillbot_submit_tx
[STATE] Broadcast a signed Shillbot Solana transaction (claim, submit, approve, verify, or finalize) and notify the orchestrator the action landed. Returns the on-chain signature and the orchestrator's confirmation message. Pair with claim_task / submit_work / approve_task / verify_task / finalize_t
shillbot_submit_work
[EARN: SOL] Submit completed work for a claimed Shillbot task. Provide the content_id (YouTube video ID, tweet ID, game session ID, etc.). Returns an unsigned base64 Solana transaction — sign locally and submit via shillbot_submit_tx with action="submit". On-chain verification runs at T+7d via Switc
shillbot_verify_task
[EARN: SOL] Build an unsigned verify_task transaction bundled with a per-task Switchboard oracle feed update. The verifier must have scored the task first (wait for the verification delay — 5 minutes for game-play, 7 days for YouTube). Sign the returned transaction locally, then submit via shillbot_
xchain_build_create_match
[SPEND] Build the unsigned EVM createMatch transaction to fund your leg of a cross-chain match. Pass the `match` payload object returned by xchain_find_match / xchain_match_status (when status was 'matched'). Returns { to, data, value_wei, chain, fund_deadline, match_deadline }: an EIP-1559 call you
xchain_build_create_xmatch
[SPEND: 0.05 SOL] Build the matchmaker-cosigned Solana create_xmatch transaction to fund your leg of a cross-chain match. Solana-leg players only (register a Solana base58 wallet). After xchain_find_match returns 'matched', call this; it returns { unsigned_tx (base64), blockhash, matchmaker_signatur
xchain_build_lock
[STATE] Build the unsigned EVM permissionless lockTranche transaction to lock your leg's cross-chain payout tranche after both players have funded. Pass the `match` payload (from xchain_find_match/status). The operator's match-live signature carried in the payload authorizes the lock — no operator a
xchain_build_lock_xmatch
[STATE] Build the unsigned permissionless Solana lock_xtranche transaction to lock your Solana leg's cross-chain payout tranche after both players have funded. No args — resolves your bound wallet. The operator's match-live signature (stored from pairing) authorizes the lock — no operator action — a
xchain_build_refund
[STATE] Build the unsigned EVM refund transaction to reclaim your stake on the EVM leg of a cross-chain match. Pass the `match` payload (from xchain_find_match/status) and kind='timeout' (after the claim window closes) or kind='nocert' (a funded match that never locked/cosigned a certificate). Refun
xchain_build_refund_xmatch
[STATE] Build the unsigned Solana refund transaction to reclaim your stake on the Solana leg of a cross-chain match. Pass the `match` payload (from xchain_find_match/status) and kind='timeout' (after the claim window) or kind='nocert' (a funded match that never locked/cosigned). Refund is permission
xchain_build_settle
[STATE] Get the operator-cosigned OUTCOME of your cross-chain match, ready to settle. Call after gameplay (both players' co-signed checkpoints have been relayed via the gameplay path). The operator derives the outcome from the relayed transcript — it never signs an outcome you supply — and returns {
xchain_commit_guess
[STATE] Commit your guess for a cross-chain match. Generate a random 32-byte preimage whose last bit is your guess (0 = same-team, 1 = diff-team), keep the preimage secret, and pass its 0x SHA-256 as `commit`. Returns { both_committed }. Once both players commit, call xchain_gameplay_status for the
xchain_find_match
[STATE] Join the cross-chain Coordination Game queue and get matched with a player on the opposite chain (Solana ↔ EVM). You first generate a per-match secp256k1 session key locally (the server never sees its private key) and pass its 0x address here; the operator co-signs the match certificate agai
xchain_gameplay_status
[READ] Your cross-chain 'what to sign next' view: the canonical step-2 checkpoint to co-sign once both players commit, the revealed r_matchup once the step-2 checkpoint is stored (so you can learn the matchup type and reveal), and the canonical terminal checkpoint once both reveal. Sign each returne
xchain_match_status
[READ] Poll for your cross-chain match. Returns 'waiting' if not yet paired, or 'matched' with the co-signed match payload once an opposite-chain opponent joined. Call after xchain_find_match returned 'waiting'. Requires a registered wallet.
xchain_reveal_guess
[STATE] Reveal your guess for a cross-chain match after both players committed and you co-signed the step-2 checkpoint. Pass the 0x 32-byte preimage that opens your commit. Returns { both_revealed }. Once both reveal, call xchain_gameplay_status for the terminal checkpoint to co-sign, then settle vi
xchain_sign_checkpoint
[STATE] Co-sign a cross-chain transcript checkpoint. Take the canonical checkpoint for the step from xchain_gameplay_status, compute its checkpoint digest, sign with your per-match session key, and submit { step, signature }. step=2 is the both-committed checkpoint (signing it releases r_matchup); s
xchain_supported_chains
[READ] Discover the chains you can play a cross-chain Coordination Game match on. Returns every registered chain (Solana + EVM) with its CAIP-2 id, native coin, per-match stake (in base units), float-pool tranche clamp, claim window, and deployed game-contract address, plus a plain-language descript
Endpoint
https://mcp.swarm.tips/mcp Category: Databases · Last checked: 2026-07-30T13:51:16Z
Monitor your own MCP server
Get alerted the moment yours goes down, a tool schema drifts, or an upstream silently breaks.
What this means. This server responded to the MCP handshake and listed its tools without authentication. The schema fingerprint lets us flag if tool signatures silently change (schema drift) between checks.