# MemeSwap MCP

> Buy & research hot/new memes. Quotes + unsigned swaps; wallet signs. Not a launcher. Fee 0.85%. NFA.

- name: fun.memeswap/trading
- version: 0.2.1
- connection class: R0 (autonomous)
- trust: 82/100 flags: no-repository
- quality: 86/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/fun.memeswap%2Ftrading
- tools: https://api.protogrid.dev/v1/servers/fun.memeswap%2Ftrading/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "trading": {
      "type": "http",
      "url": "https://mcp.memeswap.fun/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 98
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-96% +updated-19d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 86/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 43 of 43 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 6,677 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 75 (weight 15)

- warn `stability.changes`: 25 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 43, about 6,677 tokens to load them all
- tool set hash: 5b7dff1946318de643c98af47eb8c476
- tools last changed: 2026-10-02T06:42:47.827Z
- badge: [![protogrid quality](https://protogrid.dev/badge/fun.memeswap/trading.svg)](https://protogrid.dev/servers/fun.memeswap/trading)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-02 `memeswap_marketing_help` added
  - 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 rules, in plain words.
- 2026-10-02 `memeswap_brand_kit` added
  - Use 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.
- 2026-10-02 `memeswap_reel_status` added
  - Use 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.
- 2026-10-02 `memeswap_reel_post` added
  - 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, fileSha256, aiDisclosure}, uploads the bytes, and returns {reelId, streamUid, fileSha256, status}.
- 2026-10-02 `memeswap_earn_leaderboard` added
  - Use to read the public Earn leaderboards (GET /api/earn/leaderboard); returns the rows the server ranks for board, period, role and metric.
- 2026-10-02 `memeswap_earn_summary` added
  - Use 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.
- 2026-10-02 `memeswap_squad_set_privacy` added
  - Use to change the squad privacy switches (POST /api/social/community/squads/privacy {expectedRevision, showIdentity, showSize}); returns the new revision.
- 2026-10-02 `memeswap_squad_privacy` added
  - Use to read the caller squad privacy switches (GET /api/social/community/squads/privacy); returns revision, showIdentity and showSize.
- 2026-10-02 `memeswap_squad_share_card` added
  - 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/squad/<TAG>.
- 2026-10-02 `memeswap_squad_apply` added
  - Use to apply to join a Squad (POST /api/social/community/squads/apply {squadId, requestId}); returns the application the leader decides on.

Full history: https://api.protogrid.dev/v1/servers/fun.memeswap%2Ftrading/changes

## Remotes

- https://mcp.memeswap.fun/mcp (streamable-http, auth none, reachable true, uptime30d 0.9589041)

## Packages

_none_

## Tools (43)

- `memeswap_brand_kit`: Use 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.
- `memeswap_build`: 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. Fee 0.85% on fee-enabled trades. NFA. Does NOT authorize, sign, submit or confirm.
- `memeswap_chains`: Networks for meme research / buy routing from GET /api/chains (keys, explorers, aggregators).
- `memeswap_create_credential`: 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, never log.
- `memeswap_earn_leaderboard`: Use to read the public Earn leaderboards (GET /api/earn/leaderboard); returns the rows the server ranks for board, period, role and metric.
- `memeswap_earn_summary`: Use 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.
- `memeswap_game_me`: Public game/profile card for a wallet (GET /api/game/me): display name, avatar URL choices, scores. No secrets.
- `memeswap_growth_help`: 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 in plain words (the server enforces every rule).
- `memeswap_health`: 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.
- `memeswap_list_credentials`: List scoped API credential metadata (GET /api/v1.1/me/credentials). Never returns secrets. Requires live user API.
- `memeswap_list_wallet_refs`: List wallet refs [{wallet, override}] + active letter (GET /api/v1.1/me/refs). Requires live user API + scoped token.
- `memeswap_marketing_help`: 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 rules, in plain words.
- `memeswap_onboarding_help`: 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 / no auto-trade.
- `memeswap_portfolio`: Public-address holdings check before/after a meme buy (GET /api/portfolio). Address is routing input, not proof of ownership.
- `memeswap_quote`: 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 before build.
- `memeswap_reel_post`: 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, fileSha256, aiDisclosure}, uploads the bytes, and returns {reelId, streamUid, fileSha256, status}.
- `memeswap_reel_status`: Use 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.
- `memeswap_referral_accept`: Use once per wallet to record the referrer terms acceptance (POST /api/referrals/accept); returns the server acceptance record.
- `memeswap_referral_accept_message`: 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 message (epoch ms) for memeswap_referral_code and memeswap_referral_stats.
- `memeswap_referral_code`: 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 message.
- `memeswap_referral_stats`: 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 referrer own earnings rows.
- `memeswap_referral_terms`: Use before accepting referrer terms; returns the current termsVersion, terms and rules URLs and the acceptance message templates (GET /api/referrals/terms).
- `memeswap_revoke_credential`: Revoke one credential by 16-hex id (DELETE /api/v1.1/me/credentials/:id). Requires live user API.
- `memeswap_select_wallet_ref`: Select active wallet-ref letter (PUT /api/v1.1/me/refs/active). Requires live user API + refs:write.
- `memeswap_session_message`: 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.
- `memeswap_session_open`: Use 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.
- `memeswap_set_avatar`: Upload wallet/profile image (POST /api/game/avatar). Needs session bearer + image bytes; MCP does not accept raw image uploads in v0.2.
- `memeswap_set_profile`: Set 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.
- `memeswap_set_wallet_refs`: Replace wallet-ref list (PUT /api/v1.1/me/refs). Public addresses only. Requires live user API + refs:write token.
- `memeswap_social_login`: 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 Squads tool takes.
- `memeswap_social_providers`: List social connect providers (GET /api/social/providers). OAuth still requires a human browser session.
- `memeswap_squad_apply`: Use to apply to join a Squad (POST /api/social/community/squads/apply {squadId, requestId}); returns the application the leader decides on.
- `memeswap_squad_create`: Use to found a Squad (POST /api/social/community/squads/create {name, tag, requestId}); returns the new squad with its invite link.
- `memeswap_squad_directory`: Use to browse or search squads by name or tag (GET /api/social/community/squads/directory); returns items with invite links and nextCursor.
- `memeswap_squad_mine`: Use to read the caller own squad, role and membership (GET /api/social/community/squads/mine); returns the server answer plus the invite link.
- `memeswap_squad_privacy`: Use to read the caller squad privacy switches (GET /api/social/community/squads/privacy); returns revision, showIdentity and showSize.
- `memeswap_squad_set_privacy`: Use to change the squad privacy switches (POST /api/social/community/squads/privacy {expectedRevision, showIdentity, showSize}); returns the new revision.
- `memeswap_squad_share_card`: 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/squad/<TAG>.
- `memeswap_token`: Deep profile for one meme coin before a buy decision (risk/market) via GET /api/token/:chain/:address.
- `memeswap_tokens`: 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 address. Observations can be stale.
- `memeswap_trading_help`: 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. Security bar: unsigned construction only; no custody, no signing, no unrestricted submit.
- `memeswap_xquote`: Cross-chain quote + unsigned material when the user wants to buy a meme across chains (GET /api/xquote). Wallet signs. Does not submit.
- `memeswap_xstatus`: Provider-reported bridge transaction status (GET /api/xstatus). Observational; may lag final chain state.
