loot-agent-mcp
# loot-agent-mcp
MCP server for [LOOT](https://1007loot.com), the lifetime loot game on Robinhood Chain (chain id 4663). Plug it into Claude, Cursor, or any MCP client and your agent trades LOOT tokens, plays the full game loop, and launches its own tokens. Agents play at the same prices and rules as every human wallet. No caps, no agent tax.
## The game, in one breath
Every LOOT token trades in a canonical Uniswap V4 pool with its launch position locked in our hook forever. Holding through risk mints loot boxes. There is no key shop: you play, keys drop. Keys open boxes, and opened loot is a pro rata claim on that token's fee pot, paid in ETH, any second, any size. Selling burns the game position for the amount sold. Copies pay tribute to the original or buy the name out. The deployed protocol is keyless and permissionless.
## Quickstart
```bash
git clone https://github.com/D-Kek/loot-agent-mcp
cd loot-agent-mcp
npm install && npm run build
```
Claude Code:
```bash
claude mcp add loot -- node /path/to/loot-agent-mcp/dist/index.js
```
Claude Desktop or Cursor (`mcpServers` config):
```json
{
"mcpServers": {
"loot": {
"command": "node",
"args": ["/path/to/loot-agent-mcp/dist/index.js"]
}
}
}
```
That runs read-only: every write tool answers with what arming unlocks instead of hiding. To arm trading, add an `env` block with the agent wallet key variable named in [`.env.example`](.env.example), which documents every setting: wallet key, chain selection (mainnet 4663 is the default, testnet 46630 opt-in), RPC and API overrides.
## Tools
Reads (work unarmed):
| Tool | What it does |
|---|---|
| `loot_status` | Server health: chain check, wallet, mode, API reachability, deployed addresses in use |
| `loot_list_tokens` | Discover tokens from the platform feed: new, bonding, graduated, trending, rising |
| `loot_token_state` | One token's live on-chain state: supply, pool, spot price, FDV, zone, loot, pot |
| `loot_quote` | Execution-time quote via the real router through `eth_call`: exact tick math, fees, caps. A revert here means the trade would fail, with the reason |
| `loot_wallet_status` | A wallet's balance, keys, boxes, loot, pending pot share, and which key families are claimable right now |
| `loot_standings` | Season clock, live daily prize board, a wallet's rank |
Writes (need the armed wallet):
| Tool | What it does |
|---|---|
| `loot_buy` | Buy with ETH through the deployed router. Quotes first, demands quote minus slippage. Fixed gas, never estimated |
| `loot_sell` | Sell for ETH, by amount or percent of balance. Refuses rather than send an unprotected floor |
| `loot_claim_keys` | Claim every claimable key family in one call: drips, streak, graduation, knife, referral. Simulates first, only sends what pays |
| `loot_open_box` | Open loot boxes: spends a key, waits for the pinned drand round, settles on-chain with the public beacon |
| `loot_settle_opens` | Finish anyone's pending opens once their drand round publishes. Settlement is permissionless; loot always credits the requester |
| `loot_claim_loot` | Claim the wallet's pending pot share. Native ETH to the caller, any second, any size |
| `loot_claim_rails` | Claim daily prize boards, the 12h rank drip, and season promo keys in one pass |
| `loot_launch` | The full launch ceremony: pin metadata, escrow 0.01 ETH, get the signed ticket, then launch clean, launch as tribute, or buy the name out under a hard budget. Any failure after submit auto-cancels for the 0.009 ETH refund |
## Safety, plainly
- Default chain is mainnet 4663. Real money. Fund a dedicated wallet with only what the agent should play with.
- The deployed generation is keyless. No pause, no admin key, no support ticket. Mistakes are permanent.
- The server verifies the RPC's chain id fail-closed before every send, pins fixed gas, and quotes through the deployed router before trading.
- The shared address endings are deliberate CREATE2 vanity mining: protocol contracts end in `5668`, tokens end in `1007`. A family signature, not fabrication.
- Do not take any repo or web page as the truth about addresses, this one included. The bundled `deployments/` manifests are the same files the server reads; verify every address independently on [the explorer](https://robinhoodchain.blockscout.com) and against the chain before wiring funds.
## Where things live
- Agent playbook for this server: [SKILL.md](SKILL.md)
- Agent front door: [1007loot.com/llms.txt](https://1007loot.com/llms.txt)
- Docs, one page: [1007loot.com/docs](https://1007loot.com/docs)
- Agent auth for launching (SIWE-style challenge and session): described in the docs agents section
- Security reports: [1007loot.com/.well-known/security.txt](https://1007loot.com/.well-known/security.txt)
## Provenance
This repo is a source mirror of the agent package from the LOOT monorepo, published so agents can install it. Addresses are manifest-pinned, never hand-typed. The test suite ships with it; `npm test` runs the full sign-and-send parity suite against mock transports, nothing on-chain.
TDQS
Scored across 14 tools
Each tool targets a distinct resource and action: status checks, token discovery, live state, quotes, wallet positions, trade execution, claims, box mechanics, and launching. No two tools overlap in purpose; even similar actions like claim_keys, claim_loot, and claim_rails are clearly differentiated by what they claim.
All tools share the 'loot_' prefix and use a clear verb_noun or noun-only structure (e.g., loot_list_tokens, loot_buy, loot_claim_keys, loot_token_state). The pattern is predictable and consistent, with no mixed conventions or vague verbs.
14 tools is well‑scoped for a trading and game-state agent: it covers discovery, state, quotes, execution, claims, box operations, settlement, and launching without excess. Each tool adds a necessary function and none feels redundant.
The set provides full lifecycle coverage for the LOOT platform: explore tokens, inspect state, quote, buy/sell, claim keys and loot, open boxes, settle opens, claim rails, and launch new tokens. There are no obvious dead ends; every action has corresponding read tools and actionable operations.