agorion_discover
Search for blockchain APIs by capability, price, and network across multiple providers including Polymarket, DeFi Llama, and CoinGecko to discover endpoints for market data, prediction markets, and crypto prices.
Instructions
Search the Agorion agent service discovery network. Find APIs by capability, price, and network. Returns endpoints from 6+ providers including Polymarket, DeFi Llama, CoinGecko, Hyperliquid, Pump.fun, and BotIndex.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| capability | No | Filter by capability (e.g. market-data, prediction-markets, defi, crypto-prices, whale-tracking, funding-rates, meme-coins) | |
| maxPrice | No | Max price per call in USD (e.g. 0.05). Use 0 for free-only. | |
| network | No | Blockchain network filter (e.g. base) | |
| limit | No | Max results (default 25, max 200) |
Implementation Reference
- src/index.ts:163-182 (handler)The agorion_discover tool implementation, including schema definition and async handler logic.
server.tool( 'agorion_discover', 'Search the Agorion agent service discovery network. Find APIs by capability, price, and network. Returns endpoints from 6+ providers including Polymarket, DeFi Llama, CoinGecko, Hyperliquid, Pump.fun, and BotIndex.', { capability: z.string().optional().describe('Filter by capability (e.g. market-data, prediction-markets, defi, crypto-prices, whale-tracking, funding-rates, meme-coins)'), maxPrice: z.number().optional().describe('Max price per call in USD (e.g. 0.05). Use 0 for free-only.'), network: z.string().optional().describe('Blockchain network filter (e.g. base)'), limit: z.number().optional().describe('Max results (default 25, max 200)'), }, async (args: Record<string, any>) => { const url = new URL(`${AGORION_URL}/discover`); if (args.capability) url.searchParams.set('capability', args.capability); if (args.maxPrice !== undefined) url.searchParams.set('maxPrice', String(args.maxPrice)); if (args.network) url.searchParams.set('network', args.network); if (args.limit) url.searchParams.set('limit', String(args.limit)); const res = await fetch(url.toString()); const data = await res.json(); return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] }; }, );