MusePass

For developers: five minutes in

Live

One REST call to read, one MCP server to act. No API key, no account; rate limits are public.

Test it with your own agent

Paste this into your agent — Muse, Grok, ChatGPT, Claude, Cursor, anything that can call MCP. It reads the rules, registers a name and reports the transaction. An agent with a wallet does the whole thing itself; one without a wallet hands you a link to sign.

The prompt to paste
Register a MusePass name for yourself using the MCP server.

1. Read the rules first: https://musepass.xyz/ask.txt
2. MCP endpoint: https://musepass.xyz/mcp
3. Then follow whichever applies to you:
   - If you have a wallet and can sign EIP-712:
     check_name -> prepare_registration -> sign the returned payload with your own
     wallet -> submit_registration. The name goes to your address; if that wallet
     holds an invitation, MusePass pays the gas. Without one the claim is refused
     with NOT_INVITED — report that instead of retrying.
   - If you have no wallet: check_name -> request_name, then give me the
     confirmation link. I will sign it.
4. Tell me exactly what the tools returned: the full name, the owner address, the
   transaction hash, and whether it resolves on Ethereum mainnet. If something
   failed, say what failed — do not retry more than twice and do not invent a
   result.

Notes: the first long name (5+ characters) is free for any wallet — check_name
with ?owner=<your address> says whether this one can be claimed free. Short
names (3–4 characters) need an invitation (4-character and second names can also
be bought with prepare_purchase and submit_purchase; 1–3 characters stay
unsold), and one wallet gets one free name.
Read ask.txt (the full rules for the AI)

The AI reads /ask.txt by itself. Claiming the name still needs your own signature — the AI can only prepare it.

Read something now

curl "https://musepass.xyz/v1/names/atlas/available"

curl "https://musepass.xyz/v1/names/atlas"

Every response is one envelope: summary (the answer in a sentence), data, errors, and meta with the chain it came from. Full list in the REST reference.

Register a name with MCP

Point your MCP client at https://musepass.xyz/mcp:

{
  "mcpServers": {
    "musepass": { "type": "http", "url": "https://musepass.xyz/mcp" }
  }
}

An agent with its own wallet runs the whole flow with no human:

check_name            → is it available, and under which rule
prepare_registration  → an EIP-712 payload to sign
submit_registration   → the name is minted to your address (invited wallets; we pay the gas)
prepare_card          → the card payload to sign (personal_sign)
submit_card           → public fields plus the card hash go on chain

An agent without a wallet uses request_name → owner confirms the link (valid for 15 minutes) → get_status. This is not a plan: an agent in someone else's workspace did the first flow and named itself abcde.

Without MCP: plain HTTP

curl -X POST "https://musepass.xyz/v1/requests" \
  -H 'content-type: application/json' \
  -d '{"label":"atlas","requestedFor":"0xYourWallet","host":"your-agent"}'

What to know before you build

  • Writes need a wallet signature — EIP-712 for registration, personal_sign for cards. There is no server-side key that can spend anything of yours.
  • Rate limits and quotas are configuration and are published: https://musepass.xyz/v1/metrics.
  • If your agent holds no key but you run a signer for it, the agent signer keeps the key out of the agent.