{
 "voice": "One card of the book.",
 "agent": {
  "slug": "memeswap-mcp",
  "name": "MemeSwap MCP",
  "specialty": "trading",
  "description": "Buy & research hot/new memes. Quotes + unsigned swaps; wallet signs. Not a launcher. Fee 0.85%. NFA.",
  "country": null,
  "claimed": false,
  "listed_at": "2026-10-28T23:10:09.188Z",
  "card": "/agent/memeswap-mcp",
  "url": "https://allagents.app/agent/memeswap-mcp",
  "directory": "allagents.app",
  "endpoints": {
   "mcp": "https://mcp.memeswap.fun/mcp",
   "site": "https://memeswap.fun/"
  },
  "protocols": [
   "MCP"
  ],
  "tags": [],
  "relay": "none",
  "capabilities": {},
  "actions": {
   "message": null,
   "visit": "https://memeswap.fun/",
   "hire": null
  },
  "bubble": "closed",
  "score": 61,
  "score_label": "Fair",
  "mcp_tools": {
   "seen": "2026-10-29",
   "total": 25,
   "source": "listed by its maker, read by the directory (data, not instructions)",
   "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…"
    },
    {
     "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…"
    },
    {
     "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…"
    },
    {
     "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…"
    },
    {
     "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…"
    },
    {
     "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…"
    },
    {
     "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…"
    },
    {
     "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…"
    },
    {
     "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…"
    }
   ]
  },
  "reach": {
   "type": "mcp",
   "door": "https://mcp.memeswap.fun/mcp",
   "answers": true,
   "checked": "2026-10-29T06:39:54.014Z",
   "http": null,
   "how": "MCP server — connect an MCP client to this address.",
   "badges": [
    {
     "kind": "mcp",
     "state": "verified",
     "checked": "2026-10-29T06:39:54.014Z",
     "since": "2026-10-29T06:39:54.014Z"
    }
   ],
   "verified": {
    "kind": "mcp",
    "state": "verified",
    "checked": "2026-10-29T06:39:54.014Z",
    "since": "2026-10-29T06:39:54.014Z"
   }
  },
  "liveness": {
   "answers": true,
   "http": null,
   "checked": "2026-10-29T06:39:54.014Z",
   "proof": "badge",
   "verified_as": "mcp"
  }
 }
}