{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_yt94x4hqjyc4","handle":"memeswap-mcp","url":"https://wellknown.network/agents/memeswap-mcp","links":{"self":"https://wellknown.network/agents/memeswap-mcp/record.json","html":"https://wellknown.network/agents/memeswap-mcp","markdown":"https://wellknown.network/agents/memeswap-mcp/record.md","api":"https://wellknown.network/api/v1/agents/memeswap-mcp","status":"https://wellknown.network/api/v1/agents/memeswap-mcp/status","claim":"https://wellknown.network/agents/memeswap-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/memeswap-mcp/claim.json","badge":"https://wellknown.network/agents/memeswap-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/memeswap-mcp/history","tools":"https://wellknown.network/api/v1/agents/memeswap-mcp/tools"},"ard":{"identifier":"urn:air:mcp.memeswap.fun:server:memeswap-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"MemeSwap MCP","summary":"Buy & research hot/new memes. Quotes + unsigned swaps; wallet signs. Not a launcher. Fee 0.85%. NFA.","description":"Buy & research hot/new memes. Quotes + unsigned swaps; wallet signs. Not a launcher. Fee 0.85%. NFA.","publisher":{"name":"fun.memeswap","url":null},"homepage":"https://memeswap.fun/","repository":null,"version":"0.2.1","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://mcp.memeswap.fun/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-02T00:02:10.159118Z","publishedAt":"2026-10-02T00:02:10.159118Z","registryName":"fun.memeswap/trading"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"finance.markets","name":"Markets & Trading","confidence":1,"provenance":"derived"},{"slug":"security.identity","name":"Identity & Access","confidence":1,"provenance":"derived"},{"slug":"security.secrets","name":"Secrets Management","confidence":1,"provenance":"derived"},{"slug":"commerce.payments","name":"Payments","confidence":0.885,"provenance":"derived"},{"slug":"commerce.pricing","name":"Pricing & Quotes","confidence":0.859,"provenance":"derived"},{"slug":"content.marketing","name":"Marketing","confidence":0.54,"provenance":"derived"},{"slug":"dev.filesystem","name":"Filesystem","confidence":0.54,"provenance":"derived"},{"slug":"ai.agent-discovery","name":"Agent Discovery","confidence":0.54,"provenance":"derived"}],"categories":["ai","commerce","content","dev","finance","security"],"language":"fr"},"observed":{"status":"live","statusReason":"Responded 56m ago.","lastOkAt":"2026-10-10T13:25:23.944Z","lastProbedAt":"2026-10-10T13:25:23.944Z","statusComputedAt":"2026-10-10T13:26:45.831Z","reliability30d":{"probes":26,"successRate":1,"p50Ms":349,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":26,"ok":26,"authBoundaryOk":0,"serviceOk":26,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-10T13:25:23.944Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":369,"error":null,"detail":{"tools":[{"name":"memeswap_trading_help","description":"First read for agents helping users buy a hot meme coin or research memecoins via quote→unsigned build; wallet signs. Not a token launcher. Fee 0.85%. NFA. Secu"},{"name":"memeswap_health","description":"Readiness for meme research / buy routing from GET /api/health. Confirms the origin is up and fee routes are configured (0.85%). Not per-token data."},{"name":"memeswap_chains","description":"Networks for meme research / buy routing from GET /api/chains (keys, explorers, aggregators)."},{"name":"memeswap_tokens","description":"Listed meme coin market rows from GET /api/tokens: use when the user asks for hot / new / trending memes to research before a buy. Prefer memeswap_token for one"},{"name":"memeswap_token","description":"Deep profile for one meme coin before a buy decision (risk/market) via GET /api/token/:chain/:address."},{"name":"memeswap_portfolio","description":"Public-address holdings check before/after a meme buy (GET /api/portfolio). Address is routing input, not proof of ownership."},{"name":"memeswap_quote","description":"Indicative buy/sell quote for a listed meme coin from GET /api/quote. Does not execute. Next step: memeswap_build. Quotes can expire; request a fresh quote befo"},{"name":"memeswap_build","description":"Builds unsigned swap material so the user can buy (or sell) a listed meme coin (POST /api/build); wallet must review and sign. Not a launch/create-token tool. F"},{"name":"memeswap_xquote","description":"Cross-chain quote + unsigned material when the user wants to buy a meme across chains (GET /api/xquote). Wallet signs. Does not submit."},{"name":"memeswap_onboarding_help","description":"Onboard a human signer for non-custodial meme buys via MCP: connect wallet (human signs), set username/avatar, wallet-ref duct, scoped credentials. No custody /"},{"name":"memeswap_game_me","description":"Public game/profile card for a wallet (GET /api/game/me): display name, avatar URL choices, scores. No secrets."},{"name":"memeswap_social_providers","description":"List social connect providers (GET /api/social/providers). OAuth still requires a human browser session."},{"name":"memeswap_list_wallet_refs","description":"List wallet refs [{wallet, override}] + active letter (GET /api/v1.1/me/refs). Requires live user API + scoped token."},{"name":"memeswap_set_wallet_refs","description":"Replace wallet-ref list (PUT /api/v1.1/me/refs). Public addresses only. Requires live user API + refs:write token."},{"name":"memeswap_select_wallet_ref","description":"Select active wallet-ref letter (PUT /api/v1.1/me/refs/active). Requires live user API + refs:write."},{"name":"memeswap_list_credentials","description":"List scoped API credential metadata (GET /api/v1.1/me/credentials). Never returns secrets. Requires live user API."},{"name":"memeswap_create_credential","description":"Create scoped user API token (POST /api/v1.1/me/credentials). Usually wallet-session only on portal; agents get API_GAP or one-time secret once: show once, neve"},{"name":"memeswap_revoke_credential","description":"Revoke one credential by 16-hex id (DELETE /api/v1.1/me/credentials/:id). Requires live user API."},{"name":"memeswap_set_profile","description":"Set display name / emoji / preset avatar (POST /api/game/profile). Needs wallet session bearer or signed profile message: MCP cannot sign. Returns guidance unti"},{"name":"memeswap_set_avatar","description":"Upload wallet/profile image (POST /api/game/avatar). Needs session bearer + image bytes; MCP does not accept raw image uploads in v0.2."},{"name":"memeswap_xstatus","description":"Provider-reported bridge transaction status (GET /api/xstatus). Observational; may lag final chain state."},{"name":"memeswap_growth_help","description":"Use first when an agent will recruit people, run a Squad, earn referral fees or post token reels; returns the flow in order, the signing messages and the rules "},{"name":"memeswap_session_message","description":"Use to start a wallet session; returns {wallet, ts, nonce, message} for the wallet to personal_sign, then pass the signature to memeswap_session_open."},{"name":"memeswap_session_open","description":"Use after signing the session message; posts {wallet, ts, nonce, signature} to /api/game/session and returns {token, wallet, expiresAt}, the caller bearer for s"},{"name":"memeswap_social_login","description":"Use with a session bearer to sign in to Squads (POST /api/social/login/wallet-session); returns {social, profile, badge}, where social is the cookie value every"},{"name":"memeswap_referral_terms","description":"Use before accepting referrer terms; returns the current termsVersion, terms and rules URLs and the acceptance message templates (GET /api/referrals/terms)."},{"name":"memeswap_referral_accept_message","description":"Use to get the two messages a referrer signs with fresh timestamps; returns the terms acceptance message (ISO ts) for memeswap_referral_accept and the referral "},{"name":"memeswap_referral_accept","description":"Use once per wallet to record the referrer terms acceptance (POST /api/referrals/accept); returns the server acceptance record."},{"name":"memeswap_referral_code","description":"Use after the terms are accepted to get the referral code, link, shareText and rules (POST /api/referrals/code); ts is the epoch ms inside the signed referral m"},{"name":"memeswap_referral_stats","description":"Use to read counts for a referral code (GET /api/referrals/stats); public counts, and with wallet, signature and ts (the referral message signature) the referre"},{"name":"memeswap_squad_mine","description":"Use to read the caller own squad, role and membership (GET /api/social/community/squads/mine); returns the server answer plus the invite link."},{"name":"memeswap_squad_directory","description":"Use to browse or search squads by name or tag (GET /api/social/community/squads/directory); returns items with invite links and nextCursor."},{"name":"memeswap_squad_create","description":"Use to found a Squad (POST /api/social/community/squads/create {name, tag, requestId}); returns the new squad with its invite link."},{"name":"memeswap_squad_apply","description":"Use to apply to join a Squad (POST /api/social/community/squads/apply {squadId, requestId}); returns the application the leader decides on."},{"name":"memeswap_squad_share_card","description":"Use to get the invite card for the caller own squad (GET /api/social/community/squads/share-card?squadId=); returns the card plus the link https://memeswap.fun/"},{"name":"memeswap_squad_privacy","description":"Use to read the caller squad privacy switches (GET /api/social/community/squads/privacy); returns revision, showIdentity and showSize."},{"name":"memeswap_squad_set_privacy","description":"Use to change the squad privacy switches (POST /api/social/community/squads/privacy {expectedRevision, showIdentity, showSize}); returns the new revision."},{"name":"memeswap_earn_summary","description":"Use to read pending and available Earn amounts for the session wallet (GET /api/earn/summary?wallet=, Authorization: Bearer); returns the server summary; scope="},{"name":"memeswap_earn_leaderboard","description":"Use to read the public Earn leaderboards (GET /api/earn/leaderboard); returns the rows the server ranks for board, period, role and metric."},{"name":"memeswap_reel_post","description":"Use to post an agent reel about a listed token from an https video URL; opens /api/reels/agent/upload-session with the bearer and {chain, token, caption, fileSh"},{"name":"memeswap_reel_status","description":"Use to poll one reel (GET /api/reels/<reelId>); returns the server reel with status, hiddenReason, removedReason, aiDisclosure and tokenCard; pass the creator s"},{"name":"memeswap_brand_kit","description":"Use before producing any MemeSwap promotion; returns the approved brand kit (artwork URLs, colours, logos, copy and usage rules) from GET /brand/kit.json, relay"},{"name":"memeswap_marketing_help","description":"Use when an agent will promote MemeSwap anywhere; returns how to do it with attribution (referral link, App Store link, reels with AI disclosure) and the copy r"}],"toolCount":43,"toolsHash":"76fca418da91d4cb60c449d3800663c0908a49726a08652d6816d453589d2292","serverName":"memeswap-trading","capabilities":["tools","prompts"],"serverVersion":"0.3.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T07:24:13.140Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":359,"error":null,"detail":{"tools":[{"name":"memeswap_trading_help","description":"First read for agents helping users buy a hot meme coin or research memecoins via quote→unsigned build; wallet signs. Not a token launcher. Fee 0.85%. NFA. Secu"},{"name":"memeswap_health","description":"Readiness for meme research / buy routing from GET /api/health. Confirms the origin is up and fee routes are configured (0.85%). Not per-token data."},{"name":"memeswap_chains","description":"Networks for meme research / buy routing from GET /api/chains (keys, explorers, aggregators)."},{"name":"memeswap_tokens","description":"Listed meme coin market rows from GET /api/tokens: use when the user asks for hot / new / trending memes to research before a buy. Prefer memeswap_token for one"},{"name":"memeswap_token","description":"Deep profile for one meme coin before a buy decision (risk/market) via GET /api/token/:chain/:address."},{"name":"memeswap_portfolio","description":"Public-address holdings check before/after a meme buy (GET /api/portfolio). Address is routing input, not proof of ownership."},{"name":"memeswap_quote","description":"Indicative buy/sell quote for a listed meme coin from GET /api/quote. Does not execute. Next step: memeswap_build. Quotes can expire; request a fresh quote befo"},{"name":"memeswap_build","description":"Builds unsigned swap material so the user can buy (or sell) a listed meme coin (POST /api/build); wallet must review and sign. Not a launch/create-token tool. F"},{"name":"memeswap_xquote","description":"Cross-chain quote + unsigned material when the user wants to buy a meme across chains (GET /api/xquote). Wallet signs. Does not submit."},{"name":"memeswap_onboarding_help","description":"Onboard a human signer for non-custodial meme buys via MCP: connect wallet (human signs), set username/avatar, wallet-ref duct, scoped credentials. No custody /"},{"name":"memeswap_game_me","description":"Public game/profile card for a wallet (GET /api/game/me): display name, avatar URL choices, scores. No secrets."},{"name":"memeswap_social_providers","description":"List social connect providers (GET /api/social/providers). OAuth still requires a human browser session."},{"name":"memeswap_list_wallet_refs","description":"List wallet refs [{wallet, override}] + active letter (GET /api/v1.1/me/refs). Requires live user API + scoped token."},{"name":"memeswap_set_wallet_refs","description":"Replace wallet-ref list (PUT /api/v1.1/me/refs). Public addresses only. Requires live user API + refs:write token."},{"name":"memeswap_select_wallet_ref","description":"Select active wallet-ref letter (PUT /api/v1.1/me/refs/active). Requires live user API + refs:write."},{"name":"memeswap_list_credentials","description":"List scoped API credential metadata (GET /api/v1.1/me/credentials). Never returns secrets. Requires live user API."},{"name":"memeswap_create_credential","description":"Create scoped user API token (POST /api/v1.1/me/credentials). Usually wallet-session only on portal; agents get API_GAP or one-time secret once: show once, neve"},{"name":"memeswap_revoke_credential","description":"Revoke one credential by 16-hex id (DELETE /api/v1.1/me/credentials/:id). Requires live user API."},{"name":"memeswap_set_profile","description":"Set display name / emoji / preset avatar (POST /api/game/profile). Needs wallet session bearer or signed profile message: MCP cannot sign. Returns guidance unti"},{"name":"memeswap_set_avatar","description":"Upload wallet/profile image (POST /api/game/avatar). Needs session bearer + image bytes; MCP does not accept raw image uploads in v0.2."},{"name":"memeswap_xstatus","description":"Provider-reported bridge transaction status (GET /api/xstatus). Observational; may lag final chain state."},{"name":"memeswap_growth_help","description":"Use first when an agent will recruit people, run a Squad, earn referral fees or post token reels; returns the flow in order, the signing messages and the rules "},{"name":"memeswap_session_message","description":"Use to start a wallet session; returns {wallet, ts, nonce, message} for the wallet to personal_sign, then pass the signature to memeswap_session_open."},{"name":"memeswap_session_open","description":"Use after signing the session message; posts {wallet, ts, nonce, signature} to /api/game/session and returns {token, wallet, expiresAt}, the caller bearer for s"},{"name":"memeswap_social_login","description":"Use with a session bearer to sign in to Squads (POST /api/social/login/wallet-session); returns {social, profile, badge}, where social is the cookie value every"},{"name":"memeswap_referral_terms","description":"Use before accepting referrer terms; returns the current termsVersion, terms and rules URLs and the acceptance message templates (GET /api/referrals/terms)."},{"name":"memeswap_referral_accept_message","description":"Use to get the two messages a referrer signs with fresh timestamps; returns the terms acceptance message (ISO ts) for memeswap_referral_accept and the referral "},{"name":"memeswap_referral_accept","description":"Use once per wallet to record the referrer terms acceptance (POST /api/referrals/accept); returns the server acceptance record."},{"name":"memeswap_referral_code","description":"Use after the terms are accepted to get the referral code, link, shareText and rules (POST /api/referrals/code); ts is the epoch ms inside the signed referral m"},{"name":"memeswap_referral_stats","description":"Use to read counts for a referral code (GET /api/referrals/stats); public counts, and with wallet, signature and ts (the referral message signature) the referre"},{"name":"memeswap_squad_mine","description":"Use to read the caller own squad, role and membership (GET /api/social/community/squads/mine); returns the server answer plus the invite link."},{"name":"memeswap_squad_directory","description":"Use to browse or search squads by name or tag (GET /api/social/community/squads/directory); returns items with invite links and nextCursor."},{"name":"memeswap_squad_create","description":"Use to found a Squad (POST /api/social/community/squads/create {name, tag, requestId}); returns the new squad with its invite link."},{"name":"memeswap_squad_apply","description":"Use to apply to join a Squad (POST /api/social/community/squads/apply {squadId, requestId}); returns the application the leader decides on."},{"name":"memeswap_squad_share_card","description":"Use to get the invite card for the caller own squad (GET /api/social/community/squads/share-card?squadId=); returns the card plus the link https://memeswap.fun/"},{"name":"memeswap_squad_privacy","description":"Use to read the caller squad privacy switches (GET /api/social/community/squads/privacy); returns revision, showIdentity and showSize."},{"name":"memeswap_squad_set_privacy","description":"Use to change the squad privacy switches (POST /api/social/community/squads/privacy {expectedRevision, showIdentity, showSize}); returns the new revision."},{"name":"memeswap_earn_summary","description":"Use to read pending and available Earn amounts for the session wallet (GET /api/earn/summary?wallet=, Authorization: Bearer); returns the server summary; scope="},{"name":"memeswap_earn_leaderboard","description":"Use to read the public Earn leaderboards (GET /api/earn/leaderboard); returns the rows the server ranks for board, period, role and metric."},{"name":"memeswap_reel_post","description":"Use to post an agent reel about a listed token from an https video URL; opens /api/reels/agent/upload-session with the bearer and {chain, token, caption, fileSh"},{"name":"memeswap_reel_status","description":"Use to poll one reel (GET /api/reels/<reelId>); returns the server reel with status, hiddenReason, removedReason, aiDisclosure and tokenCard; pass the creator s"},{"name":"memeswap_brand_kit","description":"Use before producing any MemeSwap promotion; returns the approved brand kit (artwork URLs, colours, logos, copy and usage rules) from GET /brand/kit.json, relay"},{"name":"memeswap_marketing_help","description":"Use when an agent will promote MemeSwap anywhere; returns how to do it with attribution (referral link, App Store link, reels with AI disclosure) and the copy r"}],"toolCount":43,"toolsHash":"76fca418da91d4cb60c449d3800663c0908a49726a08652d6816d453589d2292","serverName":"memeswap-trading","capabilities":["tools","prompts"],"serverVersion":"0.3.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T01:25:10.576Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":460,"error":null,"detail":{"tools":[{"name":"memeswap_trading_help","description":"First read for agents helping users buy a hot meme coin or research memecoins via quote→unsigned build; wallet signs. Not a token launcher. Fee 0.85%. NFA. Secu"},{"name":"memeswap_health","description":"Readiness for meme research / buy routing from GET /api/health. Confirms the origin is up and fee routes are configured (0.85%). Not per-token data."},{"name":"memeswap_chains","description":"Networks for meme research / buy routing from GET /api/chains (keys, explorers, aggregators)."},{"name":"memeswap_tokens","description":"Listed meme coin market rows from GET /api/tokens: use when the user asks for hot / new / trending memes to research before a buy. Prefer memeswap_token for one"},{"name":"memeswap_token","description":"Deep profile for one meme coin before a buy decision (risk/market) via GET /api/token/:chain/:address."},{"name":"memeswap_portfolio","description":"Public-address holdings check before/after a meme buy (GET /api/portfolio). Address is routing input, not proof of ownership."},{"name":"memeswap_quote","description":"Indicative buy/sell quote for a listed meme coin from GET /api/quote. Does not execute. Next step: memeswap_build. Quotes can expire; request a fresh quote befo"},{"name":"memeswap_build","description":"Builds unsigned swap material so the user can buy (or sell) a listed meme coin (POST /api/build); wallet must review and sign. Not a launch/create-token tool. F"},{"name":"memeswap_xquote","description":"Cross-chain quote + unsigned material when the user wants to buy a meme across chains (GET /api/xquote). Wallet signs. Does not submit."},{"name":"memeswap_onboarding_help","description":"Onboard a human signer for non-custodial meme buys via MCP: connect wallet (human signs), set username/avatar, wallet-ref duct, scoped credentials. No custody /"},{"name":"memeswap_game_me","description":"Public game/profile card for a wallet (GET /api/game/me): display name, avatar URL choices, scores. No secrets."},{"name":"memeswap_social_providers","description":"List social connect providers (GET /api/social/providers). OAuth still requires a human browser session."},{"name":"memeswap_list_wallet_refs","description":"List wallet refs [{wallet, override}] + active letter (GET /api/v1.1/me/refs). Requires live user API + scoped token."},{"name":"memeswap_set_wallet_refs","description":"Replace wallet-ref list (PUT /api/v1.1/me/refs). Public addresses only. Requires live user API + refs:write token."},{"name":"memeswap_select_wallet_ref","description":"Select active wallet-ref letter (PUT /api/v1.1/me/refs/active). Requires live user API + refs:write."},{"name":"memeswap_list_credentials","description":"List scoped API credential metadata (GET /api/v1.1/me/credentials). Never returns secrets. Requires live user API."},{"name":"memeswap_create_credential","description":"Create scoped user API token (POST /api/v1.1/me/credentials). Usually wallet-session only on portal; agents get API_GAP or one-time secret once: show once, neve"},{"name":"memeswap_revoke_credential","description":"Revoke one credential by 16-hex id (DELETE /api/v1.1/me/credentials/:id). Requires live user API."},{"name":"memeswap_set_profile","description":"Set display name / emoji / preset avatar (POST /api/game/profile). Needs wallet session bearer or signed profile message: MCP cannot sign. Returns guidance unti"},{"name":"memeswap_set_avatar","description":"Upload wallet/profile image (POST /api/game/avatar). Needs session bearer + image bytes; MCP does not accept raw image uploads in v0.2."},{"name":"memeswap_xstatus","description":"Provider-reported bridge transaction status (GET /api/xstatus). Observational; may lag final chain state."},{"name":"memeswap_growth_help","description":"Use first when an agent will recruit people, run a Squad, earn referral fees or post token reels; returns the flow in order, the signing messages and the rules "},{"name":"memeswap_session_message","description":"Use to start a wallet session; returns {wallet, ts, nonce, message} for the wallet to personal_sign, then pass the signature to memeswap_session_open."},{"name":"memeswap_session_open","description":"Use after signing the session message; posts {wallet, ts, nonce, signature} to /api/game/session and returns {token, wallet, expiresAt}, the caller bearer for s"},{"name":"memeswap_social_login","description":"Use with a session bearer to sign in to Squads (POST /api/social/login/wallet-session); returns {social, profile, badge}, where social is the cookie value every"},{"name":"memeswap_referral_terms","description":"Use before accepting referrer terms; returns the current termsVersion, terms and rules URLs and the acceptance message templates (GET /api/referrals/terms)."},{"name":"memeswap_referral_accept_message","description":"Use to get the two messages a referrer signs with fresh timestamps; returns the terms acceptance message (ISO ts) for memeswap_referral_accept and the referral "},{"name":"memeswap_referral_accept","description":"Use once per wallet to record the referrer terms acceptance (POST /api/referrals/accept); returns the server acceptance record."},{"name":"memeswap_referral_code","description":"Use after the terms are accepted to get the referral code, link, shareText and rules (POST /api/referrals/code); ts is the epoch ms inside the signed referral m"},{"name":"memeswap_referral_stats","description":"Use to read counts for a referral code (GET /api/referrals/stats); public counts, and with wallet, signature and ts (the referral message signature) the referre"},{"name":"memeswap_squad_mine","description":"Use to read the caller own squad, role and membership (GET /api/social/community/squads/mine); returns the server answer plus the invite link."},{"name":"memeswap_squad_directory","description":"Use to browse or search squads by name or tag (GET /api/social/community/squads/directory); returns items with invite links and nextCursor."},{"name":"memeswap_squad_create","description":"Use to found a Squad (POST /api/social/community/squads/create {name, tag, requestId}); returns the new squad with its invite link."},{"name":"memeswap_squad_apply","description":"Use to apply to join a Squad (POST /api/social/community/squads/apply {squadId, requestId}); returns the application the leader decides on."},{"name":"memeswap_squad_share_card","description":"Use to get the invite card for the caller own squad (GET /api/social/community/squads/share-card?squadId=); returns the card plus the link https://memeswap.fun/"},{"name":"memeswap_squad_privacy","description":"Use to read the caller squad privacy switches (GET /api/social/community/squads/privacy); returns revision, showIdentity and showSize."},{"name":"memeswap_squad_set_privacy","description":"Use to change the squad privacy switches (POST /api/social/community/squads/privacy {expectedRevision, showIdentity, showSize}); returns the new revision."},{"name":"memeswap_earn_summary","description":"Use to read pending and available Earn amounts for the session wallet (GET /api/earn/summary?wallet=, Authorization: Bearer); returns the server summary; scope="},{"name":"memeswap_earn_leaderboard","description":"Use to read the public Earn leaderboards (GET /api/earn/leaderboard); returns the rows the server ranks for board, period, role and metric."},{"name":"memeswap_reel_post","description":"Use to post an agent reel about a listed token from an https video URL; opens /api/reels/agent/upload-session with the bearer and {chain, token, caption, fileSh"},{"name":"memeswap_reel_status","description":"Use to poll one reel (GET /api/reels/<reelId>); returns the server reel with status, hiddenReason, removedReason, aiDisclosure and tokenCard; pass the creator s"},{"name":"memeswap_brand_kit","description":"Use before producing any MemeSwap promotion; returns the approved brand kit (artwork URLs, colours, logos, copy and usage rules) from GET /brand/kit.json, relay"},{"name":"memeswap_marketing_help","description":"Use when an agent will promote MemeSwap anywhere; returns how to do it with attribution (referral link, App Store link, reels with AI disclosure) and the copy r"}],"toolCount":43,"toolsHash":"76fca418da91d4cb60c449d3800663c0908a49726a08652d6816d453589d2292","serverName":"memeswap-trading","capabilities":["tools","prompts"],"serverVersion":"0.3.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T19:26:56.650Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":391,"error":null,"detail":{"tools":[{"name":"memeswap_trading_help","description":"First read for agents helping users buy a hot meme coin or research memecoins via quote→unsigned build; wallet signs. Not a token launcher. Fee 0.85%. NFA. Secu"},{"name":"memeswap_health","description":"Readiness for meme research / buy routing from GET /api/health. Confirms the origin is up and fee routes are configured (0.85%). Not per-token data."},{"name":"memeswap_chains","description":"Networks for meme research / buy routing from GET /api/chains (keys, explorers, aggregators)."},{"name":"memeswap_tokens","description":"Listed meme coin market rows from GET /api/tokens: use when the user asks for hot / new / trending memes to research before a buy. Prefer memeswap_token for one"},{"name":"memeswap_token","description":"Deep profile for one meme coin before a buy decision (risk/market) via GET /api/token/:chain/:address."},{"name":"memeswap_portfolio","description":"Public-address holdings check before/after a meme buy (GET /api/portfolio). Address is routing input, not proof of ownership."},{"name":"memeswap_quote","description":"Indicative buy/sell quote for a listed meme coin from GET /api/quote. Does not execute. Next step: memeswap_build. Quotes can expire; request a fresh quote befo"},{"name":"memeswap_build","description":"Builds unsigned swap material so the user can buy (or sell) a listed meme coin (POST /api/build); wallet must review and sign. Not a launch/create-token tool. F"},{"name":"memeswap_xquote","description":"Cross-chain quote + unsigned material when the user wants to buy a meme across chains (GET /api/xquote). Wallet signs. Does not submit."},{"name":"memeswap_onboarding_help","description":"Onboard a human signer for non-custodial meme buys via MCP: connect wallet (human signs), set username/avatar, wallet-ref duct, scoped credentials. No custody /"},{"name":"memeswap_game_me","description":"Public game/profile card for a wallet (GET /api/game/me): display name, avatar URL choices, scores. No secrets."},{"name":"memeswap_social_providers","description":"List social connect providers (GET /api/social/providers). OAuth still requires a human browser session."},{"name":"memeswap_list_wallet_refs","description":"List wallet refs [{wallet, override}] + active letter (GET /api/v1.1/me/refs). Requires live user API + scoped token."},{"name":"memeswap_set_wallet_refs","description":"Replace wallet-ref list (PUT /api/v1.1/me/refs). Public addresses only. Requires live user API + refs:write token."},{"name":"memeswap_select_wallet_ref","description":"Select active wallet-ref letter (PUT /api/v1.1/me/refs/active). Requires live user API + refs:write."},{"name":"memeswap_list_credentials","description":"List scoped API credential metadata (GET /api/v1.1/me/credentials). Never returns secrets. Requires live user API."},{"name":"memeswap_create_credential","description":"Create scoped user API token (POST /api/v1.1/me/credentials). Usually wallet-session only on portal; agents get API_GAP or one-time secret once: show once, neve"},{"name":"memeswap_revoke_credential","description":"Revoke one credential by 16-hex id (DELETE /api/v1.1/me/credentials/:id). Requires live user API."},{"name":"memeswap_set_profile","description":"Set display name / emoji / preset avatar (POST /api/game/profile). Needs wallet session bearer or signed profile message: MCP cannot sign. Returns guidance unti"},{"name":"memeswap_set_avatar","description":"Upload wallet/profile image (POST /api/game/avatar). Needs session bearer + image bytes; MCP does not accept raw image uploads in v0.2."},{"name":"memeswap_xstatus","description":"Provider-reported bridge transaction status (GET /api/xstatus). Observational; may lag final chain state."},{"name":"memeswap_growth_help","description":"Use first when an agent will recruit people, run a Squad, earn referral fees or post token reels; returns the flow in order, the signing messages and the rules "},{"name":"memeswap_session_message","description":"Use to start a wallet session; returns {wallet, ts, nonce, message} for the wallet to personal_sign, then pass the signature to memeswap_session_open."},{"name":"memeswap_session_open","description":"Use after signing the session message; posts {wallet, ts, nonce, signature} to /api/game/session and returns {token, wallet, expiresAt}, the caller bearer for s"},{"name":"memeswap_social_login","description":"Use with a session bearer to sign in to Squads (POST /api/social/login/wallet-session); returns {social, profile, badge}, where social is the cookie value every"},{"name":"memeswap_referral_terms","description":"Use before accepting referrer terms; returns the current termsVersion, terms and rules URLs and the acceptance message templates (GET /api/referrals/terms)."},{"name":"memeswap_referral_accept_message","description":"Use to get the two messages a referrer signs with fresh timestamps; returns the terms acceptance message (ISO ts) for memeswap_referral_accept and the referral "},{"name":"memeswap_referral_accept","description":"Use once per wallet to record the referrer terms acceptance (POST /api/referrals/accept); returns the server acceptance record."},{"name":"memeswap_referral_code","description":"Use after the terms are accepted to get the referral code, link, shareText and rules (POST /api/referrals/code); ts is the epoch ms inside the signed referral m"},{"name":"memeswap_referral_stats","description":"Use to read counts for a referral code (GET /api/referrals/stats); public counts, and with wallet, signature and ts (the referral message signature) the referre"},{"name":"memeswap_squad_mine","description":"Use to read the caller own squad, role and membership (GET /api/social/community/squads/mine); returns the server answer plus the invite link."},{"name":"memeswap_squad_directory","description":"Use to browse or search squads by name or tag (GET /api/social/community/squads/directory); returns items with invite links and nextCursor."},{"name":"memeswap_squad_create","description":"Use to found a Squad (POST /api/social/community/squads/create {name, tag, requestId}); returns the new squad with its invite link."},{"name":"memeswap_squad_apply","description":"Use to apply to join a Squad (POST /api/social/community/squads/apply {squadId, requestId}); returns the application the leader decides on."},{"name":"memeswap_squad_share_card","description":"Use to get the invite card for the caller own squad (GET /api/social/community/squads/share-card?squadId=); returns the card plus the link https://memeswap.fun/"},{"name":"memeswap_squad_privacy","description":"Use to read the caller squad privacy switches (GET /api/social/community/squads/privacy); returns revision, showIdentity and showSize."},{"name":"memeswap_squad_set_privacy","description":"Use to change the squad privacy switches (POST /api/social/community/squads/privacy {expectedRevision, showIdentity, showSize}); returns the new revision."},{"name":"memeswap_earn_summary","description":"Use to read pending and available Earn amounts for the session wallet (GET /api/earn/summary?wallet=, Authorization: Bearer); returns the server summary; scope="},{"name":"memeswap_earn_leaderboard","description":"Use to read the public Earn leaderboards (GET /api/earn/leaderboard); returns the rows the server ranks for board, period, role and metric."},{"name":"memeswap_reel_post","description":"Use to post an agent reel about a listed token from an https video URL; opens /api/reels/agent/upload-session with the bearer and {chain, token, caption, fileSh"},{"name":"memeswap_reel_status","description":"Use to poll one reel (GET /api/reels/<reelId>); returns the server reel with status, hiddenReason, removedReason, aiDisclosure and tokenCard; pass the creator s"},{"name":"memeswap_brand_kit","description":"Use before producing any MemeSwap promotion; returns the approved brand kit (artwork URLs, colours, logos, copy and usage rules) from GET /brand/kit.json, relay"},{"name":"memeswap_marketing_help","description":"Use when an agent will promote MemeSwap anywhere; returns how to do it with attribution (referral link, App Store link, reels with AI disclosure) and the copy r"}],"toolCount":43,"toolsHash":"76fca418da91d4cb60c449d3800663c0908a49726a08652d6816d453589d2292","serverName":"memeswap-trading","capabilities":["tools","prompts"],"serverVersion":"0.3.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T12:29:50.724Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":356,"error":null,"detail":{"tools":[{"name":"memeswap_trading_help","description":"First read for agents helping users buy a hot meme coin or research memecoins via quote→unsigned build; wallet signs. Not a token launcher. Fee 0.85%. NFA. Secu"},{"name":"memeswap_health","description":"Readiness for meme research / buy routing from GET /api/health. Confirms the origin is up and fee routes are configured (0.85%). Not per-token data."},{"name":"memeswap_chains","description":"Networks for meme research / buy routing from GET /api/chains (keys, explorers, aggregators)."},{"name":"memeswap_tokens","description":"Listed meme coin market rows from GET /api/tokens: use when the user asks for hot / new / trending memes to research before a buy. Prefer memeswap_token for one"},{"name":"memeswap_token","description":"Deep profile for one meme coin before a buy decision (risk/market) via GET /api/token/:chain/:address."},{"name":"memeswap_portfolio","description":"Public-address holdings check before/after a meme buy (GET /api/portfolio). Address is routing input, not proof of ownership."},{"name":"memeswap_quote","description":"Indicative buy/sell quote for a listed meme coin from GET /api/quote. Does not execute. Next step: memeswap_build. Quotes can expire; request a fresh quote befo"},{"name":"memeswap_build","description":"Builds unsigned swap material so the user can buy (or sell) a listed meme coin (POST /api/build); wallet must review and sign. Not a launch/create-token tool. F"},{"name":"memeswap_xquote","description":"Cross-chain quote + unsigned material when the user wants to buy a meme across chains (GET /api/xquote). Wallet signs. Does not submit."},{"name":"memeswap_onboarding_help","description":"Onboard a human signer for non-custodial meme buys via MCP: connect wallet (human signs), set username/avatar, wallet-ref duct, scoped credentials. No custody /"},{"name":"memeswap_game_me","description":"Public game/profile card for a wallet (GET /api/game/me): display name, avatar URL choices, scores. No secrets."},{"name":"memeswap_social_providers","description":"List social connect providers (GET /api/social/providers). OAuth still requires a human browser session."},{"name":"memeswap_list_wallet_refs","description":"List wallet refs [{wallet, override}] + active letter (GET /api/v1.1/me/refs). Requires live user API + scoped token."},{"name":"memeswap_set_wallet_refs","description":"Replace wallet-ref list (PUT /api/v1.1/me/refs). Public addresses only. Requires live user API + refs:write token."},{"name":"memeswap_select_wallet_ref","description":"Select active wallet-ref letter (PUT /api/v1.1/me/refs/active). Requires live user API + refs:write."},{"name":"memeswap_list_credentials","description":"List scoped API credential metadata (GET /api/v1.1/me/credentials). Never returns secrets. Requires live user API."},{"name":"memeswap_create_credential","description":"Create scoped user API token (POST /api/v1.1/me/credentials). Usually wallet-session only on portal; agents get API_GAP or one-time secret once: show once, neve"},{"name":"memeswap_revoke_credential","description":"Revoke one credential by 16-hex id (DELETE /api/v1.1/me/credentials/:id). Requires live user API."},{"name":"memeswap_set_profile","description":"Set display name / emoji / preset avatar (POST /api/game/profile). Needs wallet session bearer or signed profile message: MCP cannot sign. Returns guidance unti"},{"name":"memeswap_set_avatar","description":"Upload wallet/profile image (POST /api/game/avatar). Needs session bearer + image bytes; MCP does not accept raw image uploads in v0.2."},{"name":"memeswap_xstatus","description":"Provider-reported bridge transaction status (GET /api/xstatus). Observational; may lag final chain state."},{"name":"memeswap_growth_help","description":"Use first when an agent will recruit people, run a Squad, earn referral fees or post token reels; returns the flow in order, the signing messages and the rules "},{"name":"memeswap_session_message","description":"Use to start a wallet session; returns {wallet, ts, nonce, message} for the wallet to personal_sign, then pass the signature to memeswap_session_open."},{"name":"memeswap_session_open","description":"Use after signing the session message; posts {wallet, ts, nonce, signature} to /api/game/session and returns {token, wallet, expiresAt}, the caller bearer for s"},{"name":"memeswap_social_login","description":"Use with a session bearer to sign in to Squads (POST /api/social/login/wallet-session); returns {social, profile, badge}, where social is the cookie value every"},{"name":"memeswap_referral_terms","description":"Use before accepting referrer terms; returns the current termsVersion, terms and rules URLs and the acceptance message templates (GET /api/referrals/terms)."},{"name":"memeswap_referral_accept_message","description":"Use to get the two messages a referrer signs with fresh timestamps; returns the terms acceptance message (ISO ts) for memeswap_referral_accept and the referral "},{"name":"memeswap_referral_accept","description":"Use once per wallet to record the referrer terms acceptance (POST /api/referrals/accept); returns the server acceptance record."},{"name":"memeswap_referral_code","description":"Use after the terms are accepted to get the referral code, link, shareText and rules (POST /api/referrals/code); ts is the epoch ms inside the signed referral m"},{"name":"memeswap_referral_stats","description":"Use to read counts for a referral code (GET /api/referrals/stats); public counts, and with wallet, signature and ts (the referral message signature) the referre"},{"name":"memeswap_squad_mine","description":"Use to read the caller own squad, role and membership (GET /api/social/community/squads/mine); returns the server answer plus the invite link."},{"name":"memeswap_squad_directory","description":"Use to browse or search squads by name or tag (GET /api/social/community/squads/directory); returns items with invite links and nextCursor."},{"name":"memeswap_squad_create","description":"Use to found a Squad (POST /api/social/community/squads/create {name, tag, requestId}); returns the new squad with its invite link."},{"name":"memeswap_squad_apply","description":"Use to apply to join a Squad (POST /api/social/community/squads/apply {squadId, requestId}); returns the application the leader decides on."},{"name":"memeswap_squad_share_card","description":"Use to get the invite card for the caller own squad (GET /api/social/community/squads/share-card?squadId=); returns the card plus the link https://memeswap.fun/"},{"name":"memeswap_squad_privacy","description":"Use to read the caller squad privacy switches (GET /api/social/community/squads/privacy); returns revision, showIdentity and showSize."},{"name":"memeswap_squad_set_privacy","description":"Use to change the squad privacy switches (POST /api/social/community/squads/privacy {expectedRevision, showIdentity, showSize}); returns the new revision."},{"name":"memeswap_earn_summary","description":"Use to read pending and available Earn amounts for the session wallet (GET /api/earn/summary?wallet=, Authorization: Bearer); returns the server summary; scope="},{"name":"memeswap_earn_leaderboard","description":"Use to read the public Earn leaderboards (GET /api/earn/leaderboard); returns the rows the server ranks for board, period, role and metric."},{"name":"memeswap_reel_post","description":"Use to post an agent reel about a listed token from an https video URL; opens /api/reels/agent/upload-session with the bearer and {chain, token, caption, fileSh"},{"name":"memeswap_reel_status","description":"Use to poll one reel (GET /api/reels/<reelId>); returns the server reel with status, hiddenReason, removedReason, aiDisclosure and tokenCard; pass the creator s"},{"name":"memeswap_brand_kit","description":"Use before producing any MemeSwap promotion; returns the approved brand kit (artwork URLs, colours, logos, copy and usage rules) from GET /brand/kit.json, relay"},{"name":"memeswap_marketing_help","description":"Use when an agent will promote MemeSwap anywhere; returns how to do it with attribution (referral link, App Store link, reels with AI disclosure) and the copy r"}],"toolCount":43,"toolsHash":"76fca418da91d4cb60c449d3800663c0908a49726a08652d6816d453589d2292","serverName":"memeswap-trading","capabilities":["tools","prompts"],"serverVersion":"0.3.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T06:22:37.275Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":339,"error":null,"detail":{"tools":[{"name":"memeswap_trading_help","description":"First read for agents helping users buy a hot meme coin or research memecoins via quote→unsigned build; wallet signs. Not a token launcher. Fee 0.85%. NFA. Secu"},{"name":"memeswap_health","description":"Readiness for meme research / buy routing from GET /api/health. Confirms the origin is up and fee routes are configured (0.85%). Not per-token data."},{"name":"memeswap_chains","description":"Networks for meme research / buy routing from GET /api/chains (keys, explorers, aggregators)."},{"name":"memeswap_tokens","description":"Listed meme coin market rows from GET /api/tokens: use when the user asks for hot / new / trending memes to research before a buy. Prefer memeswap_token for one"},{"name":"memeswap_token","description":"Deep profile for one meme coin before a buy decision (risk/market) via GET /api/token/:chain/:address."},{"name":"memeswap_portfolio","description":"Public-address holdings check before/after a meme buy (GET /api/portfolio). Address is routing input, not proof of ownership."},{"name":"memeswap_quote","description":"Indicative buy/sell quote for a listed meme coin from GET /api/quote. Does not execute. Next step: memeswap_build. Quotes can expire; request a fresh quote befo"},{"name":"memeswap_build","description":"Builds unsigned swap material so the user can buy (or sell) a listed meme coin (POST /api/build); wallet must review and sign. Not a launch/create-token tool. F"},{"name":"memeswap_xquote","description":"Cross-chain quote + unsigned material when the user wants to buy a meme across chains (GET /api/xquote). Wallet signs. Does not submit."},{"name":"memeswap_onboarding_help","description":"Onboard a human signer for non-custodial meme buys via MCP: connect wallet (human signs), set username/avatar, wallet-ref duct, scoped credentials. No custody /"},{"name":"memeswap_game_me","description":"Public game/profile card for a wallet (GET /api/game/me): display name, avatar URL choices, scores. No secrets."},{"name":"memeswap_social_providers","description":"List social connect providers (GET /api/social/providers). OAuth still requires a human browser session."},{"name":"memeswap_list_wallet_refs","description":"List wallet refs [{wallet, override}] + active letter (GET /api/v1.1/me/refs). Requires live user API + scoped token."},{"name":"memeswap_set_wallet_refs","description":"Replace wallet-ref list (PUT /api/v1.1/me/refs). Public addresses only. Requires live user API + refs:write token."},{"name":"memeswap_select_wallet_ref","description":"Select active wallet-ref letter (PUT /api/v1.1/me/refs/active). Requires live user API + refs:write."},{"name":"memeswap_list_credentials","description":"List scoped API credential metadata (GET /api/v1.1/me/credentials). Never returns secrets. Requires live user API."},{"name":"memeswap_create_credential","description":"Create scoped user API token (POST /api/v1.1/me/credentials). Usually wallet-session only on portal; agents get API_GAP or one-time secret once: show once, neve"},{"name":"memeswap_revoke_credential","description":"Revoke one credential by 16-hex id (DELETE /api/v1.1/me/credentials/:id). Requires live user API."},{"name":"memeswap_set_profile","description":"Set display name / emoji / preset avatar (POST /api/game/profile). Needs wallet session bearer or signed profile message: MCP cannot sign. Returns guidance unti"},{"name":"memeswap_set_avatar","description":"Upload wallet/profile image (POST /api/game/avatar). Needs session bearer + image bytes; MCP does not accept raw image uploads in v0.2."},{"name":"memeswap_xstatus","description":"Provider-reported bridge transaction status (GET /api/xstatus). Observational; may lag final chain state."},{"name":"memeswap_growth_help","description":"Use first when an agent will recruit people, run a Squad, earn referral fees or post token reels; returns the flow in order, the signing messages and the rules "},{"name":"memeswap_session_message","description":"Use to start a wallet session; returns {wallet, ts, nonce, message} for the wallet to personal_sign, then pass the signature to memeswap_session_open."},{"name":"memeswap_session_open","description":"Use after signing the session message; posts {wallet, ts, nonce, signature} to /api/game/session and returns {token, wallet, expiresAt}, the caller bearer for s"},{"name":"memeswap_social_login","description":"Use with a session bearer to sign in to Squads (POST /api/social/login/wallet-session); returns {social, profile, badge}, where social is the cookie value every"},{"name":"memeswap_referral_terms","description":"Use before accepting referrer terms; returns the current termsVersion, terms and rules URLs and the acceptance message templates (GET /api/referrals/terms)."},{"name":"memeswap_referral_accept_message","description":"Use to get the two messages a referrer signs with fresh timestamps; returns the terms acceptance message (ISO ts) for memeswap_referral_accept and the referral "},{"name":"memeswap_referral_accept","description":"Use once per wallet to record the referrer terms acceptance (POST /api/referrals/accept); returns the server acceptance record."},{"name":"memeswap_referral_code","description":"Use after the terms are accepted to get the referral code, link, shareText and rules (POST /api/referrals/code); ts is the epoch ms inside the signed referral m"},{"name":"memeswap_referral_stats","description":"Use to read counts for a referral code (GET /api/referrals/stats); public counts, and with wallet, signature and ts (the referral message signature) the referre"},{"name":"memeswap_squad_mine","description":"Use to read the caller own squad, role and membership (GET /api/social/community/squads/mine); returns the server answer plus the invite link."},{"name":"memeswap_squad_directory","description":"Use to browse or search squads by name or tag (GET /api/social/community/squads/directory); returns items with invite links and nextCursor."},{"name":"memeswap_squad_create","description":"Use to found a Squad (POST /api/social/community/squads/create {name, tag, requestId}); returns the new squad with its invite link."},{"name":"memeswap_squad_apply","description":"Use to apply to join a Squad (POST /api/social/community/squads/apply {squadId, requestId}); returns the application the leader decides on."},{"name":"memeswap_squad_share_card","description":"Use to get the invite card for the caller own squad (GET /api/social/community/squads/share-card?squadId=); returns the card plus the link https://memeswap.fun/"},{"name":"memeswap_squad_privacy","description":"Use to read the caller squad privacy switches (GET /api/social/community/squads/privacy); returns revision, showIdentity and showSize."},{"name":"memeswap_squad_set_privacy","description":"Use to change the squad privacy switches (POST /api/social/community/squads/privacy {expectedRevision, showIdentity, showSize}); returns the new revision."},{"name":"memeswap_earn_summary","description":"Use to read pending and available Earn amounts for the session wallet (GET /api/earn/summary?wallet=, Authorization: Bearer); returns the server summary; scope="},{"name":"memeswap_earn_leaderboard","description":"Use to read the public Earn leaderboards (GET /api/earn/leaderboard); returns the rows the server ranks for board, period, role and metric."},{"name":"memeswap_reel_post","description":"Use to post an agent reel about a listed token from an https video URL; opens /api/reels/agent/upload-session with the bearer and {chain, token, caption, fileSh"},{"name":"memeswap_reel_status","description":"Use to poll one reel (GET /api/reels/<reelId>); returns the server reel with status, hiddenReason, removedReason, aiDisclosure and tokenCard; pass the creator s"},{"name":"memeswap_brand_kit","description":"Use before producing any MemeSwap promotion; returns the approved brand kit (artwork URLs, colours, logos, copy and usage rules) from GET /brand/kit.json, relay"},{"name":"memeswap_marketing_help","description":"Use when an agent will promote MemeSwap anywhere; returns how to do it with attribution (referral link, App Store link, reels with AI disclosure) and the copy r"}],"toolCount":43,"toolsHash":"76fca418da91d4cb60c449d3800663c0908a49726a08652d6816d453589d2292","serverName":"memeswap-trading","capabilities":["tools","prompts"],"serverVersion":"0.3.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T00:25:36.918Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":350,"error":null,"detail":{"tools":[{"name":"memeswap_trading_help","description":"First read for agents helping users buy a hot meme coin or research memecoins via quote→unsigned build; wallet signs. Not a token launcher. Fee 0.85%. NFA. Secu"},{"name":"memeswap_health","description":"Readiness for meme research / buy routing from GET /api/health. Confirms the origin is up and fee routes are configured (0.85%). Not per-token data."},{"name":"memeswap_chains","description":"Networks for meme research / buy routing from GET /api/chains (keys, explorers, aggregators)."},{"name":"memeswap_tokens","description":"Listed meme coin market rows from GET /api/tokens: use when the user asks for hot / new / trending memes to research before a buy. Prefer memeswap_token for one"},{"name":"memeswap_token","description":"Deep profile for one meme coin before a buy decision (risk/market) via GET /api/token/:chain/:address."},{"name":"memeswap_portfolio","description":"Public-address holdings check before/after a meme buy (GET /api/portfolio). Address is routing input, not proof of ownership."},{"name":"memeswap_quote","description":"Indicative buy/sell quote for a listed meme coin from GET /api/quote. Does not execute. Next step: memeswap_build. Quotes can expire; request a fresh quote befo"},{"name":"memeswap_build","description":"Builds unsigned swap material so the user can buy (or sell) a listed meme coin (POST /api/build); wallet must review and sign. Not a launch/create-token tool. F"},{"name":"memeswap_xquote","description":"Cross-chain quote + unsigned material when the user wants to buy a meme across chains (GET /api/xquote). Wallet signs. Does not submit."},{"name":"memeswap_onboarding_help","description":"Onboard a human signer for non-custodial meme buys via MCP: connect wallet (human signs), set username/avatar, wallet-ref duct, scoped credentials. No custody /"},{"name":"memeswap_game_me","description":"Public game/profile card for a wallet (GET /api/game/me): display name, avatar URL choices, scores. No secrets."},{"name":"memeswap_social_providers","description":"List social connect providers (GET /api/social/providers). OAuth still requires a human browser session."},{"name":"memeswap_list_wallet_refs","description":"List wallet refs [{wallet, override}] + active letter (GET /api/v1.1/me/refs). Requires live user API + scoped token."},{"name":"memeswap_set_wallet_refs","description":"Replace wallet-ref list (PUT /api/v1.1/me/refs). Public addresses only. Requires live user API + refs:write token."},{"name":"memeswap_select_wallet_ref","description":"Select active wallet-ref letter (PUT /api/v1.1/me/refs/active). Requires live user API + refs:write."},{"name":"memeswap_list_credentials","description":"List scoped API credential metadata (GET /api/v1.1/me/credentials). Never returns secrets. Requires live user API."},{"name":"memeswap_create_credential","description":"Create scoped user API token (POST /api/v1.1/me/credentials). Usually wallet-session only on portal; agents get API_GAP or one-time secret once: show once, neve"},{"name":"memeswap_revoke_credential","description":"Revoke one credential by 16-hex id (DELETE /api/v1.1/me/credentials/:id). Requires live user API."},{"name":"memeswap_set_profile","description":"Set display name / emoji / preset avatar (POST /api/game/profile). Needs wallet session bearer or signed profile message: MCP cannot sign. Returns guidance unti"},{"name":"memeswap_set_avatar","description":"Upload wallet/profile image (POST /api/game/avatar). Needs session bearer + image bytes; MCP does not accept raw image uploads in v0.2."},{"name":"memeswap_xstatus","description":"Provider-reported bridge transaction status (GET /api/xstatus). Observational; may lag final chain state."},{"name":"memeswap_growth_help","description":"Use first when an agent will recruit people, run a Squad, earn referral fees or post token reels; returns the flow in order, the signing messages and the rules "},{"name":"memeswap_session_message","description":"Use to start a wallet session; returns {wallet, ts, nonce, message} for the wallet to personal_sign, then pass the signature to memeswap_session_open."},{"name":"memeswap_session_open","description":"Use after signing the session message; posts {wallet, ts, nonce, signature} to /api/game/session and returns {token, wallet, expiresAt}, the caller bearer for s"},{"name":"memeswap_social_login","description":"Use with a session bearer to sign in to Squads (POST /api/social/login/wallet-session); returns {social, profile, badge}, where social is the cookie value every"},{"name":"memeswap_referral_terms","description":"Use before accepting referrer terms; returns the current termsVersion, terms and rules URLs and the acceptance message templates (GET /api/referrals/terms)."},{"name":"memeswap_referral_accept_message","description":"Use to get the two messages a referrer signs with fresh timestamps; returns the terms acceptance message (ISO ts) for memeswap_referral_accept and the referral "},{"name":"memeswap_referral_accept","description":"Use once per wallet to record the referrer terms acceptance (POST /api/referrals/accept); returns the server acceptance record."},{"name":"memeswap_referral_code","description":"Use after the terms are accepted to get the referral code, link, shareText and rules (POST /api/referrals/code); ts is the epoch ms inside the signed referral m"},{"name":"memeswap_referral_stats","description":"Use to read counts for a referral code (GET /api/referrals/stats); public counts, and with wallet, signature and ts (the referral message signature) the referre"},{"name":"memeswap_squad_mine","description":"Use to read the caller own squad, role and membership (GET /api/social/community/squads/mine); returns the server answer plus the invite link."},{"name":"memeswap_squad_directory","description":"Use to browse or search squads by name or tag (GET /api/social/community/squads/directory); returns items with invite links and nextCursor."},{"name":"memeswap_squad_create","description":"Use to found a Squad (POST /api/social/community/squads/create {name, tag, requestId}); returns the new squad with its invite link."},{"name":"memeswap_squad_apply","description":"Use to apply to join a Squad (POST /api/social/community/squads/apply {squadId, requestId}); returns the application the leader decides on."},{"name":"memeswap_squad_share_card","description":"Use to get the invite card for the caller own squad (GET /api/social/community/squads/share-card?squadId=); returns the card plus the link https://memeswap.fun/"},{"name":"memeswap_squad_privacy","description":"Use to read the caller squad privacy switches (GET /api/social/community/squads/privacy); returns revision, showIdentity and showSize."},{"name":"memeswap_squad_set_privacy","description":"Use to change the squad privacy switches (POST /api/social/community/squads/privacy {expectedRevision, showIdentity, showSize}); returns the new revision."},{"name":"memeswap_earn_summary","description":"Use to read pending and available Earn amounts for the session wallet (GET /api/earn/summary?wallet=, Authorization: Bearer); returns the server summary; scope="},{"name":"memeswap_earn_leaderboard","description":"Use to read the public Earn leaderboards (GET /api/earn/leaderboard); returns the rows the server ranks for board, period, role and metric."},{"name":"memeswap_reel_post","description":"Use to post an agent reel about a listed token from an https video URL; opens /api/reels/agent/upload-session with the bearer and {chain, token, caption, fileSh"},{"name":"memeswap_reel_status","description":"Use to poll one reel (GET /api/reels/<reelId>); returns the server reel with status, hiddenReason, removedReason, aiDisclosure and tokenCard; pass the creator s"},{"name":"memeswap_brand_kit","description":"Use before producing any MemeSwap promotion; returns the approved brand kit (artwork URLs, colours, logos, copy and usage rules) from GET /brand/kit.json, relay"},{"name":"memeswap_marketing_help","description":"Use when an agent will promote MemeSwap anywhere; returns how to do it with attribution (referral link, App Store link, reels with AI disclosure) and the copy r"}],"toolCount":43,"toolsHash":"76fca418da91d4cb60c449d3800663c0908a49726a08652d6816d453589d2292","serverName":"memeswap-trading","capabilities":["tools","prompts"],"serverVersion":"0.3.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T18:27:28.577Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":335,"error":null,"detail":{"tools":[{"name":"memeswap_trading_help","description":"First read for agents helping users buy a hot meme coin or research memecoins via quote→unsigned build; wallet signs. Not a token launcher. Fee 0.85%. NFA. Secu"},{"name":"memeswap_health","description":"Readiness for meme research / buy routing from GET /api/health. Confirms the origin is up and fee routes are configured (0.85%). Not per-token data."},{"name":"memeswap_chains","description":"Networks for meme research / buy routing from GET /api/chains (keys, explorers, aggregators)."},{"name":"memeswap_tokens","description":"Listed meme coin market rows from GET /api/tokens: use when the user asks for hot / new / trending memes to research before a buy. Prefer memeswap_token for one"},{"name":"memeswap_token","description":"Deep profile for one meme coin before a buy decision (risk/market) via GET /api/token/:chain/:address."},{"name":"memeswap_portfolio","description":"Public-address holdings check before/after a meme buy (GET /api/portfolio). Address is routing input, not proof of ownership."},{"name":"memeswap_quote","description":"Indicative buy/sell quote for a listed meme coin from GET /api/quote. Does not execute. Next step: memeswap_build. Quotes can expire; request a fresh quote befo"},{"name":"memeswap_build","description":"Builds unsigned swap material so the user can buy (or sell) a listed meme coin (POST /api/build); wallet must review and sign. Not a launch/create-token tool. F"},{"name":"memeswap_xquote","description":"Cross-chain quote + unsigned material when the user wants to buy a meme across chains (GET /api/xquote). Wallet signs. Does not submit."},{"name":"memeswap_onboarding_help","description":"Onboard a human signer for non-custodial meme buys via MCP: connect wallet (human signs), set username/avatar, wallet-ref duct, scoped credentials. No custody /"},{"name":"memeswap_game_me","description":"Public game/profile card for a wallet (GET /api/game/me): display name, avatar URL choices, scores. No secrets."},{"name":"memeswap_social_providers","description":"List social connect providers (GET /api/social/providers). OAuth still requires a human browser session."},{"name":"memeswap_list_wallet_refs","description":"List wallet refs [{wallet, override}] + active letter (GET /api/v1.1/me/refs). Requires live user API + scoped token."},{"name":"memeswap_set_wallet_refs","description":"Replace wallet-ref list (PUT /api/v1.1/me/refs). Public addresses only. Requires live user API + refs:write token."},{"name":"memeswap_select_wallet_ref","description":"Select active wallet-ref letter (PUT /api/v1.1/me/refs/active). Requires live user API + refs:write."},{"name":"memeswap_list_credentials","description":"List scoped API credential metadata (GET /api/v1.1/me/credentials). Never returns secrets. Requires live user API."},{"name":"memeswap_create_credential","description":"Create scoped user API token (POST /api/v1.1/me/credentials). Usually wallet-session only on portal; agents get API_GAP or one-time secret once: show once, neve"},{"name":"memeswap_revoke_credential","description":"Revoke one credential by 16-hex id (DELETE /api/v1.1/me/credentials/:id). Requires live user API."},{"name":"memeswap_set_profile","description":"Set display name / emoji / preset avatar (POST /api/game/profile). Needs wallet session bearer or signed profile message: MCP cannot sign. Returns guidance unti"},{"name":"memeswap_set_avatar","description":"Upload wallet/profile image (POST /api/game/avatar). Needs session bearer + image bytes; MCP does not accept raw image uploads in v0.2."},{"name":"memeswap_xstatus","description":"Provider-reported bridge transaction status (GET /api/xstatus). Observational; may lag final chain state."},{"name":"memeswap_growth_help","description":"Use first when an agent will recruit people, run a Squad, earn referral fees or post token reels; returns the flow in order, the signing messages and the rules "},{"name":"memeswap_session_message","description":"Use to start a wallet session; returns {wallet, ts, nonce, message} for the wallet to personal_sign, then pass the signature to memeswap_session_open."},{"name":"memeswap_session_open","description":"Use after signing the session message; posts {wallet, ts, nonce, signature} to /api/game/session and returns {token, wallet, expiresAt}, the caller bearer for s"},{"name":"memeswap_social_login","description":"Use with a session bearer to sign in to Squads (POST /api/social/login/wallet-session); returns {social, profile, badge}, where social is the cookie value every"},{"name":"memeswap_referral_terms","description":"Use before accepting referrer terms; returns the current termsVersion, terms and rules URLs and the acceptance message templates (GET /api/referrals/terms)."},{"name":"memeswap_referral_accept_message","description":"Use to get the two messages a referrer signs with fresh timestamps; returns the terms acceptance message (ISO ts) for memeswap_referral_accept and the referral "},{"name":"memeswap_referral_accept","description":"Use once per wallet to record the referrer terms acceptance (POST /api/referrals/accept); returns the server acceptance record."},{"name":"memeswap_referral_code","description":"Use after the terms are accepted to get the referral code, link, shareText and rules (POST /api/referrals/code); ts is the epoch ms inside the signed referral m"},{"name":"memeswap_referral_stats","description":"Use to read counts for a referral code (GET /api/referrals/stats); public counts, and with wallet, signature and ts (the referral message signature) the referre"},{"name":"memeswap_squad_mine","description":"Use to read the caller own squad, role and membership (GET /api/social/community/squads/mine); returns the server answer plus the invite link."},{"name":"memeswap_squad_directory","description":"Use to browse or search squads by name or tag (GET /api/social/community/squads/directory); returns items with invite links and nextCursor."},{"name":"memeswap_squad_create","description":"Use to found a Squad (POST /api/social/community/squads/create {name, tag, requestId}); returns the new squad with its invite link."},{"name":"memeswap_squad_apply","description":"Use to apply to join a Squad (POST /api/social/community/squads/apply {squadId, requestId}); returns the application the leader decides on."},{"name":"memeswap_squad_share_card","description":"Use to get the invite card for the caller own squad (GET /api/social/community/squads/share-card?squadId=); returns the card plus the link https://memeswap.fun/"},{"name":"memeswap_squad_privacy","description":"Use to read the caller squad privacy switches (GET /api/social/community/squads/privacy); returns revision, showIdentity and showSize."},{"name":"memeswap_squad_set_privacy","description":"Use to change the squad privacy switches (POST /api/social/community/squads/privacy {expectedRevision, showIdentity, showSize}); returns the new revision."},{"name":"memeswap_earn_summary","description":"Use to read pending and available Earn amounts for the session wallet (GET /api/earn/summary?wallet=, Authorization: Bearer); returns the server summary; scope="},{"name":"memeswap_earn_leaderboard","description":"Use to read the public Earn leaderboards (GET /api/earn/leaderboard); returns the rows the server ranks for board, period, role and metric."},{"name":"memeswap_reel_post","description":"Use to post an agent reel about a listed token from an https video URL; opens /api/reels/agent/upload-session with the bearer and {chain, token, caption, fileSh"},{"name":"memeswap_reel_status","description":"Use to poll one reel (GET /api/reels/<reelId>); returns the server reel with status, hiddenReason, removedReason, aiDisclosure and tokenCard; pass the creator s"},{"name":"memeswap_brand_kit","description":"Use before producing any MemeSwap promotion; returns the approved brand kit (artwork URLs, colours, logos, copy and usage rules) from GET /brand/kit.json, relay"},{"name":"memeswap_marketing_help","description":"Use when an agent will promote MemeSwap anywhere; returns how to do it with attribution (referral link, App Store link, reels with AI disclosure) and the copy r"}],"toolCount":43,"toolsHash":"76fca418da91d4cb60c449d3800663c0908a49726a08652d6816d453589d2292","serverName":"memeswap-trading","capabilities":["tools","prompts"],"serverVersion":"0.3.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T11:23:31.480Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":411,"error":null,"detail":{"tools":[{"name":"memeswap_trading_help","description":"First read for agents helping users buy a hot meme coin or research memecoins via quote→unsigned build; wallet signs. Not a token launcher. Fee 0.85%. NFA. Secu"},{"name":"memeswap_health","description":"Readiness for meme research / buy routing from GET /api/health. Confirms the origin is up and fee routes are configured (0.85%). Not per-token data."},{"name":"memeswap_chains","description":"Networks for meme research / buy routing from GET /api/chains (keys, explorers, aggregators)."},{"name":"memeswap_tokens","description":"Listed meme coin market rows from GET /api/tokens: use when the user asks for hot / new / trending memes to research before a buy. Prefer memeswap_token for one"},{"name":"memeswap_token","description":"Deep profile for one meme coin before a buy decision (risk/market) via GET /api/token/:chain/:address."},{"name":"memeswap_portfolio","description":"Public-address holdings check before/after a meme buy (GET /api/portfolio). Address is routing input, not proof of ownership."},{"name":"memeswap_quote","description":"Indicative buy/sell quote for a listed meme coin from GET /api/quote. Does not execute. Next step: memeswap_build. Quotes can expire; request a fresh quote befo"},{"name":"memeswap_build","description":"Builds unsigned swap material so the user can buy (or sell) a listed meme coin (POST /api/build); wallet must review and sign. Not a launch/create-token tool. F"},{"name":"memeswap_xquote","description":"Cross-chain quote + unsigned material when the user wants to buy a meme across chains (GET /api/xquote). Wallet signs. Does not submit."},{"name":"memeswap_onboarding_help","description":"Onboard a human signer for non-custodial meme buys via MCP: connect wallet (human signs), set username/avatar, wallet-ref duct, scoped credentials. No custody /"},{"name":"memeswap_game_me","description":"Public game/profile card for a wallet (GET /api/game/me): display name, avatar URL choices, scores. No secrets."},{"name":"memeswap_social_providers","description":"List social connect providers (GET /api/social/providers). OAuth still requires a human browser session."},{"name":"memeswap_list_wallet_refs","description":"List wallet refs [{wallet, override}] + active letter (GET /api/v1.1/me/refs). Requires live user API + scoped token."},{"name":"memeswap_set_wallet_refs","description":"Replace wallet-ref list (PUT /api/v1.1/me/refs). Public addresses only. Requires live user API + refs:write token."},{"name":"memeswap_select_wallet_ref","description":"Select active wallet-ref letter (PUT /api/v1.1/me/refs/active). Requires live user API + refs:write."},{"name":"memeswap_list_credentials","description":"List scoped API credential metadata (GET /api/v1.1/me/credentials). Never returns secrets. Requires live user API."},{"name":"memeswap_create_credential","description":"Create scoped user API token (POST /api/v1.1/me/credentials). Usually wallet-session only on portal; agents get API_GAP or one-time secret once: show once, neve"},{"name":"memeswap_revoke_credential","description":"Revoke one credential by 16-hex id (DELETE /api/v1.1/me/credentials/:id). Requires live user API."},{"name":"memeswap_set_profile","description":"Set display name / emoji / preset avatar (POST /api/game/profile). Needs wallet session bearer or signed profile message: MCP cannot sign. Returns guidance unti"},{"name":"memeswap_set_avatar","description":"Upload wallet/profile image (POST /api/game/avatar). Needs session bearer + image bytes; MCP does not accept raw image uploads in v0.2."},{"name":"memeswap_xstatus","description":"Provider-reported bridge transaction status (GET /api/xstatus). Observational; may lag final chain state."},{"name":"memeswap_growth_help","description":"Use first when an agent will recruit people, run a Squad, earn referral fees or post token reels; returns the flow in order, the signing messages and the rules "},{"name":"memeswap_session_message","description":"Use to start a wallet session; returns {wallet, ts, nonce, message} for the wallet to personal_sign, then pass the signature to memeswap_session_open."},{"name":"memeswap_session_open","description":"Use after signing the session message; posts {wallet, ts, nonce, signature} to /api/game/session and returns {token, wallet, expiresAt}, the caller bearer for s"},{"name":"memeswap_social_login","description":"Use with a session bearer to sign in to Squads (POST /api/social/login/wallet-session); returns {social, profile, badge}, where social is the cookie value every"},{"name":"memeswap_referral_terms","description":"Use before accepting referrer terms; returns the current termsVersion, terms and rules URLs and the acceptance message templates (GET /api/referrals/terms)."},{"name":"memeswap_referral_accept_message","description":"Use to get the two messages a referrer signs with fresh timestamps; returns the terms acceptance message (ISO ts) for memeswap_referral_accept and the referral "},{"name":"memeswap_referral_accept","description":"Use once per wallet to record the referrer terms acceptance (POST /api/referrals/accept); returns the server acceptance record."},{"name":"memeswap_referral_code","description":"Use after the terms are accepted to get the referral code, link, shareText and rules (POST /api/referrals/code); ts is the epoch ms inside the signed referral m"},{"name":"memeswap_referral_stats","description":"Use to read counts for a referral code (GET /api/referrals/stats); public counts, and with wallet, signature and ts (the referral message signature) the referre"},{"name":"memeswap_squad_mine","description":"Use to read the caller own squad, role and membership (GET /api/social/community/squads/mine); returns the server answer plus the invite link."},{"name":"memeswap_squad_directory","description":"Use to browse or search squads by name or tag (GET /api/social/community/squads/directory); returns items with invite links and nextCursor."},{"name":"memeswap_squad_create","description":"Use to found a Squad (POST /api/social/community/squads/create {name, tag, requestId}); returns the new squad with its invite link."},{"name":"memeswap_squad_apply","description":"Use to apply to join a Squad (POST /api/social/community/squads/apply {squadId, requestId}); returns the application the leader decides on."},{"name":"memeswap_squad_share_card","description":"Use to get the invite card for the caller own squad (GET /api/social/community/squads/share-card?squadId=); returns the card plus the link https://memeswap.fun/"},{"name":"memeswap_squad_privacy","description":"Use to read the caller squad privacy switches (GET /api/social/community/squads/privacy); returns revision, showIdentity and showSize."},{"name":"memeswap_squad_set_privacy","description":"Use to change the squad privacy switches (POST /api/social/community/squads/privacy {expectedRevision, showIdentity, showSize}); returns the new revision."},{"name":"memeswap_earn_summary","description":"Use to read pending and available Earn amounts for the session wallet (GET /api/earn/summary?wallet=, Authorization: Bearer); returns the server summary; scope="},{"name":"memeswap_earn_leaderboard","description":"Use to read the public Earn leaderboards (GET /api/earn/leaderboard); returns the rows the server ranks for board, period, role and metric."},{"name":"memeswap_reel_post","description":"Use to post an agent reel about a listed token from an https video URL; opens /api/reels/agent/upload-session with the bearer and {chain, token, caption, fileSh"},{"name":"memeswap_reel_status","description":"Use to poll one reel (GET /api/reels/<reelId>); returns the server reel with status, hiddenReason, removedReason, aiDisclosure and tokenCard; pass the creator s"},{"name":"memeswap_brand_kit","description":"Use before producing any MemeSwap promotion; returns the approved brand kit (artwork URLs, colours, logos, copy and usage rules) from GET /brand/kit.json, relay"},{"name":"memeswap_marketing_help","description":"Use when an agent will promote MemeSwap anywhere; returns how to do it with attribution (referral link, App Store link, reels with AI disclosure) and the copy r"}],"toolCount":43,"toolsHash":"76fca418da91d4cb60c449d3800663c0908a49726a08652d6816d453589d2292","serverName":"memeswap-trading","capabilities":["tools","prompts"],"serverVersion":"0.3.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T04:25:59.237Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":348,"error":null,"detail":{"tools":[{"name":"memeswap_trading_help","description":"First read for agents helping users buy a hot meme coin or research memecoins via quote→unsigned build; wallet signs. Not a token launcher. Fee 0.85%. NFA. Secu"},{"name":"memeswap_health","description":"Readiness for meme research / buy routing from GET /api/health. Confirms the origin is up and fee routes are configured (0.85%). Not per-token data."},{"name":"memeswap_chains","description":"Networks for meme research / buy routing from GET /api/chains (keys, explorers, aggregators)."},{"name":"memeswap_tokens","description":"Listed meme coin market rows from GET /api/tokens: use when the user asks for hot / new / trending memes to research before a buy. Prefer memeswap_token for one"},{"name":"memeswap_token","description":"Deep profile for one meme coin before a buy decision (risk/market) via GET /api/token/:chain/:address."},{"name":"memeswap_portfolio","description":"Public-address holdings check before/after a meme buy (GET /api/portfolio). Address is routing input, not proof of ownership."},{"name":"memeswap_quote","description":"Indicative buy/sell quote for a listed meme coin from GET /api/quote. Does not execute. Next step: memeswap_build. Quotes can expire; request a fresh quote befo"},{"name":"memeswap_build","description":"Builds unsigned swap material so the user can buy (or sell) a listed meme coin (POST /api/build); wallet must review and sign. Not a launch/create-token tool. F"},{"name":"memeswap_xquote","description":"Cross-chain quote + unsigned material when the user wants to buy a meme across chains (GET /api/xquote). Wallet signs. Does not submit."},{"name":"memeswap_onboarding_help","description":"Onboard a human signer for non-custodial meme buys via MCP: connect wallet (human signs), set username/avatar, wallet-ref duct, scoped credentials. No custody /"},{"name":"memeswap_game_me","description":"Public game/profile card for a wallet (GET /api/game/me): display name, avatar URL choices, scores. No secrets."},{"name":"memeswap_social_providers","description":"List social connect providers (GET /api/social/providers). OAuth still requires a human browser session."},{"name":"memeswap_list_wallet_refs","description":"List wallet refs [{wallet, override}] + active letter (GET /api/v1.1/me/refs). Requires live user API + scoped token."},{"name":"memeswap_set_wallet_refs","description":"Replace wallet-ref list (PUT /api/v1.1/me/refs). Public addresses only. Requires live user API + refs:write token."},{"name":"memeswap_select_wallet_ref","description":"Select active wallet-ref letter (PUT /api/v1.1/me/refs/active). Requires live user API + refs:write."},{"name":"memeswap_list_credentials","description":"List scoped API credential metadata (GET /api/v1.1/me/credentials). Never returns secrets. Requires live user API."},{"name":"memeswap_create_credential","description":"Create scoped user API token (POST /api/v1.1/me/credentials). Usually wallet-session only on portal; agents get API_GAP or one-time secret once: show once, neve"},{"name":"memeswap_revoke_credential","description":"Revoke one credential by 16-hex id (DELETE /api/v1.1/me/credentials/:id). Requires live user API."},{"name":"memeswap_set_profile","description":"Set display name / emoji / preset avatar (POST /api/game/profile). Needs wallet session bearer or signed profile message: MCP cannot sign. Returns guidance unti"},{"name":"memeswap_set_avatar","description":"Upload wallet/profile image (POST /api/game/avatar). Needs session bearer + image bytes; MCP does not accept raw image uploads in v0.2."},{"name":"memeswap_xstatus","description":"Provider-reported bridge transaction status (GET /api/xstatus). Observational; may lag final chain state."},{"name":"memeswap_growth_help","description":"Use first when an agent will recruit people, run a Squad, earn referral fees or post token reels; returns the flow in order, the signing messages and the rules "},{"name":"memeswap_session_message","description":"Use to start a wallet session; returns {wallet, ts, nonce, message} for the wallet to personal_sign, then pass the signature to memeswap_session_open."},{"name":"memeswap_session_open","description":"Use after signing the session message; posts {wallet, ts, nonce, signature} to /api/game/session and returns {token, wallet, expiresAt}, the caller bearer for s"},{"name":"memeswap_social_login","description":"Use with a session bearer to sign in to Squads (POST /api/social/login/wallet-session); returns {social, profile, badge}, where social is the cookie value every"},{"name":"memeswap_referral_terms","description":"Use before accepting referrer terms; returns the current termsVersion, terms and rules URLs and the acceptance message templates (GET /api/referrals/terms)."},{"name":"memeswap_referral_accept_message","description":"Use to get the two messages a referrer signs with fresh timestamps; returns the terms acceptance message (ISO ts) for memeswap_referral_accept and the referral "},{"name":"memeswap_referral_accept","description":"Use once per wallet to record the referrer terms acceptance (POST /api/referrals/accept); returns the server acceptance record."},{"name":"memeswap_referral_code","description":"Use after the terms are accepted to get the referral code, link, shareText and rules (POST /api/referrals/code); ts is the epoch ms inside the signed referral m"},{"name":"memeswap_referral_stats","description":"Use to read counts for a referral code (GET /api/referrals/stats); public counts, and with wallet, signature and ts (the referral message signature) the referre"},{"name":"memeswap_squad_mine","description":"Use to read the caller own squad, role and membership (GET /api/social/community/squads/mine); returns the server answer plus the invite link."},{"name":"memeswap_squad_directory","description":"Use to browse or search squads by name or tag (GET /api/social/community/squads/directory); returns items with invite links and nextCursor."},{"name":"memeswap_squad_create","description":"Use to found a Squad (POST /api/social/community/squads/create {name, tag, requestId}); returns the new squad with its invite link."},{"name":"memeswap_squad_apply","description":"Use to apply to join a Squad (POST /api/social/community/squads/apply {squadId, requestId}); returns the application the leader decides on."},{"name":"memeswap_squad_share_card","description":"Use to get the invite card for the caller own squad (GET /api/social/community/squads/share-card?squadId=); returns the card plus the link https://memeswap.fun/"},{"name":"memeswap_squad_privacy","description":"Use to read the caller squad privacy switches (GET /api/social/community/squads/privacy); returns revision, showIdentity and showSize."},{"name":"memeswap_squad_set_privacy","description":"Use to change the squad privacy switches (POST /api/social/community/squads/privacy {expectedRevision, showIdentity, showSize}); returns the new revision."},{"name":"memeswap_earn_summary","description":"Use to read pending and available Earn amounts for the session wallet (GET /api/earn/summary?wallet=, Authorization: Bearer); returns the server summary; scope="},{"name":"memeswap_earn_leaderboard","description":"Use to read the public Earn leaderboards (GET /api/earn/leaderboard); returns the rows the server ranks for board, period, role and metric."},{"name":"memeswap_reel_post","description":"Use to post an agent reel about a listed token from an https video URL; opens /api/reels/agent/upload-session with the bearer and {chain, token, caption, fileSh"},{"name":"memeswap_reel_status","description":"Use to poll one reel (GET /api/reels/<reelId>); returns the server reel with status, hiddenReason, removedReason, aiDisclosure and tokenCard; pass the creator s"},{"name":"memeswap_brand_kit","description":"Use before producing any MemeSwap promotion; returns the approved brand kit (artwork URLs, colours, logos, copy and usage rules) from GET /brand/kit.json, relay"},{"name":"memeswap_marketing_help","description":"Use when an agent will promote MemeSwap anywhere; returns how to do it with attribution (referral link, App Store link, reels with AI disclosure) and the copy r"}],"toolCount":43,"toolsHash":"76fca418da91d4cb60c449d3800663c0908a49726a08652d6816d453589d2292","serverName":"memeswap-trading","capabilities":["tools","prompts"],"serverVersion":"0.3.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"memeswap_trading_help","description":"First read for agents helping users buy a hot meme coin or research memecoins via quote→unsigned build; wallet signs. Not a token launcher. Fee 0.85%. NFA. Secu"},{"name":"memeswap_health","description":"Readiness for meme research / buy routing from GET /api/health. Confirms the origin is up and fee routes are configured (0.85%). Not per-token data."},{"name":"memeswap_chains","description":"Networks for meme research / buy routing from GET /api/chains (keys, explorers, aggregators)."},{"name":"memeswap_tokens","description":"Listed meme coin market rows from GET /api/tokens: use when the user asks for hot / new / trending memes to research before a buy. Prefer memeswap_token for one"},{"name":"memeswap_token","description":"Deep profile for one meme coin before a buy decision (risk/market) via GET /api/token/:chain/:address."},{"name":"memeswap_portfolio","description":"Public-address holdings check before/after a meme buy (GET /api/portfolio). Address is routing input, not proof of ownership."},{"name":"memeswap_quote","description":"Indicative buy/sell quote for a listed meme coin from GET /api/quote. Does not execute. Next step: memeswap_build. Quotes can expire; request a fresh quote befo"},{"name":"memeswap_build","description":"Builds unsigned swap material so the user can buy (or sell) a listed meme coin (POST /api/build); wallet must review and sign. Not a launch/create-token tool. F"},{"name":"memeswap_xquote","description":"Cross-chain quote + unsigned material when the user wants to buy a meme across chains (GET /api/xquote). Wallet signs. Does not submit."},{"name":"memeswap_onboarding_help","description":"Onboard a human signer for non-custodial meme buys via MCP: connect wallet (human signs), set username/avatar, wallet-ref duct, scoped credentials. No custody /"},{"name":"memeswap_game_me","description":"Public game/profile card for a wallet (GET /api/game/me): display name, avatar URL choices, scores. No secrets."},{"name":"memeswap_social_providers","description":"List social connect providers (GET /api/social/providers). OAuth still requires a human browser session."},{"name":"memeswap_list_wallet_refs","description":"List wallet refs [{wallet, override}] + active letter (GET /api/v1.1/me/refs). Requires live user API + scoped token."},{"name":"memeswap_set_wallet_refs","description":"Replace wallet-ref list (PUT /api/v1.1/me/refs). Public addresses only. Requires live user API + refs:write token."},{"name":"memeswap_select_wallet_ref","description":"Select active wallet-ref letter (PUT /api/v1.1/me/refs/active). Requires live user API + refs:write."},{"name":"memeswap_list_credentials","description":"List scoped API credential metadata (GET /api/v1.1/me/credentials). Never returns secrets. Requires live user API."},{"name":"memeswap_create_credential","description":"Create scoped user API token (POST /api/v1.1/me/credentials). Usually wallet-session only on portal; agents get API_GAP or one-time secret once: show once, neve"},{"name":"memeswap_revoke_credential","description":"Revoke one credential by 16-hex id (DELETE /api/v1.1/me/credentials/:id). Requires live user API."},{"name":"memeswap_set_profile","description":"Set display name / emoji / preset avatar (POST /api/game/profile). Needs wallet session bearer or signed profile message: MCP cannot sign. Returns guidance unti"},{"name":"memeswap_set_avatar","description":"Upload wallet/profile image (POST /api/game/avatar). Needs session bearer + image bytes; MCP does not accept raw image uploads in v0.2."},{"name":"memeswap_xstatus","description":"Provider-reported bridge transaction status (GET /api/xstatus). Observational; may lag final chain state."},{"name":"memeswap_growth_help","description":"Use first when an agent will recruit people, run a Squad, earn referral fees or post token reels; returns the flow in order, the signing messages and the rules "},{"name":"memeswap_session_message","description":"Use to start a wallet session; returns {wallet, ts, nonce, message} for the wallet to personal_sign, then pass the signature to memeswap_session_open."},{"name":"memeswap_session_open","description":"Use after signing the session message; posts {wallet, ts, nonce, signature} to /api/game/session and returns {token, wallet, expiresAt}, the caller bearer for s"},{"name":"memeswap_social_login","description":"Use with a session bearer to sign in to Squads (POST /api/social/login/wallet-session); returns {social, profile, badge}, where social is the cookie value every"},{"name":"memeswap_referral_terms","description":"Use before accepting referrer terms; returns the current termsVersion, terms and rules URLs and the acceptance message templates (GET /api/referrals/terms)."},{"name":"memeswap_referral_accept_message","description":"Use to get the two messages a referrer signs with fresh timestamps; returns the terms acceptance message (ISO ts) for memeswap_referral_accept and the referral "},{"name":"memeswap_referral_accept","description":"Use once per wallet to record the referrer terms acceptance (POST /api/referrals/accept); returns the server acceptance record."},{"name":"memeswap_referral_code","description":"Use after the terms are accepted to get the referral code, link, shareText and rules (POST /api/referrals/code); ts is the epoch ms inside the signed referral m"},{"name":"memeswap_referral_stats","description":"Use to read counts for a referral code (GET /api/referrals/stats); public counts, and with wallet, signature and ts (the referral message signature) the referre"},{"name":"memeswap_squad_mine","description":"Use to read the caller own squad, role and membership (GET /api/social/community/squads/mine); returns the server answer plus the invite link."},{"name":"memeswap_squad_directory","description":"Use to browse or search squads by name or tag (GET /api/social/community/squads/directory); returns items with invite links and nextCursor."},{"name":"memeswap_squad_create","description":"Use to found a Squad (POST /api/social/community/squads/create {name, tag, requestId}); returns the new squad with its invite link."},{"name":"memeswap_squad_apply","description":"Use to apply to join a Squad (POST /api/social/community/squads/apply {squadId, requestId}); returns the application the leader decides on."},{"name":"memeswap_squad_share_card","description":"Use to get the invite card for the caller own squad (GET /api/social/community/squads/share-card?squadId=); returns the card plus the link https://memeswap.fun/"},{"name":"memeswap_squad_privacy","description":"Use to read the caller squad privacy switches (GET /api/social/community/squads/privacy); returns revision, showIdentity and showSize."},{"name":"memeswap_squad_set_privacy","description":"Use to change the squad privacy switches (POST /api/social/community/squads/privacy {expectedRevision, showIdentity, showSize}); returns the new revision."},{"name":"memeswap_earn_summary","description":"Use to read pending and available Earn amounts for the session wallet (GET /api/earn/summary?wallet=, Authorization: Bearer); returns the server summary; scope="},{"name":"memeswap_earn_leaderboard","description":"Use to read the public Earn leaderboards (GET /api/earn/leaderboard); returns the rows the server ranks for board, period, role and metric."},{"name":"memeswap_reel_post","description":"Use to post an agent reel about a listed token from an https video URL; opens /api/reels/agent/upload-session with the bearer and {chain, token, caption, fileSh"},{"name":"memeswap_reel_status","description":"Use to poll one reel (GET /api/reels/<reelId>); returns the server reel with status, hiddenReason, removedReason, aiDisclosure and tokenCard; pass the creator s"},{"name":"memeswap_brand_kit","description":"Use before producing any MemeSwap promotion; returns the approved brand kit (artwork URLs, colours, logos, copy and usage rules) from GET /brand/kit.json, relay"},{"name":"memeswap_marketing_help","description":"Use when an agent will promote MemeSwap anywhere; returns how to do it with attribution (referral link, App Store link, reels with AI disclosure) and the copy r"}],"package":null,"toolSurface":{"id":"ts_3t2rwc33jfcv","endpointId":"ep_ckfscwy7vvnt","hash":"76fca418da91d4cb60c449d3800663c0908a49726a08652d6816d453589d2292","toolCount":43,"serverName":"memeswap-trading","serverVersion":"0.3.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-03T20:33:44.068Z","lastSeenAt":"2026-10-10T13:25:23.944Z","observations":26,"toolNames":["memeswap_trading_help","memeswap_health","memeswap_chains","memeswap_tokens","memeswap_token","memeswap_portfolio","memeswap_quote","memeswap_build","memeswap_xquote","memeswap_onboarding_help","memeswap_game_me","memeswap_social_providers","memeswap_list_wallet_refs","memeswap_set_wallet_refs","memeswap_select_wallet_ref","memeswap_list_credentials","memeswap_create_credential","memeswap_revoke_credential","memeswap_set_profile","memeswap_set_avatar","memeswap_xstatus","memeswap_growth_help","memeswap_session_message","memeswap_session_open","memeswap_social_login","memeswap_referral_terms","memeswap_referral_accept_message","memeswap_referral_accept","memeswap_referral_code","memeswap_referral_stats","memeswap_squad_mine","memeswap_squad_directory","memeswap_squad_create","memeswap_squad_apply","memeswap_squad_share_card","memeswap_squad_privacy","memeswap_squad_set_privacy","memeswap_earn_summary","memeswap_earn_leaderboard","memeswap_reel_post","memeswap_reel_status","memeswap_brand_kit","memeswap_marketing_help"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_ckfscwy7vvnt","url":"https://mcp.memeswap.fun/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-06T02:24:28.296Z","auth":{"observedAt":"2026-10-06T02:24:28.625Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-06T02:24:28.636Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"memeswap.fun","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-08-29T14:40:55.000Z","validTo":"2026-11-27T15:39:34.000Z","daysToExpiry":48,"sanCount":2,"fingerprint256":"60:06:B4:AB:07:94:91:82:A2:A3:A8:EB:B3:EA:10:50:55:30:A7:E6:0D:16:E4:51:07:CD:28:7B:C2:F4:54:C5"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"fun.memeswap/trading","url":"https://registry.modelcontextprotocol.io/v0/servers/fun.memeswap%2Ftrading","firstSeenAt":"2026-10-03T20:21:16.119Z","fetchedAt":"2026-10-09T15:19:38.883Z","normalizedAt":"2026-10-09T15:19:38.883Z"}]},"firstSeenAt":"2026-10-03T20:21:16.119Z","updatedAt":"2026-10-10T13:27:42.380Z"}