category · price-data & oracles

Live price-data & on-chain oracles, MCP-ready.

Five hosted adapters covering the price-data stack agents actually need: CoinGecko spot prices, DefiLlama TVL + yields, DexScreener DEX pair liquidity, Pyth pull-oracle (free Hermes + paid Pyth Pro at 50ms / 200ms / 1s), and a verified Chainlink mainnet feed registry. Drop the URL, get the MCP tools. Free for every public tier.

All endpoints verified live 2026-05-27 · Chainlink addresses confirmed via on-chain eth_call · Pyth Pro endpoints reverse-engineered from openapi.json

One category, five sources, twenty-eight tools.

Each box is one wmcp.sh adapter. Drop the canonical URL into /api/v1/tools?url=… and you get every tool listed — typed input schemas, agent-ready, no SDK.

Free · no auth

CoinGecko

Live crypto prices, market caps, trending coins, global cap, free-text search. ~30 req/min on free tier; pass Pro key via _auth for higher.

get_coin_price · get_coin_market_data · get_trending_coins · get_global_market_cap · search_coins

https://wmcp.sh/api/v1/tools?url=https://api.coingecko.com/api/v3

Free · no auth

DefiLlama

DeFi TVL across 7,500+ protocols, current prices for ~10k tokens, yield-pool APYs, historical chain TVL series, stablecoin breakdown by peg type.

list_protocols · get_protocol · get_current_prices · list_yield_pools · get_chain_tvl · list_stablecoins

https://wmcp.sh/api/v1/tools?url=https://api.llama.fi/

Free · no auth

DexScreener

Real-time DEX pair data across 50+ chains: price, liquidity, 24h volume, transaction counts. Token-address lookup, pair detail, free-text search, trending boosts.

get_token_pairs · get_pair · search_pairs · get_token_profiles_latest · get_token_boosts_latest

https://wmcp.sh/api/v1/tools?url=https://api.dexscreener.com/

Catalog · static

Chainlink

17 verified Ethereum mainnet price feed aggregator addresses (BTC, ETH, stablecoins, top L1/L2 tokens, FX, gold). All addresses eth_call'd 2026-05-27 — confirmed live, decimals match, recent updatedAt. Plus the canonical eth_call template so your agent reads live prices through any RPC.

list_feeds_ethereum · get_feed_address · get_read_call_template

https://wmcp.sh/api/v1/tools?url=https://data.chain.link/

Endpoints reverse-engineered + verified, not guessed.

Most "AI tool platforms" ship connectors that wrap docs without testing. We ran live curl against every documented endpoint and eth_call against every Chainlink address before publishing.

2026-05-27 verification run

Pyth Hermes /v2 + Benchmarks /v1 + Lazer Pro specRE'd from openapi.json ✓
CoinGecko /simple/price · /search/trending · /globallive HTTP 200 ✓
DefiLlama /protocols (7,576 entries) · /prices/current · TVLlive HTTP 200 ✓
DexScreener /tokens · /pairs · /search · /token-boostslive HTTP 200 ✓
Chainlink — 17 mainnet addresses · eth_call latestRoundData17/17 live, <48h fresh ✓
Bug caught + fixed: Pyth Hermes asset_type filter (Hermes rejects it)use Benchmarks instead ✓
Bug caught + fixed: Chainlink OP/USD (no mainnet contract)removed from catalog ✓

Three lines, one URL, agent has live prices.

Python — Claude agent gets live BTC + ETH prices

from wmcp import WmcpClient
from wmcp.anthropic import to_anthropic_tools, execute_tool_use
from anthropic import Anthropic

client = WmcpClient(api_key="webmcp_live_…")
tools  = client.tools("https://api.coingecko.com/api/v3")

anthropic = Anthropic()
msg = anthropic.messages.create(
    model="claude-opus-4-7",
    max_tokens=1024,
    tools=to_anthropic_tools(tools),
    messages=[{"role":"user","content":"What are BTC and ETH prices in USD right now?"}],
)

for block in msg.content:
    if block.type == "tool_use":
        print(execute_tool_use(client, "https://api.coingecko.com/api/v3", block.model_dump()))

cURL — direct execute against Pyth Hermes

curl -X POST 'https://wmcp.sh/api/v1/tools/execute' \
  -H 'content-type: application/json' \
  -d '{
    "url": "https://hermes.pyth.network/",
    "tool": "get_latest_price",
    "args": {
      "ids": ["e62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43"],
      "parsed": true
    }
  }'

cURL — Chainlink BTC/USD lookup + read template

# 1. Get the feed address
curl -X POST 'https://wmcp.sh/api/v1/tools/execute' \
  -H 'content-type: application/json' \
  -d '{ "url":"https://data.chain.link/", "tool":"get_feed_address", "args":{"pair":"BTC/USD"} }'

# 2. Read the live price via your favorite RPC (cloudflare-eth.com etc.)
curl -X POST 'https://ethereum-rpc.publicnode.com' \
  -H 'content-type: application/json' \
  -d '{ "jsonrpc":"2.0", "method":"eth_call", "params":[{"to":"0xF4030086…","data":"0xfeaf968c"},"latest"], "id":1 }'

vs. wrapping the APIs yourself · vs. owner-side platforms

Approach Pros Cons
Roll your own per-API SDK Full control 5 SDKs to maintain · auth-token plumbing · MCP-shape wrappers · ~2 days of work
Composio / Pipedream Curated commerce + SaaS connectors No oracle / price-feed / DeFi connectors exist — these vendors are owner-side
Smithery / dev-mcp Some MCP servers cataloged Each is a separately maintained third-party server, varying quality + uptime
wmcp.sh /price-data Single endpoint, 28 tools, all verified, all free for public tiers Free CoinGecko rate-limited; agent UX for choosing across 5 sources is on you

Frequently asked

Which adapters are actually free?
CoinGecko (free tier, 30 req/min), DefiLlama (no advertised limit), DexScreener (~300 req/min), Pyth Hermes + Benchmarks (free public). Pyth Pro / Lazer is paid — bring your own access token via args._auth. CoinGecko Pro key also supported via _auth for higher limits.
What's the latency?
Hermes ~400ms publish-to-API. Pyth Pro: 50ms / 200ms / 1s channels (choose via the channel arg on lazer_latest_price). CoinGecko + DefiLlama + DexScreener: standard REST round-trip, plus wmcp.sh adds a 60s edge cache that hides repeat queries. Chainlink: bounded by whatever RPC your agent uses to eth_call — Cloudflare typically ~80-150ms.
Why isn't Chainlink "just an HTTP call" like the others?
Chainlink price feeds live on-chain as smart contracts. There's no REST endpoint you can hit. We ship the verified catalog of addresses + the exact eth_call template your agent needs to read them. Future versions may proxy eth_call through wmcp.sh so the agent doesn't need a Web3 client of its own.
The Pyth July 31 2026 upgrade — does that break the free Hermes tier?
Pyth has announced that the Hermes free tier will gate behind API keys at some point in their Pyth Core rollout. When that flips, agents passing a Pyth API key via _auth on the Hermes tools will continue to work — same pattern as CoinGecko Pro. Anonymous Hermes calls may rate-limit or 401. Our adapter is forward-compatible: _auth is already wired on every Pyth tool, even Hermes.
Can I use this with Cursor / Claude Code / Codex / OpenAI agents?
Yes — every tool list returned from /api/v1/tools?url=… is shaped as both MCP tool_use and OpenAI function_call JSON. Drop it into whichever agent framework you're using. Examples for Anthropic SDK + OpenAI SDK at /integration/openapi.
Will more sources be added?
On the deck: Coinbase Exchange (REST + WebSocket), Binance public market data, Uniswap Subgraph (GraphQL → MCP), Aave / Compound rate feeds, RWA oracles (Centrifuge, Pendle). Open an issue at github.com/New1Direction/webmcp-anything with the source + use case if you want it prioritized.