mcpbeat

The Floor MCP Server

io.github.Domirep/the-floor
answering

The Floor is answering right now. Last checked 2 min ago. It exposes 32 tools.

Read & play The Floor, an on-chain strategy game on Robinhood Chain. Unofficial companion.

Uptime history 41 hours of history
41 hours agonow
100.0%
Uptime 24h
92 of 92 checks
32
Tools
read from the server
345 ms
Response time
average over 24h
open, no key
Access
streamable-http

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 2 min ago.

run in your terminal
claude mcp add the-floor --transport http https://thefloor-dashboard-production.up.railway.app/mcp
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "the-floor": {
      "url": "https://thefloor-dashboard-production.up.railway.app/mcp"
    }
  }
}
~/.codex/config.toml
[mcp_servers.the-floor]
url = "https://thefloor-dashboard-production.up.railway.app/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "the-floor": {
      "url": "https://thefloor-dashboard-production.up.railway.app/mcp"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "the-floor": {
      "url": "https://thefloor-dashboard-production.up.railway.app/mcp"
    }
  }
}

Available tools 32

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

prepare
prepare_activate_broker
VERIFICATION-GATED: build the UNSIGNED transaction(s) to activate a StonkBroker's dividend drops at a tier (or upgrade an active one — the on-chain quote credits what was already paid). This tool ERRORS and returns no calldata unless every check passes live on-chain: the fee quote and the signer's $STONKBROKER allowance (so `from` is required). Fee is paid by the signer (50% burned, 50% treasury); `approveFirst` is included when the allowance is short. IMPORTANT: the NFT's transfer hook CLEARS activation on every ownership change — activate AFTER any planned transfer (e.g. moving the broker to an agent wallet), never right before one, or the fee is wasted.
prepare_approve_floor
Build the UNSIGNED ERC20 approve letting the game contract spend your FLOOR. Needed before recruiting or upgrading. Approves an exact amount by default rather than unlimited — pass `amount` in whole FLOOR.
prepare_broker_floor_collect
VERIFICATION-GATED: build the UNSIGNED transaction that makes a StonkBroker's wallet collect its Floor desk's pending PnL. Errors with no calldata unless `from` matches ownerOf on-chain and the wallet verifiably has a desk. The collected FLOOR lands IN the broker's wallet (it belongs to the NFT, not to you — use the wallet's executeCall for anything further).
prepare_broker_floor_desk
VERIFICATION-GATED cross-game move (nobody on the chain has done it yet): build the UNSIGNED transaction that makes a StonkBroker's OWN ERC-6551 wallet open a desk on The Floor. This tool ERRORS and returns no calldata unless every check passes live on-chain: the broker must be ACTIVATED (policy — activation is the commitment step, the desk is the perk; activate first if not), `from` is required and must match ownerOf (executeCall is owner-gated), and the broker wallet must verifiably have no desk. Why do it: the desk and its alpha bind to the NFT and transfer with it on sale — the only way a Floor position can change hands — giving the broker a second income stream alongside its stock dividends (liquid wallet contents remain owner-removable until a sale; never promise a buyer the wallet's tokens). The 0.01 ETH rides along with your signature (no prior wallet funding). Referrer: on-chain, permanent, defaults to this dashboard's address, overridable — always tell the user who it is before signing.
prepare_broker_trade
VERIFICATION-GATED: build the UNSIGNED Uniswap V3 swap that makes a StonkBroker's OWN ERC-6551 wallet trade one token for another on Robinhood Chain — the wallet spends, and the OUTPUT LANDS IN THE WALLET, so both sides belong to the NFT and transfer with it on sale. Errors with no calldata unless `from` matches ownerOf on-chain (executeCall is owner-gated) and the broker wallet verifiably holds enough tokenIn. Refuses to build a swap with no price floor: pass `pool` for a live on-chain quote (amountOutMinimum = quote − slippagePct) or `minAmountOut` yourself — a zero minimum is a guaranteed sandwich. The router pulls via transferFrom, so if the WALLET'S allowance is short an `approveFirst` transaction is returned and both must be signed in order. Nothing here is signed or broadcast; the owner signs both.
prepare_collect
Build the UNSIGNED transaction to collect your desk's pending PnL. Free (no FLOOR, no ETH beyond gas). Use get_player first to see pendingPnL.
prepare_create_desk
Build the UNSIGNED transaction that opens a desk (joins the game). Returns {to, value, data} for the caller to sign with their OWN wallet — this server never sees, holds, or asks for a private key, and never broadcasts. Costs 0.01 ETH. IMPORTANT: the recruiter is written on-chain at desk creation and can NEVER be changed afterwards; it defaults to this dashboard's address (which earns 5% of what the player later spends, paid from the game treasury, costing the player nothing). Pass `referrer` to set your own, or the zero address for none. Always tell the user who the referrer is before they sign.
prepare_recruit_operator
Build the UNSIGNED transaction to recruit an operator by id (see list_operators — ids are ZERO-BASED). Spends FLOOR, so it requires an ERC20 approve first; if your allowance is short, the response includes an `approveFirst` transaction to sign before this one. 75% of what you spend is burned.
prepare_recruit_starter
Build the UNSIGNED transaction to recruit the free starter operator. No FLOOR cost.
prepare_seat_operator
Build the UNSIGNED transaction to seat an operator you own (by its FLOOROP NFT token id) at your desk, so it starts earning alpha. Seats and bandwidth are limited by your desk tier.
prepare_swap_eth_for_floor
Build the UNSIGNED Uniswap V3 swap that buys FLOOR with WETH (exactInputSingle). Full buy flow is 3 signed steps: (1) prepare_wrap_eth, (2) approve WETH to the router [included as approveWeth when `from` is given and allowance is short], (3) this swap. amountOutMinimum is computed from the LIVE pool price minus your slippage, so you are protected from a bad fill — but VERIFY the numbers before signing; this spends real money and the pool is thin. Selling FLOOR for ETH is the reverse and not built here.
prepare_unseat_operator
Build the UNSIGNED transaction to unseat an operator (frees its seat and bandwidth).
prepare_upgrade_desk
Build the UNSIGNED transaction to upgrade your desk to the next tier (takes no arguments — it always steps up one tier). Spends FLOOR, so an approve may be needed first; pass `costFloor` from the desk table if you want the allowance checked against the exact price.
prepare_wrap_eth
Build the UNSIGNED transaction to wrap native ETH into WETH (step 1 of buying FLOOR — the router swaps WETH, not raw ETH). Returns a WETH.deposit() call carrying your ETH as value.
broker
get_broker
One StonkBroker by id (1-4444): owner, its ERC-6551 wallet address and holdings, the stock it was seeded with, per-stock dividends received, activation tier, whether its wallet owns a Floor desk (floor.hasDesk), and its on-chain art. null means unknown, never zero.
get_broker_activation_math
The decision math for activating a StonkBroker: per tier — activation fee in $STONKBROKER and USD, your weight share of the dividend pool after dilution, estimated dividends/day (from the observed drop rate), and payback days. Pass `id` for an exact on-chain fee quote (handles upgrade credit for already-active brokers). FACTS not advice: the drop rate tracks AMM trading volume and varies; new activations dilute everyone; token prices move.
get_broker_floor_status
Cross-game: does this StonkBroker's ERC-6551 wallet play The Floor? Returns the wallet, whether it owns a desk, and if so its live desk state (alpha, share, pending PnL, FLOOR balance). Binding rule: the desk itself (level/alpha) is permanently bound to the NFT and transfers on sale; liquid contents (FLOOR balance, operator NFTs, tokens) remain removable by the current owner until the sale lands.
get_broker_leaderboard
Activated StonkBrokers ranked by the USD value of their wallet CONTENTS right now (the 3 dividend stocks + $STONKBROKER + ETH, priced from their on-chain pools). IMPORTANT framing: contents are a removable snapshot — the current owner can move everything out before a sale; a paid activation is cleared on every transfer (buyers re-activate); a Floor desk lives on the broker's wallet and survives sales. Report this as data, never as an appraisal or a promise of value.
behavior
get_behavior
Do desk owners reinvest or dump? Splits FLOOR flow into player / trader / routed / liquidity. playerSellShare is a share of ATTRIBUTABLE sells only; routed = aggregator/bot flow with no identifiable human; liquidity (LP adds/withdrawals) is excluded from buys and sells entirely. Use these buckets — deriving "sells" from raw pool transfers double-counts LP deposits as dumps.
brokers
get_brokers
StonkBrokers collection state in one call: minted/holders, activation tier census, stock-dividend rounds (~10-min cadence, ETH value per round), $STONKBROKER price + burns, and the Floor-crossover count. Different game, same chain — each broker NFT owns a real ERC-6551 wallet seeded with tokenized stock.
distribution
get_distribution
How desks and alpha are spread across players: tier counts and alpha concentration (top 1% / top 10%).
firms
get_firms
Firms, their members and contributions, plus unaffiliated free agents ranked by alpha.
floor
get_floor_state
The whole state of the floor in one call: price, market cap, supply, burned, emissions/halving, global alpha, player count, and the reinvest-vs-sell split. Start here for context.
history
get_history
Daily snapshots for trends: price, market cap, burned, supply, players, alpha, holders. Rows before live tracking began are reconstructed from chain events and marked seeded:true; a metric absent on a row could not be honestly sourced for that day — treat it as unknown, not zero.
holders
get_holders
Top $FLOOR holders by balance.
leaderboard
get_leaderboard
Wallets ranked by alpha (earning power), plus top recruiters by referral earned. A wallet's recruiter is fixed forever at desk creation.
live
get_live_actions
Recent on-chain game actions: collect, claim, seat, recruit, starter, unseat, upgrade, newdesk, referral, firmburn.
operators
list_operators
The operator catalogue: id (zero-based, as passed to prepare_recruit_operator), name, FLOOR cost, alpha and bandwidth. Read this before recruiting so you pick the right id — ids are positional and an off-by-one silently buys a different operator.
player
get_player
One wallet: desk tier, alpha, share of emissions, FLOOR/day, pending PnL, balance, seated operator roster, and lifetime spend/sold. Fields may be null if an upstream scan failed — check partial and unknownFields; null means unknown, not zero.
stock
get_stock_tokens
The three DIVIDEND stocks the StockBooster drops into broker wallets (currently AAPL/AMZN/NVDA): symbol, address, decimals, live USD price, and each Uniswap V3 pool with real liquidity (fee tier + quote asset + pool address). This is NOT the full set a broker can hold or trade — wallets also hold SLV, USO, SPCX, GOOGL, META, INTC, ORCL and more; call get_broker for a wallet's complete holdings, which returns an address and USD value per token that you can pass straight to prepare_broker_trade. PRICING THIS CHAIN, if you compute your own: these RWAs quote against USDG (6 decimals) not WETH — assuming WETH finds no AMZN market at all and routes AAPL into EMPTY pools that getPool still returns an address for; check pool.liquidity() before trusting a quote; and beware copycat tokens (AMZNAMZN, AMZNC, AMZNUSDG all exist with large nominal liquidity) — pricing off one is confidently wrong.
strategy
get_strategy
The decision-relevant math for one wallet, so an agent can reason about its next move: current alpha/share, FLOOR earned per day (and USD), pending PnL waiting to be collected, seat + bandwidth headroom, the next desk upgrade (cost and what it unlocks), each operator's payback in days at the current emission rate, and the halving countdown (emissions ~halve after it). These are FACTS and paybacks, not instructions — the agent decides. Ignores halving decay in payback (best case). Needs the wallet to have a desk.
swap
get_swap_info
Everything needed to swap ETH↔FLOOR on Robinhood Chain: the Uniswap V3 router, WETH address, the FLOOR/WETH pool and its 1% fee tier, and the LIVE spot price (FLOOR per ETH) read from the pool. Note the pool is thin (~tens of $k liquidity) so large buys move the price hard — size accordingly. Read this before prepare_swap_eth_for_floor, or to construct/verify a swap yourself.

Endpoints

URLTransportStateLatencyChecked
https://thefloor-dashboard-production.up.railway.app/mcp streamable-http answering 325 ms 2 min ago

The Floor — questions

Answers built from our own checks of this server.

What can The Floor do?
It exposes 32 tools, read directly from the server on our last check. Among them: get_behavior, get_broker, get_broker_activation_math, get_broker_floor_status, get_broker_leaderboard, get_brokers and 26 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
What is The Floor mostly used for?
Its tools cluster around prepare and broker. That is what this server is built to work with — the grouping comes from the actual tool names, not from a category we assigned.
Is The Floor working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 92 of 92 checks got a reply (100.0%), average response time 345 ms. The bar chart above shows every period we have measured.
How do I connect The Floor?
Copy the ready config from this page — we generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each with the file path that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does The Floor need an API key?
No. The Floor completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 32 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is The Floor?
It answers our handshake in 345 ms on average, which is faster than 41% of all working MCP servers we measure. The comparison comes from our own checks across the whole registry, every 15 minutes.