{"kind":"mcp","endpoint":"https://erc8004.heyanon.ai/mcp/v3pools","server":{"name":"heyanon-erc8004-v3pools","version":"1.0.0"},"discovery":{"attempts":1,"recovered":false},"tools":[{"name":"getSupportedChains","title":"Get Supported Chains","description":"Get supported chains for the project","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"readOnly":true},{"name":"getDexInfo","title":"Get DEX Info","description":"Get which DEX protocol (Uniswap, PancakeSwap, WAGMI, OkuTrade) is used for concentrated liquidity on each chain, along with available fee tiers. Pass null to get info for all chains, or a chain name for a specific chain.","inputSchema":{"type":"object","properties":{"chainName":{"anyOf":[{"type":"string","enum":["bsc","ethereum","arbitrum","base","optimism","polygon","avalanche","plasma","hyperevm","monad","robinhood"]},{"type":"null"}],"description":"The chain to query. Pass null to get info for all chains."}},"required":["chainName"],"additionalProperties":false},"readOnly":true},{"name":"getAllPositionsIds","title":"Get All Position IDs","description":"Get all the ids of the active positions created.","inputSchema":{"type":"object","properties":{"chainNames":{"type":"array","items":{"type":"string","enum":["bsc","ethereum","arbitrum","base","optimism","polygon","avalanche","plasma","hyperevm","monad","robinhood"]},"description":"The chains where the positions are located"},"userAddress":{"type":"string","description":"The wallet address of the user"}},"required":["chainNames","userAddress"],"additionalProperties":false},"readOnly":true},{"name":"getLpPosition","title":"Get LP Position","description":"Get detailed information about a concentrated liquidity positions","inputSchema":{"type":"object","properties":{"lpPositions":{"type":"array","items":{"type":"object","properties":{"chainName":{"type":"string","enum":["bsc","ethereum","arbitrum","base","optimism","polygon","avalanche","plasma","hyperevm","monad","robinhood"],"description":"The chain where the position is located"},"positionId":{"type":"string","description":"The id of the position to get information about"}},"required":["chainName","positionId"],"additionalProperties":false},"description":"The positions to get information about"}},"required":["lpPositions"],"additionalProperties":false},"readOnly":true},{"name":"estimateAmountsForPositionCreation","title":"Estimate Amounts for Position","description":"Estimate the correct amounts of tokens to be deposited for a new concentrated liquidity position. Adjusts the amounts based on the current pool price.","inputSchema":{"type":"object","properties":{"chainName":{"type":"string","enum":["bsc","ethereum","arbitrum","base","optimism","polygon","avalanche","plasma","hyperevm","monad","robinhood"],"description":"The chain where the operation takes place"},"token0":{"type":"string","description":"The address of the first token"},"token1":{"type":"string","description":"The address of the second token"},"amount0":{"type":"string","description":"The amount of the first token to be deposited, in human-readable decimal format (e.g. \"1.5\")"},"amount1":{"type":"string","description":"The amount of the second token to be deposited, in human-readable decimal format (e.g. \"1.5\")"},"fee":{"type":"number","description":"The fee percentage for the pool. 1000000 is 100%. Example user input - 1%, must be converted to 10000, 0.3% to 3000. Set to -1 if you want to use the default fee"},"lowerPrice":{"type":"string","description":"The lower price of the position range in human-readable decimal format. Set to \"-1\" string if you want to use full range"},"upperPrice":{"type":"string","description":"The upper price of the position range in human-readable decimal format. Set to \"-1\" string if you want to use full range"}},"required":["chainName","token0","token1","amount0","amount1","fee","lowerPrice","upperPrice"],"additionalProperties":false},"readOnly":true},{"name":"estimateRangesAndAmountsForUsdPositionCreation","title":"Estimate USD Ranges for Position","description":"Estimate rational ranges and the correct amounts of tokens to be deposited for a new concentrated liquidity position when price ranges are in USD. Adjusts the amounts based on the current pool price. Only used for USD price ranges","inputSchema":{"type":"object","properties":{"chainName":{"type":"string","enum":["bsc","ethereum","arbitrum","base","optimism","polygon","avalanche","plasma","hyperevm","monad","robinhood"],"description":"The chain where the operation takes place"},"token0":{"type":"string","description":"The address of the first token"},"token1":{"type":"string","description":"The address of the second token"},"amount0":{"type":"string","description":"The amount of the first token to be deposited, in human-readable decimal format (e.g. \"1.5\")"},"amount1":{"type":"string","description":"The amount of the second token to be deposited, in human-readable decimal format (e.g. \"1.5\")"},"fee":{"type":"number","description":"The fee percentage for the pool. 1000000 is 100%. Example user input - 1%, must be converted to 10000, 0.3% to 3000. Set to -1 if you want to use the default fee"},"lowerPrice":{"type":"string","description":"The lower price of the position range in USD only per base token, human-readable decimal format. Do not use values from the price project. Use usd ranges that user provided"},"upperPrice":{"type":"string","description":"The upper price of the position range in USD only per base token, human-readable decimal format. Do not use values from the price project. Use usd ranges that user provided"},"baseToken":{"type":"string","description":"The address of the base token per which usd price ranges are set up"}},"required":["chainName","token0","token1","amount0","amount1","fee","lowerPrice","upperPrice","baseToken"],"additionalProperties":false},"readOnly":true},{"name":"estimateRangesForSellingUsdSingleSide","title":"Estimate USD Sell Ranges","description":"Estimates price ranges for selling a token in a pool when prices are provided in USD. For example, when a user wants to sell 20 WETH at $3,000 in a WETH/USDC 0.3% fee pool on Ethereum. This tool converts USD price ranges to the correct ranges for the pool and adjusts them based on the current pool price.","inputSchema":{"type":"object","properties":{"chainName":{"type":"string","enum":["bsc","ethereum","arbitrum","base","optimism","polygon","avalanche","plasma","hyperevm","monad","robinhood"],"description":"The chain where the operation takes place"},"token0":{"type":"string","description":"The address of the first token"},"token1":{"type":"string","description":"The address of the second token"},"tokenIn":{"type":"string","description":"The address of the token to be deposited"},"fee":{"type":"number","description":"The fee percentage for the pool. 1000000 is 100%. Example user input - 1%, must be converted to 10000, 0.3% to 3000. Set to -1 if you want to use the default fee"},"priceLower":{"type":"string","description":"The price provided in USD to sell the token in lower range, human-readable decimal format. Do not use values from the price project. Use usd ranges that user provided. Set to \"-1\" string if price will setup automatically just near the current pool price"},"priceUpper":{"type":"string","description":"The price provided in USD to sell the token in upper range, human-readable decimal format. Do not use values from the price project. Use usd ranges that user provided. Set to \"-1\" string if there is only one price"}},"required":["chainName","token0","token1","tokenIn","fee","priceLower","priceUpper"],"additionalProperties":false},"readOnly":true},{"name":"estimateRangesForBuyingUsdSingleSide","title":"Estimate USD Buy Ranges","description":"Estimates price ranges for buying a token in a pool when prices are provided in USD. For example, when a user wants to buy 20 WETH at $2,000 in a WETH/USDC 0.3% fee pool on Ethereum. This tool converts USD price ranges to the correct ranges for the pool and adjusts them based on the current pool price. It also converts tokenIn and amount to the inverse token and adjusted amount.","inputSchema":{"type":"object","properties":{"chainName":{"type":"string","enum":["bsc","ethereum","arbitrum","base","optimism","polygon","avalanche","plasma","hyperevm","monad","robinhood"],"description":"The chain where the operation takes place"},"token0":{"type":"string","description":"The address of the first token"},"token1":{"type":"string","description":"The address of the second token"},"tokenIn":{"type":"string","description":"The address of the token to be bought"},"amountIn":{"type":"string","description":"The amount of the token to be bought, in human-readable decimal format (e.g. \"1.5\")"},"fee":{"type":"number","description":"The fee percentage for the pool. 1000000 is 100%. Example user input - 1%, must be converted to 10000, 0.3% to 3000. Set to -1 if you want to use the default fee"},"priceLower":{"type":"string","description":"The price provided in USD to buy the token in lower range, human-readable decimal format. Do not use values from the price project. Use usd ranges that user provided. Set to \"-1\" string if price will setup automatically just near the current pool price"},"priceUpper":{"type":"string","description":"The price provided in USD to buy the token in upper range, human-readable decimal format. Do not use values from the price project. Use usd ranges that user provided. Set to \"-1\" string if there is only one price"}},"required":["chainName","token0","token1","tokenIn","amountIn","fee","priceLower","priceUpper"],"additionalProperties":false},"readOnly":true},{"name":"estimateAmountsForIncreasePosition","title":"Estimate Amounts for Increase","description":"Estimate the correct amounts of tokens to be added for a concentrated liquidity position. Adjusts the amounts based on the current pool price.","inputSchema":{"type":"object","properties":{"chainName":{"type":"string","enum":["bsc","ethereum","arbitrum","base","optimism","polygon","avalanche","plasma","hyperevm","monad","robinhood"],"description":"The chain where the operation takes place"},"positionId":{"type":"string","description":"The id of the position"},"token0":{"type":"string","description":"The address of the first token"},"token1":{"type":"string","description":"The address of the second token"},"amount0":{"type":"string","description":"The amount of the first token to be added, in human-readable decimal format (e.g. \"1.5\")"},"amount1":{"type":"string","description":"The amount of the second token to be added, in human-readable decimal format (e.g. \"1.5\")"}},"required":["chainName","positionId","token0","token1","amount0","amount1"],"additionalProperties":false},"readOnly":true},{"name":"getCurrentPoolPrice","title":"Get Pool Price","description":"Get the current price of the pool","inputSchema":{"type":"object","properties":{"chainName":{"type":"string","enum":["bsc","ethereum","arbitrum","base","optimism","polygon","avalanche","plasma","hyperevm","monad","robinhood"],"description":"The chain where the operation takes place"},"token0":{"type":"string","description":"The address of the first token"},"token1":{"type":"string","description":"The address of the second token"},"fee":{"type":"number","description":"The fee percentage for the pool. 1000000 is 100%. Example user input - 1%, must be converted to 10000, 0.3% to 3000. Set to -1 if you want to use the default fee"}},"required":["chainName","token0","token1","fee"],"additionalProperties":false},"readOnly":true},{"name":"getPredefinedPriceRanges","title":"Get Predefined Ranges","description":"Get the predefined price ranges for existing pool","inputSchema":{"type":"object","properties":{"chainName":{"type":"string","enum":["bsc","ethereum","arbitrum","base","optimism","polygon","avalanche","plasma","hyperevm","monad","robinhood"],"description":"The chain where the operation takes place"},"token0":{"type":"string","description":"The address of the first token"},"token1":{"type":"string","description":"The address of the second token"},"fee":{"type":"number","description":"The fee percentage for the pool. 1000000 is 100%. Example user input - 1%, must be converted to 10000, 0.3% to 3000. Set to -1 if you want to use the default fee"},"shortcut":{"type":"string","enum":["risky","wide","safe"],"description":"The shortcut for the predefined price ranges. For example \"risky\" for 1% deviation, \"wide\" for 5% deviation, \"safe\" for 10% deviation"}},"required":["chainName","token0","token1","fee","shortcut"],"additionalProperties":false},"readOnly":true}],"writeToolCount":6,"taskPresets":[{"id":"pancake-bsc-lp-position","version":1,"title":"Inspect a public Pancake position","description":"Read assets, reported amounts and price range for Agripinaa Ranger's public PancakeSwap V3 position #7337249. No liquidity change or rebalance.","inputSummary":"BSC · PancakeSwap V3 · public USDT/WBNB position #7337249","actionLabel":"Read public position","tool":"getLpPosition","args":{"lpPositions":[{"chainName":"bsc","positionId":"7337249"}]},"chainId":56,"tokenId":"45650","inputKind":"public-fixture","limitation":"Checks confirm the requested position, protocol, asset pair and decimal-shaped reported fields. They do not independently verify current amounts, prices, ownership or returns. The historical position was created outside FYA; this task only reads it.","available":true,"unavailableReason":null},{"id":"pancake-bsc-range-preview","version":1,"title":"Preview a Pancake LP range","description":"Preview a PancakeSwap V3 range 5% below and above the provider reference price. Analysis only; no position change.","inputSummary":"BSC · PancakeSwap V3 · USDT/WBNB · 0.05% pool fee","actionLabel":"Preview range","tool":"getPredefinedPriceRanges","args":{"chainName":"bsc","token0":"0x55d398326f99059ff775485246999027b3197955","token1":"0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c","fee":500,"shortcut":"wide"},"chainId":56,"tokenId":"45650","inputKind":"public-fixture","limitation":"Consistency checks confirm the requested operation, reported pair label and approximate 5% range ratio. They do not independently confirm the requested chain, fee, pool identity, current price, tick alignment or an executable or profitable range; no position is changed.","available":true,"unavailableReason":null}],"example":{"tool":"getSupportedChains","args":{},"usesSample":false,"checkedAt":"2026-10-19T05:37:05.538Z","observation":{"version":1,"runId":"9a24a3bf-2ea5-45cc-969a-282bb0a9da5f","protocol":"mcp","endpoint":"https://erc8004.heyanon.ai/mcp/v3pools","phase":"tools/call","startedAt":"2026-10-19T05:37:05.097Z","finishedAt":"2026-10-19T05:37:05.538Z","checkedAt":"2026-10-19T05:37:05.538Z","latencyMs":441,"captureComplete":true,"transport":{"status":201,"ok":true,"received":true},"outcome":"response_received","reason":"mcp-content-received","task":{"status":"not_evaluated"},"providerTaskId":null}}}