MemeSwap MCP
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Buy & research hot/new memes. Quotes + unsigned swaps; wallet signs. Not a launcher. Fee 0.85%. NFA.
| Author | fun.memeswap |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 130 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"MemeSwap MCP": {
"url": "https://mcp.memeswap.fun/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (43)
memeswap_trading_helpread-onlyFirst 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. Security bar: unsigned construction only; no custody, no signing, no unrestricted submit.
Hints: read-only yes · destructive no · idempotent yes · open-world no
memeswap_healthread-onlyReadiness 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.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
memeswap_chainsread-onlyNetworks for meme research / buy routing from GET /api/chains (keys, explorers, aggregators).
Hints: read-only yes · destructive no · idempotent yes · open-world yes
memeswap_tokensread-onlyListed 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 address. Observations can be stale.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
memeswap_tokenread-onlyDeep profile for one meme coin before a buy decision (risk/market) via GET /api/token/:chain/:address.
Parameters:
chain(required) — stringaddress(required) — string
Hints: read-only yes · destructive no · idempotent yes · open-world yes
memeswap_portfolioread-onlyPublic-address holdings check before/after a meme buy (GET /api/portfolio). Address is routing input, not proof of ownership.
Parameters:
sol— stringdust— numberchains— stringaddress— string
Hints: read-only yes · destructive no · idempotent yes · open-world yes
memeswap_quoteread-onlyIndicative 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 before build.
Parameters:
chain(required) — stringside(required) — stringtoken(required) — stringamount(required) — string — Positive decimal stringfrom— stringslippageBps— integer
Hints: read-only yes · destructive no · idempotent yes · open-world yes
memeswap_buildBuilds 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. Fee 0.85% on fee-enabled trades. NFA. Does NOT authorize, sign, submit or confirm.
Parameters:
chain(required) — stringside(required) — stringtoken(required) — stringamount(required) — string — Positive decimal stringfrom(required) — string — Public signing-wallet address; output is bound to this caller.quote(required) — object — Prior memeswap_quote /api/quote response object.slippageBps— integer
Hints: read-only no · destructive no · idempotent no · open-world yes
memeswap_xquoteread-onlyCross-chain quote + unsigned material when the user wants to buy a meme across chains (GET /api/xquote). Wallet signs. Does not submit.
Parameters:
fromChain(required) — stringtoChain(required) — stringamount(required) — string — Positive decimal stringfrom(required) — stringto— stringorder— stringtoToken— stringslippage— numberfromToken— string
Hints: read-only yes · destructive no · idempotent yes · open-world yes
memeswap_onboarding_helpread-onlyOnboard a human signer for non-custodial meme buys via MCP: connect wallet (human signs), set username/avatar, wallet-ref duct, scoped credentials. No custody / no auto-trade.
Hints: read-only yes · destructive no · idempotent yes · open-world no
memeswap_game_meread-onlyPublic game/profile card for a wallet (GET /api/game/me): display name, avatar URL choices, scores. No secrets.
Parameters:
wallet(required) — string — Public EVM or Solana address. Never a key or seed.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
memeswap_social_providersread-onlyList social connect providers (GET /api/social/providers). OAuth still requires a human browser session.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
memeswap_list_wallet_refsread-onlyList wallet refs [{wallet, override}] + active letter (GET /api/v1.1/me/refs). Requires live user API + scoped token.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
memeswap_set_wallet_refsReplace wallet-ref list (PUT /api/v1.1/me/refs). Public addresses only. Requires live user API + refs:write token.
Parameters:
refs(required) — arrayactive— string — Override letter A-Z for wallet-ref duct
Hints: read-only no · destructive no · idempotent no · open-world yes
memeswap_select_wallet_refSelect active wallet-ref letter (PUT /api/v1.1/me/refs/active). Requires live user API + refs:write.
Parameters:
override(required) — string — Override letter A-Z for wallet-ref duct
Hints: read-only no · destructive no · idempotent no · open-world yes
memeswap_list_credentialsread-onlyList scoped API credential metadata (GET /api/v1.1/me/credentials). Never returns secrets. Requires live user API.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
memeswap_create_credentialCreate 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, never log.
Parameters:
label— stringscopes— arrayttlDays— integer
Hints: read-only no · destructive no · idempotent no · open-world yes
memeswap_revoke_credentialdestructiveRevoke one credential by 16-hex id (DELETE /api/v1.1/me/credentials/:id). Requires live user API.
Parameters:
id(required) — string
Hints: read-only no · destructive yes · idempotent yes · open-world yes
memeswap_set_profileSet display name / emoji / preset avatar (POST /api/game/profile). Needs wallet session bearer or signed profile message: MCP cannot sign. Returns guidance until agent session duct exists.
Parameters:
wallet(required) — string — Public EVM or Solana address. Never a key or seed.name— stringemoji— stringavatar— string — Preset meme-NN id or custom when upload existsoptOut— boolean
Hints: read-only no · destructive no · idempotent no · open-world yes
memeswap_set_avatarUpload wallet/profile image (POST /api/game/avatar). Needs session bearer + image bytes; MCP does not accept raw image uploads in v0.2.
Parameters:
wallet(required) — string — Public EVM or Solana address. Never a key or seed.note— string
Hints: read-only no · destructive no · idempotent no · open-world yes
memeswap_xstatusread-onlyProvider-reported bridge transaction status (GET /api/xstatus). Observational; may lag final chain state.
Parameters:
txHash(required) — stringbridge— stringtoChain— stringfromChain— string
Hints: read-only yes · destructive no · idempotent yes · open-world yes
memeswap_growth_helpread-onlyUse 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 in plain words (the server enforces every rule).
Hints: read-only yes · destructive no · idempotent yes · open-world no
memeswap_session_messageread-onlyUse to start a wallet session; returns {wallet, ts, nonce, message} for the wallet to personal_sign, then pass the signature to memeswap_session_open.
Parameters:
wallet(required) — string — Public 0x EVM address. Never a key or seed.
Hints: read-only yes · destructive no · idempotent yes · open-world no
memeswap_session_openUse after signing the session message; posts {wallet, ts, nonce, signature} to /api/game/session and returns {token, wallet, expiresAt}, the caller bearer for social login, earn summary and reel posts.
Parameters:
wallet(required) — string — Public 0x EVM address. Never a key or seed.ts(required) — integernonce(required) — stringsignature(required) — string — personal_sign signature produced by the caller wallet over the exact message.
Hints: read-only no · destructive no · idempotent no · open-world yes
memeswap_social_loginUse 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 Squads tool takes.
Parameters:
session(required) — string — Wallet session bearer from memeswap_session_open. Used for this call only, never stored or echoed.address(required) — string — Public 0x EVM address. Never a key or seed.chainId— string — CAIP-2 chain id, default eip155:1.
Hints: read-only no · destructive no · idempotent no · open-world yes
memeswap_referral_termsread-onlyUse before accepting referrer terms; returns the current termsVersion, terms and rules URLs and the acceptance message templates (GET /api/referrals/terms).
Hints: read-only yes · destructive no · idempotent yes · open-world yes
memeswap_referral_accept_messageread-onlyUse 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 message (epoch ms) for memeswap_referral_code and memeswap_referral_stats.
Parameters:
wallet(required) — string — Public 0x EVM address. Never a key or seed.termsVersion— string — Defaults to the live version from /api/referrals/terms.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
memeswap_referral_acceptUse once per wallet to record the referrer terms acceptance (POST /api/referrals/accept); returns the server acceptance record.
Parameters:
wallet(required) — string — Public 0x EVM address. Never a key or seed.signature(required) — string — personal_sign signature produced by the caller wallet over the exact message.ts(required) — string — The ISO timestamp inside the signed acceptance message.termsVersion(required) — string
Hints: read-only no · destructive no · idempotent no · open-world yes
memeswap_referral_codeUse 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 message.
Parameters:
wallet(required) — string — Public 0x EVM address. Never a key or seed.signature(required) — string — personal_sign signature produced by the caller wallet over the exact message.ts(required) — integer
Hints: read-only no · destructive no · idempotent no · open-world yes
memeswap_referral_statsread-onlyUse to read counts for a referral code (GET /api/referrals/stats); public counts, and with wallet, signature and ts (the referral message signature) the referrer own earnings rows.
Parameters:
code(required) — stringts— integerwallet— string — Public 0x EVM address. Never a key or seed.signature— string — personal_sign signature produced by the caller wallet over the exact message.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
memeswap_squad_mineread-onlyUse to read the caller own squad, role and membership (GET /api/social/community/squads/mine); returns the server answer plus the invite link.
Parameters:
social(required) — string — Social session cookie value from memeswap_social_login. Used for this call only, never stored or echoed.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
memeswap_squad_directoryread-onlyUse to browse or search squads by name or tag (GET /api/social/community/squads/directory); returns items with invite links and nextCursor.
Parameters:
social(required) — string — Social session cookie value from memeswap_social_login. Used for this call only, never stored or echoed.limit— integercursor— integersearch— string
Hints: read-only yes · destructive no · idempotent yes · open-world yes
memeswap_squad_createUse to found a Squad (POST /api/social/community/squads/create {name, tag, requestId}); returns the new squad with its invite link.
Parameters:
social(required) — string — Social session cookie value from memeswap_social_login. Used for this call only, never stored or echoed.name(required) — stringtag(required) — stringrequestId— string — Idempotency key; random when absent.
Hints: read-only no · destructive no · idempotent no · open-world yes
memeswap_squad_applyUse to apply to join a Squad (POST /api/social/community/squads/apply {squadId, requestId}); returns the application the leader decides on.
Parameters:
social(required) — string — Social session cookie value from memeswap_social_login. Used for this call only, never stored or echoed.squadId(required) — stringrequestId— string — Idempotency key; random when absent.
Hints: read-only no · destructive no · idempotent no · open-world yes
memeswap_squad_share_cardread-onlyUse 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/squad/<TAG>.
Parameters:
social(required) — string — Social session cookie value from memeswap_social_login. Used for this call only, never stored or echoed.squadId(required) — string
Hints: read-only yes · destructive no · idempotent yes · open-world yes
memeswap_squad_privacyread-onlyUse to read the caller squad privacy switches (GET /api/social/community/squads/privacy); returns revision, showIdentity and showSize.
Parameters:
social(required) — string — Social session cookie value from memeswap_social_login. Used for this call only, never stored or echoed.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
memeswap_squad_set_privacyUse to change the squad privacy switches (POST /api/social/community/squads/privacy {expectedRevision, showIdentity, showSize}); returns the new revision.
Parameters:
social(required) — string — Social session cookie value from memeswap_social_login. Used for this call only, never stored or echoed.expectedRevision(required) — integershowIdentity(required) — booleanshowSize(required) — boolean
Hints: read-only no · destructive no · idempotent no · open-world yes
memeswap_earn_summaryread-onlyUse to read pending and available Earn amounts for the session wallet (GET /api/earn/summary?wallet=, Authorization: Bearer); returns the server summary; scope=profile totals every wallet of the verified profile.
Parameters:
session(required) — string — Wallet session bearer from memeswap_session_open. Used for this call only, never stored or echoed.wallet(required) — string — Public 0x EVM address. Never a key or seed.scope— string
Hints: read-only yes · destructive no · idempotent yes · open-world yes
memeswap_earn_leaderboardread-onlyUse to read the public Earn leaderboards (GET /api/earn/leaderboard); returns the rows the server ranks for board, period, role and metric.
Parameters:
q— stringrole— stringboard— stringlimit— integermetric— stringperiod— string
Hints: read-only yes · destructive no · idempotent yes · open-world yes
memeswap_reel_postUse 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, fileSha256, aiDisclosure}, uploads the bytes, and returns {reelId, streamUid, fileSha256, status}.
Parameters:
session(required) — string — Wallet session bearer from memeswap_session_open. Used for this call only, never stored or echoed.chain(required) — stringtoken(required) — stringcaption(required) — stringaiDisclosure(required) — boolean — Required. true when the video is AI-made or AI-assisted.videoUrl(required) — string — https URL of the mp4 or mov.
Hints: read-only no · destructive no · idempotent no · open-world yes
memeswap_reel_statusread-onlyUse to poll one reel (GET /api/reels/<reelId>); returns the server reel with status, hiddenReason, removedReason, aiDisclosure and tokenCard; pass the creator session to see a draft, hidden or removed reel.
Parameters:
reelId(required) — stringsession— string — Wallet session bearer from memeswap_session_open. Used for this call only, never stored or echoed.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
memeswap_brand_kitread-onlyUse before producing any MemeSwap promotion; returns the approved brand kit (artwork URLs, colours, logos, copy and usage rules) from GET /brand/kit.json, relayed as is.
Hints: read-only yes · destructive no · idempotent yes · open-world yes
memeswap_marketing_helpread-onlyUse 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 rules, in plain words.
Hints: read-only yes · destructive no · idempotent yes · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.