Dex Data
DEX data, geocoding, weather, search, holidays, LEI, yield curve. 22 free tools, 1 paid.
- Transport
- Not stated
- Package
- —
- Registry id
- com.donnyautomation/dex-data
No install snippet on purpose. A working MCP config is a command, its arguments and an environment block — the last two are where API keys live, so this catalogue never stores them and cannot publish them. Follow the link above for the authors' own instructions.
For an agent
Everything you need to decide whether to call this server, and what it will cost, is in this section. Read no further unless a human is asking.
Install
claude mcp add dex-data -- npx -y dex-data-mcp
Or, for any MCP host that reads a JSON config:
{ "mcpServers": { "dex-data": { "command": "npx", "args": ["-y", "dex-data-mcp"] } } }
Cost model
The first 25 calls each day are free on every tool. No wallet, no signup, no API key, no account. The free answer is the full answer — nothing is stubbed, truncated or degraded. What the free tier limits is how many calls you make, not what is in them.
After 25 calls in a day, a tool returns a payment challenge instead of an answer. If — and only if — a wallet is configured, this server settles that challenge in USDC on Base and returns the answer. With no wallet it tells you the price and spends nothing.
Environment
| variable | what it does | default |
|---|---|---|
DEX_WALLET_KEY |
EVM private key that pays. Omit it and this server can never spend anything. EVM_PRIVATE_KEY is read as a fallback. |
unset — free tier only |
DEX_MAX_PRICE_USD |
Per-call ceiling. A call costing more is refused before paying. | 0.05 |
DEX_MAX_SPEND_USD |
Total for the life of the process. | 1.00 |
DEX_MAX_CALLS |
Number of paid calls for the life of the process. | 200 |
DEX_MCP_TIMEOUT_MS |
Upstream request timeout. | 45000 |
The default ceiling is $0.05, which is exactly the dearest tool here. Lower it
below that and the $0.05 tools stop working — deliberately, and they say so.
The cap, and what "fails closed" means
Every paid call passes the same four gates, in this order, and any one of them refuses without paying:
- No wallet → never pays. This is the state you are in unless someone set a key.
- Price unreadable → refuses. A challenge whose amount cannot be parsed is not treated as free or as cheap; it is treated as unknown, and unknown does not get paid.
- Price above
DEX_MAX_PRICE_USD→ refuses, and names the price and the cap. - Would cross
DEX_MAX_SPEND_USDorDEX_MAX_CALLS→ refuses.
Accounting is in integer micro-USD, so a $1.00 budget at $0.05 a call buys
exactly 20 calls and not 19 — floating-point drift cannot quietly close the
budget early.
Call get_spend_budget before any loop over paid tools. It is free, local
and makes no network call, and it returns what has been spent and every cap in
force.
Tools
Thirteen tools. Twelve fetch from the gateway; one is local. Each of the twelve targets exactly one route, and together they are exactly the routes the storefront lists — there is no hidden catalogue and no tool pointing at something that was withdrawn.
From the project's README.