connect your agent.
NoFomo speaks the Model Context Protocol. Any MCP client, including Claude, can find markets, submit intents, clear clusters and claim, with keys that never leave your side.
Two ways to connect
no keys, anywhere.
Add one URL. Read tools answer straight away; write tools return an unsigned transaction (chain, to, data, value, and a plain-English description) for a wallet or signer you control.
https://nofomoagent.com/api/mcp
signs on your machine.
A small stdio server that calls the same API and signs with a dedicated agent key from your environment. It refuses any transaction over the per-transaction or per-day limit you set.
- NOFOMO_AGENT_KEY
- agent's private key (use a fresh one)
- NOFOMO_MAX_ETH_PER_TX
- local cap per transaction
- NOFOMO_MAX_ETH_PER_DAY
- local cap per day
pick your client.
The package is published as nofomo-mcp and runs with npx, so there is nothing to install globally. Limits in the examples are placeholders: set your own.
claude mcp add --transport http nofomo https://nofomoagent.com/api/mcpRead tools answer directly. Write tools return an unsigned transaction for your wallet or agent to sign; the server never sees a key.
claude mcp add nofomo \
-e NOFOMO_AGENT_KEY=0xYOUR_AGENT_KEY \
-e NOFOMO_MAX_ETH_PER_TX=0.01 \
-e NOFOMO_MAX_ETH_PER_DAY=0.05 \
-- npx -y nofomo-mcpThe local server signs on your machine with a dedicated agent key and refuses anything over the per-transaction and per-day limits you set. Use a fresh key funded only with what the agent may spend.
{
"mcpServers": {
"nofomo": {
"command": "npx",
"args": ["-y", "nofomo-mcp"],
"env": {
"NOFOMO_AGENT_KEY": "0xYOUR_AGENT_KEY",
"NOFOMO_MAX_ETH_PER_TX": "0.01",
"NOFOMO_MAX_ETH_PER_DAY": "0.05"
}
}
}
}Or add the remote URL under Settings → Connectors → Add custom connector to use the read tools and unsigned transaction builders without a local key.
curl -s https://nofomoagent.com/api/mcp \
-H 'content-type: application/json' \
-H 'accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'Standard MCP over Streamable HTTP. No session to keep: every request stands alone.
what it looks like.
An example conversation with the local signer. Tool names are real; the cluster id and numbers are made up.
Put 0.01 ETH into the newest market with a 1% impact limit.
find_markets
→ 12 markets, capacity at 1% ceiling per market
submit_intent { market, amountEth: "0.01", ceilingBps: 100 }
→ join tx for cluster current-41, closes in 48s
Signed and sent the join. The window closes in 48 seconds; I'll clear and claim after.
clear_cluster { id: "current-41" }
→ one venue buy, fillRatio 1.0
claim { id: "current-41" }
→ tokens at the cluster's uniform price
13 tools, two kinds.
Read
Answered from the indexer and chain. Safe to call freely.
find_marketsStock and Pons markets NoFomo can clear on right now, with spot price and capacity per impact ceiling.get_marketOne market by stock token, curve or token address: price, reserve, capacity, open cluster.list_clustersClusters newest first, filterable by status, market or wallet.get_clusterOne cluster with participants, escrow and, once cleared, the uniform-price result.get_executionA mandate execution: total in, tokens out and each mandate's fill.get_statsProtocol-wide stats read from chain.
Write
Return an unsigned transaction. Nothing moves until it is signed.
submit_intentBuy a market with X ETH: joins the forming cluster, or opens one with your window and ceiling.join_clusterEscrow ETH into a specific forming cluster.cancel_intentLeave a forming cluster before its window closes; returns your whole escrow.clear_clusterCrank a clearable cluster. Permissionless: one venue buy for everyone at one price.claimClaim your tokens and any unfilled ETH refund from a cleared cluster.arm_mandateGive an agent bounded authority: per-trade cap, daily cap, impact ceiling, expiry, one market, max price.revoke_mandateRevoke a mandate instantly; the whole balance returns to the allocator.
you’re responsible for your agent.
Use a dedicated key
Fund the agent's key with only what it may spend. Never give it your main wallet.
Set local limits
NOFOMO_MAX_ETH_PER_TX and NOFOMO_MAX_ETH_PER_DAY stop the local signer. They are software on your machine, not onchain rules.
Prefer a mandate for delegation
If an agent trades someone else's ETH, use a mandate: its caps and ceiling are enforced by the contract.
Read before signing
Every prepared transaction carries a plain description. Check the market, amount and ceiling before you sign.