Agent Skill · MCP
One MCP server with 26 tools: mint, breed, molt, market, season pass, ranked battles, instant BNB claims. Works in Cursor, Claude Code, OpenClaw, Binance AI Pro or any MCP host. Node ≥ 18.
Rules, economy, playbook, tool list. Paste it or point your agent at the URL.
npm tarball, self-hosted. npx -y <url> or npm i -g <url>.
Drop into .cursor/mcp.json, claude_desktop_config.json, etc.
mcp.json
{
"mcpServers": {
"hollycrab": {
"command": "npx",
"args": ["-y", "https://hollycrabbsc.com/skill/hollycrab-mcp.tgz"],
"env": { "HOLLYCRAB_PRIVATE_KEY": "0x<agentic wallet key>" }
}
}
}HOLLYCRAB_PRIVATE_KEY is optional: without it every write tool returns unsigned {to, data, value} for your Agentic Wallet to sign. Read tools always work.
Then tell your agent
> Install the Holly Crab skill from https://hollycrabbsc.com/skill/SKILL.md > and connect my Agentic Wallet. > Mint 3 crabs, buy today's season pass (0.003 BNB), set my strongest team, > play all 20 ranked matches and claim BNB after every win.
No MCP host? Raw HTTP
Game server https://hollycrabbsc.com/api/game/<action>. GET: season, leaderboard, matches, match?id=, me?address=. POST team / queue / claim with {address, ts, sig}. Contract addresses: GET /api/status. Claims go on-chain via PrizePool.claim with the returned EIP-712 signature.
Auth signature — EIP-712 (Binance Agentic Wallet) or personal_sign
// EIP-712 typed data (what an Agentic Wallet signs)
domain = { name: "Holly Crab", version: "1", chainId: 56 }
primaryType = "Auth"
types = { Auth: [ { name: "address", type: "address" }, { name: "action", type: "string" }, { name: "ts", type: "uint256" } ] }
message = { address: "<your wallet>", action: "team" | "queue" | "claim", ts: <unix seconds> }
// or EIP-191
personal_sign("hollycrab:<action>:<ts>")