# Junct — Agent-Readiness Layer for Web3 > Junct is the agent-readiness layer for web3. > It hosts deterministically generated MCP servers for DeFi protocols, > exchanges, oracles, and data providers. Every server is spec-faithful > with 1:1 endpoint-to-tool coverage. No hallucinated endpoints. > One spec in, eight output formats out: MCP, OpenAI, LangChain, GPT Actions, > Eliza, AgentKit, Vercel AI, CrewAI. > https://junct.dev ## Key Facts - 6 hosted MCP servers - 310 total tools across all servers - 8 output formats: MCP, OpenAI, LangChain, GPT Actions, Eliza, AgentKit, Vercel AI, CrewAI - All servers are free to use with no authentication required - Every tool maps 1:1 to a real API endpoint or contract function - Deterministic generation — no AI hallucination in tool definitions - Supports MCP (Model Context Protocol) via Streamable HTTP transport - Compatible with Claude Desktop, Cursor, Windsurf, and any MCP client ## How to Connect Add any server to your MCP client config: ```json {"mcpServers":{"":{"url":`https://.${mcpBaseHost()}/mcp`}}} ``` ## Junct CLI Generate, submit, and validate MCP servers from the terminal. ```bash npm install -g @aarna-ai/junct-cli # or use npx @aarna-ai/junct-cli # Generate MCP + 7 other formats from any spec junct generate --id [--outputs mcp,openai,langchain] # Submit to registries (MCP Registry, Smithery, Glama, awesome-mcp) junct submit [--venues mcp-official,smithery] # Inspect + manage junct status # metadata, tools, submission state junct list # all servers in your fleet junct validate # deep-validate every tool via tools/call junct formats # supported output formats ``` Package: https://www.npmjs.com/package/@aarna-ai/junct-cli ## All Hosted Servers ### Gmx - MCP Endpoint: https://gmx.mcp.junct.dev/mcp - Domain: derivatives - Tool Count: 5 - Documentation: https://gmx.mcp.junct.dev/llms.txt - Server Page: https://gmx.mcp.junct.dev/ - Config: {"mcpServers":{"gmx":{"url":"https://gmx.mcp.junct.dev/mcp"}}} Useful for: perpetual futures, options, synthetic assets, position management, funding rates, Gmx leveraged trading #### Tools ##### get_prices_tickers [DISCOVERY] Get current token prices — Returns current min/max oracle prices for all tokens on the chain, including AVAX, ETH, BTC, and stablecoins. Example: Input: {symbol: 'ETH'} returns current price data from Gmx ##### get_prices_candles Get OHLC price candles — Returns historical OHLC (open/high/low/close) price candles for a token. Supports AVAX, ETH, BTC, and other tokens. Returns: { period: string, candles: number[][] }. Example: Input: {symbol: 'ETH'} returns current price data from Gmx ##### get_tokens [DISCOVERY] Get token list — Returns all supported tokens on the chain, including AVAX, WAVAX, ETH, BTC, and stablecoins. Returns: { tokens: { symbol: string, address: string, decimals: number, isSynthetic: boolean }[] }. Example: Input: {} returns a list of available items from Gmx ##### get_markets [DISCOVERY] Get market configuration — Returns market configuration listing index, long, and short tokens. Includes AVAX/USD, ETH/USD, BTC/USD markets. Returns: { markets: { name: string, marketToken: string, indexToken: string, longToken: string, shortToken: string }[] }. Example: Input: {} returns a list of available items from Gmx ##### get_markets_info Get extended market data — Returns extended market data including pool sizes, utilization, open interest, and fee factors for all markets including AVAX/USD. Example: Input: {poolId: '...'} returns pool/liquidity data from Gmx --- ### Aarna Atvusdc - MCP Endpoint: https://aarna-atvusdc.mcp.junct.dev/mcp - Domain: vault - Tool Count: 88 - Documentation: https://aarna-atvusdc.mcp.junct.dev/llms.txt - Server Page: https://aarna-atvusdc.mcp.junct.dev/ - Config: {"mcpServers":{"aarna-atvusdc":{"url":"https://aarna-atvusdc.mcp.junct.dev/mcp"}}} Useful for: vault strategy analysis, yield optimization, TVL tracking, Aarna Atvusdc deposit/withdrawal data #### Tools ##### ATV_VAULT Get ATV_VAULT(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns address. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### MAX_PLATFORM_FEE Get MAX_PLATFORM_FEE(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### acceptOwnership Call acceptOwnership(). Restricted: requires onlyOwner — only the owner address can call this. Completes a two-step ownership transfer. Must be called by the pending owner address set via transferOwnership(). No return value. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### adjustExtraVaultTokens [DISCOVERY] Call adjustExtraVaultTokens(to: string). Write function — may have access control restrictions (e.g. onlyOwner). Check contract source for modifier requirements before calling. No return value. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### allowance Get allowance(owner: string, spender: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### approve Call approve(spender: string, value: string). Unrestricted — any address can call this, but caller-specific logic may apply. Returns bool. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### asset Get asset(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns address. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### atvOracle Get atvOracle(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns address. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### atvStorage Get atvStorage(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns address. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### balanceOf Get balanceOf(account: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {address: '0x...'} returns account/balance data from Aarna Atvusdc ##### calculateEpochReward Get calculateEpochReward(user: string, epochId: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### calculateNAV Get calculateNAV(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns assetNAV (uint256). Example: Input: {} returns a list of available items from Aarna Atvusdc ##### callExchange Call callExchange(). Write function — may have access control restrictions (e.g. onlyOwner). Check contract source for modifier requirements before calling. No return value. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### controller Get controller(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns address. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### convertToAssets [DISCOVERY] Get convertToAssets(shares: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### convertToShares Get convertToShares(assets: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### currentEpochId Get currentEpochId(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### deadlineDelay Get deadlineDelay(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### decimals Get decimals(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint8. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### deposit Call deposit(assets: string, receiver: string). Unrestricted — any address can call this, but caller-specific logic may apply. Prerequisites: caller must first approve this contract to spend at least the deposited token amount via the token contract's approve() function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### epochs Get epochs(param0: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns { startTime: string, endTime: string, startNAV: string, endNAV: string, finalized: boolean }. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### exchange Call exchange(shares: string, receiver: string). Write function — may have access control restrictions (e.g. onlyOwner). Check contract source for modifier requirements before calling. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### finalizeEpoch Call finalizeEpoch(). Write function — may have access control restrictions (e.g. onlyOwner). Check contract source for modifier requirements before calling. No return value. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### getCurrentEpoch Get getCurrentEpoch(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns tuple. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### getDelayModule Get getDelayModule(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns address. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### getLastEpochBeforeCurrent Get getLastEpochBeforeCurrent(user: string, currentEpoch: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### getUserCheckpoints Get getUserCheckpoints(user: string, epochId: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns tuple[]. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### latestEpoch Get latestEpoch(param0: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### maxDeposit Get maxDeposit(param0: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### maxMint Get maxMint(param0: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### maxRedeem Get maxRedeem(owner: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### maxWithdraw Get maxWithdraw(owner: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### migrateVault Call migrateVault(_vault: string). Write function — may have access control restrictions (e.g. onlyOwner). Check contract source for modifier requirements before calling. No return value. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### mint Get mint(param0: string, param1: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### name Get name(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns string. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### owner Get owner(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns address. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### pause Call pause(). Write function — may have access control restrictions (e.g. onlyOwner). Check contract source for modifier requirements before calling. No return value. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### pauseDeposit Get pauseDeposit(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns bool. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### pauseUnpauseDeposit Call pauseUnpauseDeposit(status: boolean). Write function — may have access control restrictions (e.g. onlyOwner). Check contract source for modifier requirements before calling. No return value. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### paused Get paused(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns bool. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### pendingOwner Get pendingOwner(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns address. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### platformFee Get platformFee(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### platformWallet Get platformWallet(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns address. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### presentInEpoch Get presentInEpoch(param0: string, param1: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns bool. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### previewDeposit Get previewDeposit(assets: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### previewMint Get previewMint(shares: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### previewRedeem Get previewRedeem(shares: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### previewWithdraw Get previewWithdraw(assets: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### redeem Get redeem(param0: string, param1: string, param2: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### renounceOwnership Call renounceOwnership(). Restricted: requires onlyOwner — only the owner address can call this. DANGER: Permanently and irreversibly removes all owner control from the contract. After calling, no address will ever be able to call onlyOwner functions again including adapter management, oracle configuration, emergency controls, and all set* functions. This action cannot be undone. No return value. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### setController Call setController(_controller: string). Write function — may have access control restrictions (e.g. onlyOwner). Check contract source for modifier requirements before calling. No return value. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### setDelayModule Call setDelayModule(_delayModule: string). Restricted: requires onlyOwner — only the owner address can call this. No return value. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### symbol Get symbol(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns string. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### totalAssets [DISCOVERY] Get totalAssets(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### totalSupply Get totalSupply(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### totalVaultTokenRec Get totalVaultTokenRec(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### transfer Call transfer(to: string, shares: string). Unrestricted — any address can call this, but caller-specific logic may apply. Returns bool. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### transferFrom Call transferFrom(from: string, to: string, value: string). Unrestricted — any address can call this, but caller-specific logic may apply. Returns bool. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### transferOwnership Call transferOwnership(newOwner: string). Restricted: requires onlyOwner — only the owner address can call this. Transfers ownership to a new address. The new owner must call acceptOwnership() to complete the transfer (two-step pattern). No return value. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### unpause Call unpause(). Write function — may have access control restrictions (e.g. onlyOwner). Check contract source for modifier requirements before calling. No return value. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### updateMaxCheckpoints Call updateMaxCheckpoints(newLimit: string). Write function — may have access control restrictions (e.g. onlyOwner). Check contract source for modifier requirements before calling. No return value. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### updatePlatformWalletAndFee Call updatePlatformWalletAndFee(_platformWallet: string, _fee: string). Write function — may have access control restrictions (e.g. onlyOwner). Check contract source for modifier requirements before calling. No return value. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### updateatvStorageAndOracle Call updateatvStorageAndOracle(_atvStorage: string, _atvOracle: string). Write function — may have access control restrictions (e.g. onlyOwner). Check contract source for modifier requirements before calling. No return value. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### userEpochIDs [DISCOVERY] Get userEpochIDs(param0: string, param1: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### userTWAB Get userTWAB(param0: string, param1: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns lastUpdateTime (uint256). Example: Input: {} returns a list of available items from Aarna Atvusdc ##### withdraw Call withdraw(shares: string, receiver: string, owner: string). Unrestricted — any address can call this, but caller-specific logic may apply. Note: In vaults with async settlement, this queues a withdrawal request rather than transferring assets immediately. Assets are distributed when the settlement batch is processed (e.g. settleQueue). Returns a preview based on current NAV — actual payout depends on settlement NAV. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### withdrawStrayToken Call withdrawStrayToken(token: string). Write function — may have access control restrictions (e.g. onlyOwner). Check contract source for modifier requirements before calling. No return value. Example: Input: {} returns a list of available items from Aarna Atvusdc ##### AdjustExtraAsset Event emitted by the contract. Subscribe via log filters. ##### Approval Event emitted by the contract. Indexed fields (filterable): owner, spender. Subscribe via log filters. ##### CalledExchange Event emitted by the contract. Subscribe via log filters. ##### Deposit Event emitted by the contract. Indexed fields (filterable): sender, owner. Subscribe via log filters. ##### EpochFinalized Event emitted by the contract. Indexed fields (filterable): epochId. Subscribe via log filters. ##### EpochStarted Event emitted by the contract. Indexed fields (filterable): epochId. Subscribe via log filters. ##### MaxCheckpointsSet Event emitted by the contract. Subscribe via log filters. ##### MigrateVault Event emitted by the contract. Subscribe via log filters. ##### OwnershipTransferStarted Event emitted by the contract. Indexed fields (filterable): previousOwner, newOwner. Subscribe via log filters. ##### OwnershipTransferred Event emitted by the contract. Indexed fields (filterable): previousOwner, newOwner. Subscribe via log filters. ##### PauseUnpauseDeposit Event emitted by the contract. Subscribe via log filters. ##### Paused Event emitted by the contract. Subscribe via log filters. ##### SetController Event emitted by the contract. Subscribe via log filters. ##### TWABUpdated Event emitted by the contract. Indexed fields (filterable): user, epochId. Subscribe via log filters. ##### ThresholdExceeded Event emitted by the contract. Indexed fields (filterable): user, epochId. Subscribe via log filters. ##### Transfer Event emitted by the contract. Indexed fields (filterable): from, to. Subscribe via log filters. ##### Unpaused Event emitted by the contract. Subscribe via log filters. ##### UpdatePlatformFee Event emitted by the contract. Subscribe via log filters. ##### UpdatePlatformWallet Event emitted by the contract. Subscribe via log filters. ##### Withdraw Event emitted by the contract. Indexed fields (filterable): sender, receiver, owner. Subscribe via log filters. ##### WithdrawStrayToken Event emitted by the contract. Subscribe via log filters. --- ### Aarna Atvptmax - MCP Endpoint: https://aarna-atvptmax.mcp.junct.dev/mcp - Domain: vault - Tool Count: 136 - Documentation: https://aarna-atvptmax.mcp.junct.dev/llms.txt - Server Page: https://aarna-atvptmax.mcp.junct.dev/ - Config: {"mcpServers":{"aarna-atvptmax":{"url":"https://aarna-atvptmax.mcp.junct.dev/mcp"}}} Useful for: vault strategy analysis, yield optimization, TVL tracking, Aarna Atvptmax deposit/withdrawal data #### Tools ##### MIN_REQUESTS_FOR_COUNTER_UPDATE Get MIN_REQUESTS_FOR_COUNTER_UPDATE(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### acceptOwnership Call acceptOwnership(). Restricted: requires onlyOwner — only the owner address can call this. Completes a two-step ownership transfer. Must be called by the pending owner address set via transferOwnership(). No return value. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### activeRequestIds [DISCOVERY] Get activeRequestIds(param0: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### adapters Get adapters(param0: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns address. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### addAdapter Call addAdapter(_adapter: string). Restricted: requires onlyOwner — only the owner address can call this. No return value. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### allowance Get allowance(owner: string, spender: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### approve Call approve(spender: string, value: string). Unrestricted — any address can call this, but caller-specific logic may apply. Returns bool. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### asset Get asset(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns address. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### balanceOf Get balanceOf(account: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {address: '0x...'} returns account/balance data from Aarna Atvptmax ##### cancelWithdraw Call cancelWithdraw(requestId: string). Unrestricted — any address can call this, but caller-specific logic may apply. Can only be called by the original address that created the withdrawal request. Third parties cannot cancel on behalf of users. No return value. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### controller Get controller(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns address. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### convertToAssets [DISCOVERY] Get convertToAssets(shares: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### convertToShares Get convertToShares(assets: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### decimals Get decimals(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint8. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### defaultSettleQueueLimit Get defaultSettleQueueLimit(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### deposit Call deposit(assets: string, receiver: string). Unrestricted — any address can call this, but caller-specific logic may apply. Prerequisites: caller must first approve this contract to spend at least the deposited token amount via the token contract's approve() function. Returns shares (uint256). Example: Input: {} returns a list of available items from Aarna Atvptmax ##### depositPauseStatus Get depositPauseStatus(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns bool. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### depositsQuarantined Get depositsQuarantined(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns bool. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### emergencyMode Get emergencyMode(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns bool. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### getCurrentNAV Get getCurrentNAV(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### getCurrentTVL Get getCurrentTVL(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns total value locked across Aarna Atvptmax deployments ##### getDelayModule Get getDelayModule(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns address. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### getQueuedSharesByCounter Get getQueuedSharesByCounter(counter: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns shares (uint256). Example: Input: {} returns a list of available items from Aarna Atvptmax ##### getQueuedUsers Get getQueuedUsers(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns { requestIds: string[], users: string[], shares: string[] }. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### getTotalAssetsInUSD Get getTotalAssetsInUSD(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### getVaultData Get getVaultData(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns { nav: string, totalAssets_: string, totalSupply_: string, adapters_: string[], adapterCount: string, maxAdapters_: string, safeWallet_: string, controller_: string, emergencyMode_: boolean, withdrawalRequestCounter_: string, depositsQuarantined_: boolean }. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### isActiveRequest Get isActiveRequest(param0: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns bool. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### isAdapter Get isAdapter(param0: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns bool. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### isCounterSettled Get isCounterSettled(param0: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns bool. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### isPaused Get isPaused(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns pauseStatuses (bool[2]). Example: Input: {} returns a list of available items from Aarna Atvptmax ##### isSettlementCounterSettled Get isSettlementCounterSettled(counter: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns settled (bool). Example: Input: {} returns a list of available items from Aarna Atvptmax ##### latestWithdrawRequests Get latestWithdrawRequests(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### maxAdapters Get maxAdapters(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### maxDeposit Get maxDeposit(param0: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### maxMint Get maxMint(param0: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### maxRedeem Get maxRedeem(owner: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### maxReqPerUser Get maxReqPerUser(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### maxSettlementSlippage Get maxSettlementSlippage(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### maxWithdraw Get maxWithdraw(owner: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### minDeposit Get minDeposit(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### minWithdraw Get minWithdraw(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### mint Call mint(shares: string, receiver: string). Unrestricted — any address can call this, but caller-specific logic may apply. Prerequisites: caller must first approve this contract to spend at least the deposited token amount via the token contract's approve() function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### name Get name(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns string. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### owner Get owner(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns address. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### pauseDeposits Call pauseDeposits(). Restricted: requires onlyController — only the address stored in controller() can call this. No return value. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### pauseWithdrawals Call pauseWithdrawals(). Restricted: requires onlyController — only the address stored in controller() can call this. No return value. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### paused Get paused(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns bool. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### pendingOwner Get pendingOwner(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns address. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### previewDeposit Get previewDeposit(assets: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### previewMint Get previewMint(shares: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### previewRedeem Get previewRedeem(shares: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### previewWithdraw Get previewWithdraw(assets: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### quarantineAdapter Call quarantineAdapter(adapter: string). Restricted: requires onlyOwner — only the owner address can call this. No return value. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### quarantineDeposits Call quarantineDeposits(). Restricted: requires onlyOwner — only the owner address can call this. No return value. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### quarantinedAdapters Get quarantinedAdapters(param0: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns bool. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### queuedSharesByCounter Get queuedSharesByCounter(param0: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### redeem Call redeem(shares: string, receiver: string, owner: string). Unrestricted — any address can call this, but caller-specific logic may apply. Note: In vaults with async settlement, this queues a withdrawal request rather than transferring assets immediately. Assets are distributed when the settlement batch is processed (e.g. settleQueue). Returns a preview based on current NAV — actual payout depends on settlement NAV. Returns assets (uint256). Example: Input: {} returns a list of available items from Aarna Atvptmax ##### removeAdapter Call removeAdapter(_adapter: string). Restricted: requires onlyOwner — only the owner address can call this. No return value. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### renounceOwnership Call renounceOwnership(). Restricted: requires onlyOwner — only the owner address can call this. DANGER: Permanently and irreversibly removes all owner control from the contract. After calling, no address will ever be able to call onlyOwner functions again including adapter management, oracle configuration, emergency controls, and all set* functions. This action cannot be undone. No return value. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### safeWallet Get safeWallet(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns address. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### safeWalletQueued Get safeWalletQueued(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns address. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### setDelayModule Call setDelayModule(_delayModule: string). Restricted: requires onlyOwner — only the owner address can call this. No return value. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### setMaxRequestPerUser Call setMaxRequestPerUser(_maxReq: string). Restricted: requires onlyOwner — only the owner address can call this. No return value. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### setMaxSettlementSlippage Call setMaxSettlementSlippage(_bps: string). Restricted: requires onlyOwner — only the owner address can call this. No return value. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### setMinDeposit Call setMinDeposit(_minDeposit: string). Restricted: requires onlyOwner — only the owner address can call this. No return value. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### setMinWithdraw Call setMinWithdraw(_minWithdraw: string). Restricted: requires onlyOwner — only the owner address can call this. No return value. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### setPriceOracle Call setPriceOracle(token: string[], oracle: string[], _staleWindow: string[]). Restricted: requires onlyOwner — only the owner address can call this. No return value. Example: Input: {symbol: 'ETH'} returns current price data from Aarna Atvptmax ##### setVirtualizationParams Call setVirtualizationParams(_virtAssetsBase: string, _virtSharesBase: string). Restricted: requires onlyOwner — only the owner address can call this. One-time only — permanently reverts "Already configured" on every call after the first successful execution. Cannot be reconfigured. No return value. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### settleQueue Call settleQueue(totalUSDCToPayout: string, counterToSettle: string). Restricted: requires onlySafe — only the Gnosis Safe multisig address stored in safeWallet() can call this. Direct calls from any EOA or owner will always revert. Prerequisites: safeWallet/admin must first approve the vault contract to spend the required payout amount. Check queued shares for the settlement counter before calling. No return value. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### settleQueueCounter Get settleQueueCounter(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### settleQueueLimit Get settleQueueLimit(param0: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### staleWindow Get staleWindow(param0: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### sweepExtraUnderlyingToSafeWallet Call sweepExtraUnderlyingToSafeWallet(). Restricted: requires onlyOwner — only the owner address can call this. No return value. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### symbol Get symbol(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns string. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### toggleEmergencyMode Call toggleEmergencyMode(_emergencyMode: boolean). Restricted: requires onlyOwner — only the owner address can call this. No return value. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### totalAssets [DISCOVERY] Get totalAssets(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### totalQueuedShares Get totalQueuedShares(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### totalSupply Get totalSupply(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### transfer Call transfer(to: string, value: string). Unrestricted — any address can call this, but caller-specific logic may apply. Returns bool. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### transferFrom Call transferFrom(from: string, to: string, value: string). Unrestricted — any address can call this, but caller-specific logic may apply. Returns bool. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### transferOwnership Call transferOwnership(newOwner: string). Restricted: requires onlyOwner — only the owner address can call this. Transfers ownership to a new address. The new owner must call acceptOwnership() to complete the transfer (two-step pattern). No return value. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### unpauseDeposits Call unpauseDeposits(). Restricted: requires onlyController — only the address stored in controller() can call this. No return value. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### unpauseWithdrawals Call unpauseWithdrawals(). Restricted: requires onlyController — only the address stored in controller() can call this. No return value. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### unquarantineAdapter Call unquarantineAdapter(adapter: string). Restricted: requires onlyOwner — only the owner address can call this. No return value. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### unquarantineDeposits Call unquarantineDeposits(). Restricted: requires onlyOwner — only the owner address can call this. No return value. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### updateController Call updateController(_controller: string). Restricted: requires onlyOwner — only the owner address can call this. No return value. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### updateDefaultQueueLimit Call updateDefaultQueueLimit(_defaultDueueLimit: string). Restricted: requires onlyController — only the address stored in controller() can call this. No return value. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### updateSafeWallet Call updateSafeWallet(_safeWallet: string). Restricted: requires delayModule — must be executed via the Gnosis Safe Delay Module execution path. Cannot be called directly by owner, controller, or any EOA. No return value. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### updateSettleQueueCounter Call updateSettleQueueCounter(_queueLimit: string). Restricted: requires onlyController — only the address stored in controller() can call this. Prerequisites: current counter must have sufficient queued shares (check queuedSharesByCounter first). No return value. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### updateSettleQueueCounterLimit Call updateSettleQueueCounterLimit(_settleQueueCounter: string, _queueLimit: string). Restricted: requires onlyController — only the address stored in controller() can call this. No return value. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### updateVaultConfig Call updateVaultConfig(_maxAdapters: string, _pauseState: boolean, _emergencyMode: boolean). Restricted: requires onlyOwner — only the owner address can call this. Note: reverts with NotInEmergencyMode if called when emergencyMode is false and _emergencyMode parameter is also false. To enable emergency mode for the first time pass _emergencyMode=true with _maxAdapters=0 and _pauseState equal to current paused() value. No return value. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### userActiveRequestCount Get userActiveRequestCount(param0: string, param1: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### virtualAssetsBase Get virtualAssetsBase(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### virtualSharesBase Get virtualSharesBase(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### withdraw Call withdraw(assets: string, receiver: string, owner: string). Unrestricted — any address can call this, but caller-specific logic may apply. Note: In vaults with async settlement, this queues a withdrawal request rather than transferring assets immediately. Assets are distributed when the settlement batch is processed (e.g. settleQueue). Returns a preview based on current NAV — actual payout depends on settlement NAV. Returns shares (uint256). Example: Input: {} returns a list of available items from Aarna Atvptmax ##### withdrawalRequestCounter Get withdrawalRequestCounter(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns uint256. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### withdrawalRequests Get withdrawalRequests(param0: string). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns { user: string, receiver: string, shares: string, timestamp: string, settleCounter: string, settled: boolean }. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### withdrawalsPaused Get withdrawalsPaused(). Read-only — does not modify contract state. Unrestricted — any address can call this read function. Returns bool. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### AdapterAdded Event emitted by the contract. Indexed fields (filterable): adapter. Subscribe via log filters. ##### AdapterQuarantined Event emitted by the contract. Indexed fields (filterable): adapter. Subscribe via log filters. ##### AdapterRemoved Event emitted by the contract. Indexed fields (filterable): adapter. Subscribe via log filters. ##### AdapterUnquarantined Event emitted by the contract. Indexed fields (filterable): adapter. Subscribe via log filters. ##### Approval Event emitted by the contract. Indexed fields (filterable): owner, spender. Subscribe via log filters. ##### ControllerUpdated Event emitted by the contract. Indexed fields (filterable): oldController, newController. Subscribe via log filters. ##### DefaultQueueLimitUpdated Event emitted by the contract. Subscribe via log filters. ##### Deposit Event emitted by the contract. Indexed fields (filterable): sender, owner. Subscribe via log filters. ##### DepositWithNAV Event emitted by the contract. Indexed fields (filterable): user, receiver. Subscribe via log filters. ##### DepositsPaused Event emitted by the contract. Subscribe via log filters. ##### DepositsQuarantined Event emitted by the contract. Subscribe via log filters. ##### DepositsUnpaused Event emitted by the contract. Subscribe via log filters. ##### DepositsUnquarantined Event emitted by the contract. Subscribe via log filters. ##### EmergencyModeToggled Event emitted by the contract. Subscribe via log filters. ##### ExtraUnderlyingSwept Event emitted by the contract. Indexed fields (filterable): safeWallet. Subscribe via log filters. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### FundsDeployed Event emitted by the contract. Indexed fields (filterable): adapter. Subscribe via log filters. ##### MaxAdaptersUpdated Event emitted by the contract. Subscribe via log filters. ##### MaxSettlementSlippageUpdated Event emitted by the contract. Subscribe via log filters. ##### OwnershipTransferStarted Event emitted by the contract. Indexed fields (filterable): previousOwner, newOwner. Subscribe via log filters. ##### OwnershipTransferred Event emitted by the contract. Indexed fields (filterable): previousOwner, newOwner. Subscribe via log filters. ##### Paused Event emitted by the contract. Subscribe via log filters. ##### QueueSettled Event emitted by the contract. Subscribe via log filters. ##### SafeWalletQueued Event emitted by the contract. Indexed fields (filterable): newSafeWallet. Subscribe via log filters. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### SafeWalletUpdated Event emitted by the contract. Indexed fields (filterable): oldSafeWallet, newSafeWallet. Subscribe via log filters. Example: Input: {} returns a list of available items from Aarna Atvptmax ##### SetMaxRequest Event emitted by the contract. Subscribe via log filters. ##### SetMinDeposit Event emitted by the contract. Subscribe via log filters. ##### SetMinWithdraw Event emitted by the contract. Subscribe via log filters. ##### SettleQueueCounterLimitUpdated Event emitted by the contract. Indexed fields (filterable): settleQueueCounter. Subscribe via log filters. ##### SettleQueueCounterUpdated Event emitted by the contract. Subscribe via log filters. ##### Transfer Event emitted by the contract. Indexed fields (filterable): from, to. Subscribe via log filters. ##### Unpaused Event emitted by the contract. Subscribe via log filters. ##### VirtualizationConfigured Event emitted by the contract. Subscribe via log filters. ##### Withdraw Event emitted by the contract. Indexed fields (filterable): sender, receiver, owner. Subscribe via log filters. ##### WithdrawCancelled Event emitted by the contract. Indexed fields (filterable): user, _requestId. Subscribe via log filters. ##### WithdrawalRequested Event emitted by the contract. Indexed fields (filterable): owner, receiver. Subscribe via log filters. ##### WithdrawalSettled Event emitted by the contract. Indexed fields (filterable): requestId, user, receiver. Subscribe via log filters. ##### WithdrawalsPaused Event emitted by the contract. Subscribe via log filters. ##### WithdrawalsUnpaused Event emitted by the contract. Subscribe via log filters. --- ### Coingecko - MCP Endpoint: https://coingecko.mcp.junct.dev/mcp - Domain: exchange - Tool Count: 56 - Documentation: https://coingecko.mcp.junct.dev/llms.txt - Server Page: https://coingecko.mcp.junct.dev/ - Config: {"mcpServers":{"coingecko":{"url":"https://coingecko.mcp.junct.dev/mcp"}}} Useful for: trading data, order book queries, market data, klines, account balances, Coingecko spot trading #### Tools ##### ping_server Check API server status — This endpoint allows you to **check the API server status** Returns: { gecko_says: string }. Example: Input: {} returns a list of available items from Coingecko ##### api_usage 💼 API Usage — This endpoint allows you to **monitor your account's API usage, including rate limits, monthly total credits, remaining credits, and more** Returns: { plan: string, rate_limit_request_per_minute: number, monthly_call_credit: number, ... }. Example: Input: {address: '0x...'} returns account/balance data from Coingecko ##### simple_price Coin Price by IDs, Symbols, or Names — This endpoint allows you to **query the prices of one or more coins by using their unique Coin API IDs, symbols, or names** Example: Input: {symbol: 'ETH'} returns current price data from Coingecko ##### simple_token_price Coin Price by Token Addresses — This endpoint allows you to **query one or more token prices using their token contract addresses** Returns: { usd: number, usd_market_cap: number, usd_24h_vol: number, ... }. PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data. Example: Input: {symbol: 'ETH'} returns current price data from Coingecko ##### simple_supported_currencies Supported Currencies List — This endpoint allows you to **query all the supported currencies on CoinGecko** Example: Input: {} returns a list of available items from Coingecko ##### search_data Search Queries — This endpoint allows you to **search for coins, categories and markets listed on CoinGecko** Returns: { coins: { id: string, name: string, api_symbol: string, symbol: string, market_cap_rank: number, thumb: string, ... }[], exchanges: { id: string, name: string, market_type: string, thumb: string, large: string }[], icos: string[], ... }. Example: Input: {} returns a list of available items from Coingecko ##### coins_list [DISCOVERY] Coins List (ID Map) — This endpoint allows you to **query all the supported coins on CoinGecko with coins ID, name and symbol** Example: Input: {} returns a list of available items from Coingecko ##### coins_top_gainers_losers 💼 Top Gainers & Losers — This endpoint allows you to **query the top 30 coins with largest price gain and loss by a specific time duration** Returns: { top_gainers: { id: string, symbol: string, name: string, image: string, market_cap_rank: number, usd: number, ... }[], top_losers: { id: string, symbol: string, name: string, image: string, market_cap_rank: number, usd: number, ... }[] }. Example: Input: {symbol: 'ETH'} returns current price data from Coingecko ##### coins_list_new 💼 Recently Added Coins — This endpoint allows you to **query the latest 200 coins that recently listed on CoinGecko** Example: Input: {} returns a list of available items from Coingecko ##### coins_markets [DISCOVERY] Coins List with Market Data — This endpoint allows you to **query all the supported coins with price, market cap, volume and market related data** Example: Input: {symbol: 'ETH'} returns current price data from Coingecko ##### coins_id Coin Data by ID — This endpoint allows you to **query all the metadata (image, websites, socials, description, contract address, etc.) and market data (price, ATH, exchange tickers, etc.) of a coin from the CoinGecko coin page based on a particular coin ID** Returns: { id: string, symbol: string, name: string, ... }. PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data. Example: Input: {symbol: 'ETH'} returns current price data from Coingecko ##### coins_id_tickers Coin Tickers by ID — This endpoint allows you to **query the coin tickers on both centralized exchange (CEX) and decentralized exchange (DEX) based on a particular coin ID** Returns: { name: string, tickers: { base: string, target: string, market: { name: string, identifier: string, has_trading_incentive: boolean, logo: string }, last: number, volume: number, cost_to_move_up_usd: number, ... }[] }. PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data. Example: Input: {} returns a list of available items from Coingecko ##### coins_id_history Coin Historical Data by ID — This endpoint allows you to **query the historical data (price, market cap, 24hrs volume, ...) at a given date for a coin based on a particular coin ID** Returns: { id: string, symbol: string, name: string, ... }. PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data. Example: Input: {symbol: 'ETH'} returns current price data from Coingecko ##### coins_id_market_chart Coin Historical Chart Data by ID — This endpoint allows you to **get the historical chart data of a coin including time in UNIX, price, market cap and 24hr volume based on particular coin ID** Returns: { prices: number[][], market_caps: number[][], total_volumes: number[][] }. PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data. Example: Input: {symbol: 'ETH'} returns current price data from Coingecko ##### coins_id_market_chart_range Coin Historical Chart Data within Time Range by ID — This endpoint allows you to **get the historical chart data of a coin within certain time range in UNIX along with price, market cap and 24hr volume based on particular coin ID** Returns: { prices: number[][], market_caps: number[][], total_volumes: number[][] }. PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data. Example: Input: {symbol: 'ETH'} returns current price data from Coingecko ##### coins_id_ohlc Coin OHLC Chart by ID — This endpoint allows you to **get the OHLC chart (Open, High, Low, Close) of a coin based on particular coin ID** PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data. Example: Input: {} returns a list of available items from Coingecko ##### coins_id_ohlc_range 💼 Coin OHLC Chart within Time Range by ID — This endpoint allows you to **get the OHLC chart (Open, High, Low, Close) of a coin within a range of timestamp based on particular coin ID** PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data. Example: Input: {} returns a list of available items from Coingecko ##### coins_contract_address Coin Data by Token Address — This endpoint allows you to **query all the metadata (image, websites, socials, description, contract address, etc.) and market data (price, ATH, exchange tickers, etc.) of a coin from the CoinGecko coin page based on an asset platform and a particular token contract address** Returns: { id: string, symbol: string, name: string, ... }. PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data. Example: Input: {symbol: 'ETH'} returns current price data from Coingecko ##### contract_address_market_chart Coin Historical Chart Data by Token Address — This endpoint allows you to **get the historical chart data including time in UNIX, price, market cap and 24hr volume based on asset platform and particular token contract address** Returns: { prices: number[][], market_caps: number[][], total_volumes: number[][] }. PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data. Example: Input: {symbol: 'ETH'} returns current price data from Coingecko ##### contract_address_market_chart_range Coin Historical Chart Data within Time Range by Token Address — This endpoint allows you to **get the historical chart data within certain time range in UNIX along with price, market cap and 24hr volume based on asset platform and particular token contract address** Returns: { prices: number[][], market_caps: number[][], total_volumes: number[][] }. PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data. Example: Input: {symbol: 'ETH'} returns current price data from Coingecko ##### coins_id_circulating_supply_chart 👑 Circulating Supply Chart by ID — This endpoint allows you to **query historical circulating supply of a coin by number of days away from now based on provided coin ID** Returns: { circulating_supply: string[][] }. PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data. Example: Input: {} returns a list of available items from Coingecko ##### coins_id_circulating_supply_chart_range 👑 Circulating Supply Chart within Time Range by ID — This endpoint allows you to **query historical circulating supply of a coin, within a range of timestamp based on the provided coin ID** Returns: { circulating_supply: string[][] }. PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data. Example: Input: {} returns a list of available items from Coingecko ##### coins_id_total_supply_chart 👑 Total Supply Chart by ID — This endpoint allows you to **query historical total supply of a coin by number of days away from now based on provided coin ID** Returns: { total_supply: string[][] }. PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data. Example: Input: {} returns a list of available items from Coingecko ##### coins_id_total_supply_chart_range 👑 Total Supply Chart within time range by ID — This endpoint allows you to **query historical total supply of a coin, within a range of timestamp based on the provided coin ID** Returns: { total_supply: string[][] }. PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data. Example: Input: {} returns a list of available items from Coingecko ##### asset_platforms_list [DISCOVERY] Asset Platforms List (ID Map) — This endpoint allows you to **query all the asset platforms on CoinGecko** Example: Input: {} returns a list of available items from Coingecko ##### token_lists Token Lists by Asset Platform ID — This endpoint allows you to **get full list of tokens of a blockchain network (asset platform) that is supported by [Ethereum token list standard](https://tokenlists.org/)** Returns: { name: string, logoURI: string, keywords: string[], ... }. Example: Input: {} returns a list of available items from Coingecko ##### coins_categories_list [DISCOVERY] Coins Categories List (ID Map) — This endpoint allows you to **query all the coins categories on CoinGecko** Returns: { category_id: string, name: string }. Example: Input: {} returns a list of available items from Coingecko ##### coins_categories [DISCOVERY] Coins Categories List with Market Data — This endpoint allows you to **query all the coins categories with market data (market cap, volume, ...) on CoinGecko** Returns: { id: string, name: string, market_cap: number, ... }. Example: Input: {} returns a list of available items from Coingecko ##### exchanges [DISCOVERY] Exchanges List with Data — This endpoint allows you to **query all the supported exchanges with exchanges' data (ID, name, country, ...) that have active trading volumes on CoinGecko** Returns: { id: string, name: string, year_established: number, ... }. Example: Input: {} returns a list of available items from Coingecko ##### exchanges_list [DISCOVERY] Exchanges List (ID Map) — This endpoint allows you to **query all the exchanges with ID and name** Example: Input: {} returns a list of available items from Coingecko ##### exchanges_id Exchange Data by ID — This endpoint allows you to **query exchange's data (name, year established, country, ...), exchange volume in BTC and top 100 tickers based on exchange's ID** Returns: { name: string, year_established: number, country: string, ... }. PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data. Example: Input: {} returns a list of available items from Coingecko ##### exchanges_id_tickers Exchange Tickers by ID — This endpoint allows you to **query exchange's tickers based on exchange's ID** Returns: { name: string, tickers: { base: string, target: string, market: { name: string, identifier: string, has_trading_incentive: boolean, logo: string }, last: number, volume: number, cost_to_move_up_usd: number, ... }[] }. PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data. Example: Input: {} returns a list of available items from Coingecko ##### exchanges_id_volume_chart Exchange Volume Chart by ID — This endpoint allows you to **query the historical volume chart data with time in UNIX and trading volume data in BTC based on exchange's ID** PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data. Example: Input: {} returns a list of available items from Coingecko ##### exchanges_id_volume_chart_range 💼 Exchange Volume Chart within Time Range by ID — This endpoint allows you to **query the historical volume chart data in BTC by specifying date range in UNIX based on exchange's ID** PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data. Example: Input: {} returns a list of available items from Coingecko ##### derivatives_tickers Derivatives Tickers List — This endpoint allows you to **query all the tickers from derivatives exchanges on CoinGecko** Returns: { market: string, symbol: string, index_id: string, ... }. Example: Input: {} returns a list of available items from Coingecko ##### derivatives_exchanges [DISCOVERY] Derivatives Exchanges List with Data — This endpoint allows you to **query all the derivatives exchanges with related data (ID, name, open interest, ...) on CoinGecko** Returns: { name: string, id: string, open_interest_btc: number, ... }. Example: Input: {} returns a list of available items from Coingecko ##### derivatives_exchanges_id Derivatives Exchange Data by ID — This endpoint allows you to **query the derivatives exchange's related data (ID, name, open interest, ...) based on the exchanges' ID** Returns: { name: string, open_interest_btc: number, trade_volume_24h_btc: string, ... }. PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data. Example: Input: {} returns a list of available items from Coingecko ##### derivatives_exchanges_list [DISCOVERY] Derivatives Exchanges List (ID Map) — This endpoint allows you to **query all the derivatives exchanges with ID and name on CoinGecko** Returns: { id: string, name: string }. Example: Input: {} returns a list of available items from Coingecko ##### entities_list [DISCOVERY] Entities List (ID Map) — This endpoint allows you to **query all the supported entities on CoinGecko with entities ID, name, symbol, and country** Example: Input: {} returns a list of available items from Coingecko ##### companies_public_treasury Crypto Treasury Holdings by Coin ID — This endpoint allows you **query public companies & governments' cryptocurrency holdings** by Coin ID PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data. Example: Input: {} returns a list of available items from Coingecko ##### public_treasury_entity Crypto Treasury Holdings by Entity ID — This endpoint allows you **query public companies & governments' cryptocurrency holdings** by Entity ID Returns: { name: string, id: string, type: string, ... }. Example: Input: {} returns a list of available items from Coingecko ##### public_treasury_entity_chart Crypto Treasury Holdings Historical Chart Data by ID — This endpoint allows you to **query historical cryptocurrency holdings chart of public companies & governments** by Entity ID and Coin ID Returns: { holdings: number[][], holding_value_in_usd: number[][] }. PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data. Example: Input: {} returns a list of available items from Coingecko ##### public_treasury_transaction_history Crypto Treasury Transaction History by Entity ID — This endpoint allows you **query public companies & governments' cryptocurrency transaction history** by Entity ID Returns: { transactions: { date: number, source_url: string, coin_id: string, type: "buy" | "sell", holding_net_change: number, transaction_value_usd: number, ... }[] }. Example: Input: {} returns a list of available items from Coingecko ##### nfts_list [DISCOVERY] NFTs List (ID Map) — This endpoint allows you to **query all supported NFTs with ID, contract address, name, asset platform ID and symbol on CoinGecko** Returns: { id: string, contract_address: string, name: string, ... }. Example: Input: {} returns a list of available items from Coingecko ##### nfts_id NFTs Collection Data by ID — This endpoint allows you to **query all the NFT data (name, floor price, 24hr volume ...) based on the NFT collection ID** Returns: { id: string, web_slug: string, contract_address: string, ... }. PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data. Example: Input: {symbol: 'ETH'} returns current price data from Coingecko ##### nfts_contract_address NFTs Collection Data by Contract Address — This endpoint allows you to **query all the NFT data (name, floor price, 24hr volume ...) based on the NFT collection contract address and respective asset platform** Returns: { id: string, web_slug: string, contract_address: string, ... }. PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data. Example: Input: {symbol: 'ETH'} returns current price data from Coingecko ##### nfts_markets [DISCOVERY] 💼 NFTs List with Market Data — This endpoint allows you to **query all the supported NFT collections with floor price, market cap, volume and market related data on CoinGecko** Example: Input: {symbol: 'ETH'} returns current price data from Coingecko ##### nfts_id_market_chart 💼 NFTs Collection Historical Chart Data by ID — This endpoint allows you **query historical market data of a NFT collection, including floor price, market cap, and 24hr volume, by number of days away from now** Returns: { floor_price_usd: number[][], floor_price_native: number[][], h24_volume_usd: number[][], ... }. PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data. Example: Input: {symbol: 'ETH'} returns current price data from Coingecko ##### nfts_contract_address_market_chart 💼 NFTs Collection Historical Chart Data by Contract Address — This endpoint allows you **query historical market data of a NFT collection, including floor price, market cap, and 24hr volume, by number of days away from now based on the provided contract address** Returns: { floor_price_usd: number[][], floor_price_native: number[][], h24_volume_usd: number[][], ... }. PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data. Example: Input: {symbol: 'ETH'} returns current price data from Coingecko ##### nfts_id_tickers 💼 NFTs Collection Tickers by ID — This endpoint allows you to **query the latest floor price and 24hr volume of a NFT collection, on each NFT marketplace, e.g. OpenSea and LooksRare** Returns: { tickers: { floor_price_in_native_currency: number, h24_volume_in_native_currency: number, native_currency: string, native_currency_symbol: string, updated_at: string, nft_marketplace_id: string, ... }[] }. PREREQUISITE: First call exchange info or symbol listing to discover valid trading pairs, then query market data. Example: Input: {symbol: 'ETH'} returns current price data from Coingecko ##### exchange_rates BTC-to-Currency Exchange Rates — This endpoint allows you to **query BTC exchange rates with other currencies** Returns: { rates: object }. Example: Input: {} returns a list of available items from Coingecko ##### trending_search [DISCOVERY] Trending Search List — This endpoint allows you **query trending search coins, NFTs and categories on CoinGecko in the last 24 hours** Returns: { coins: { id: string, coin_id: number, name: string, symbol: string, market_cap_rank: number, thumb: string, ... }[], nfts: { id: string, name: string, symbol: string, thumb: string, nft_contract_id: number, native_currency_symbol: string, ... }[], categories: { id: number, name: string, market_cap_1h_change: number, slug: string, coins_count: number, data: { market_cap: number, market_cap_btc: number, total_volume: number, total_volume_btc: number, m Example: Input: {} returns a list of available items from Coingecko ##### news 💼 Crypto News — This endpoint allows you to **query the latest crypto news and guides on CoinGecko** Example: Input: {} returns a list of available items from Coingecko ##### crypto_global Crypto Global Market Data — This endpoint allows you **query cryptocurrency global data including active cryptocurrencies, markets, total crypto market cap and etc** Returns: { data: { active_cryptocurrencies: number, upcoming_icos: number, ongoing_icos: number, ended_icos: number, markets: number, total_market_cap: { btc: number, eth: number }, ... } }. Example: Input: {} returns a list of available items from Coingecko ##### global_de_fi Global DeFi Market Data — This endpoint allows you **query top 100 cryptocurrency global decentralized finance (DeFi) data including DeFi market cap, trading volume** Returns: { data: { defi_market_cap: string, eth_market_cap: string, defi_to_eth_ratio: string, trading_volume_24h: string, defi_dominance: string, top_coin_name: string, ... } }. Example: Input: {} returns a list of available items from Coingecko ##### global_market_cap_chart 💼 Global Market Cap Chart Data — This endpoint allows you to **query historical global market cap and volume data by number of days away from now** Returns: { market_cap_chart: { market_cap: number[][], volume: number[][] } }. Example: Input: {} returns a list of available items from Coingecko --- ### Aarna Atv Api - MCP Endpoint: https://aarna-atv-api.mcp.junct.dev/mcp - Domain: vault - Tool Count: 20 - Documentation: https://aarna-atv-api.mcp.junct.dev/llms.txt - Server Page: https://aarna-atv-api.mcp.junct.dev/ - Config: {"mcpServers":{"aarna-atv-api":{"url":"https://aarna-atv-api.mcp.junct.dev/mcp"}}} Useful for: vault strategy analysis, yield optimization, TVL tracking, Aarna Atv Api deposit/withdrawal data #### Tools ##### list_vaults [DISCOVERY] List vaults — Returns all available ATV vaults, optionally filtered by chain. Returns: { data: { productId: string, label: string, address: string, chain: "ethereum" | "base", depositTokens: unknown[] }[], message: string, statusCode: number }. Example: Input: {} returns a list of available items from Aarna Atv Api ##### get_vault Get vault — Returns metadata and deposit tokens for a single vault by its address. Returns: { data: { productId: string, label: string, address: string, chain: "ethereum" | "base", depositTokens: { name: string, address: string, symbol: string, decimals: number, balance: string, formattedBalance: string, ... }[] }, message: string, statusCode: number }. Example: Input: {address: '0x...'} returns account/balance data from Aarna Atv Api ##### get_vault_nav Get vault NAV — Returns the current Net Asset Value (NAV / price per share) of a vault. Standard vaults return 4-decimal values; leverage vaults return 18-decimal values. Returns: { data: { address: string, nav: string, formattedNav: string, decimals: number, currency: "USD" }, message: string, statusCode: number }. Example: Input: {symbol: 'ETH'} returns current price data from Aarna Atv Api ##### get_vault_tvl Get vault TVL — Returns the current Total Value Locked (TVL) in USD for a vault (18 decimals, as a string). Returns: { data: { address: string, tvl: string, decimals: number, formattedTvl: string, currency: "USD" }, message: string, statusCode: number }. Example: Input: {} returns total value locked across Aarna Atv Api deployments ##### get_vault_apy Get vault APY — Returns the current Annual Percentage Yield for a vault as a percentage string (e.g. "12.45" = 12.45%). Returns: { data: { address: string, baseApy: string, rewardApy: string, totalApy: string }, message: string, statusCode: number }. ##### get_total_tvl Get platform TVL — Returns the total TVL across all vaults, sourced from the Aarna engine database. Returns: { data: object, message: string, statusCode: number }. Example: Input: {} returns total value locked across Aarna Atv Api deployments ##### get_deposit_status Get deposit status — Check whether deposits are currently paused on a vault. Use this before building a deposit transaction. Returns: { data: { vaultAddress: string, isPaused: boolean, supported: boolean }, message: string, statusCode: number }. ##### get_withdraw_status Get withdraw status — Check whether withdrawals are currently paused on a vault. Returns: { data: { vaultAddress: string, isPaused: boolean, supported: boolean }, message: string, statusCode: number }. ##### get_queue_withdraw_status Get queue-withdraw status — Check whether queued (delayed) withdrawals are currently paused on a vault. Returns: { data: { vaultAddress: string, isPaused: boolean, supported: boolean }, message: string, statusCode: number }. ##### get_vault_portfolio Get vault portfolio — Returns the underlying token portfolio and breakdown data for a vault from the Aarna engine database. Returns: { data: object, message: string, statusCode: number }. ##### get_historical_nav Get historical NAV — Returns historical NAV data points for a vault over a specified period. Each data point contains a timestamp and NAV value. Returns: { data: { timestamp: number, nav: string }[], message: string, statusCode: number }. ##### get_historical_tvl Get historical TVL — Returns historical TVL data points for a vault over a specified period. Each data point contains a timestamp and TVL value. Returns: { data: { timestamp: number, tvl: string }[], message: string, statusCode: number }. Example: Input: {} returns total value locked across Aarna Atv Api deployments ##### build_deposit_tx Build deposit transaction — Returns an ordered array of `TxStep` objects to execute a vault deposit. Pre-flight checks are run server-side before any calldata is built: - **Deposits paused** — 400 if the vault has deposits paused - **Insufficient balance** — 400 with a human-readable message if the user's wallet balance is below the requested amount - **Allowance check** — the `approve` step is **only included when the user's current allowance is below the deposit amount** (saves gas for repeat depositors) Response contains **1 or 2 steps**: - 1 step → deposit only (allowance already sufficien Example: Input: {address: '0x...'} returns account/balance data from Aarna Atv Api ##### build_withdraw_tx Build withdraw transaction — Returns a `TxStep` array for a standard vault withdrawal. The user redeems vault shares in exchange for an output token. - **step 1** (`type: "withdraw"`) — redeems shares for the output token `minOut` is calculated server-side from the `slippage` parameter using bigint basis-point math. Ensure your wallet is on the `chainId` returned in the step. Returns: { data: { step: number, label: string, type: "approve" | "deposit" | "withdraw" | "stake" | "unstake" | "queue_withdraw" | "unqueue_withdraw" | "redeem_withdraw", to: string, data: string, value: string, ... }[], Example: Input: {} returns a list of available items from Aarna Atv Api ##### build_stake_tx Build stake transaction — Returns an ordered array of `TxStep` objects to stake vault tokens into a timelock contract. Pre-flight checks: vault must support staking, user must have sufficient vault token balance. Response is 1–2 steps: - 1 step → stake only (allowance sufficient) - 2 steps → approve then stake Returns: { data: { step: number, label: string, type: "approve" | "deposit" | "withdraw" | "stake" | "unstake" | "queue_withdraw" | "unqueue_withdraw" | "redeem_withdraw", to: string, data: string, value: string, ... }[], message: string, statusCode: number }. Example: Input: {address: '0x...'} returns account/balance data from Aarna Atv Api ##### build_unstake_tx Build unstake transaction — Returns a `TxStep` to unstake vault tokens from a timelock contract. Returns: { data: { step: number, label: string, type: "approve" | "deposit" | "withdraw" | "stake" | "unstake" | "queue_withdraw" | "unqueue_withdraw" | "redeem_withdraw", to: string, data: string, value: string, ... }[], message: string, statusCode: number }. ##### build_queue_withdraw_tx Build queue-withdraw transaction — Initiates a queued (delayed) withdrawal. The withdrawal must be redeemed separately once it is processed by the vault. Only available on vaults with `STANDARD` or `STANDARD_AUTO_REDEEM` withdraw type. Returns: { data: { step: number, label: string, type: "approve" | "deposit" | "withdraw" | "stake" | "unstake" | "queue_withdraw" | "unqueue_withdraw" | "redeem_withdraw", to: string, data: string, value: string, ... }[], message: string, statusCode: number }. ##### build_unqueue_withdraw_tx Build unqueue-withdraw transaction — Cancels a pending queued withdrawal request. Returns: { data: { step: number, label: string, type: "approve" | "deposit" | "withdraw" | "stake" | "unstake" | "queue_withdraw" | "unqueue_withdraw" | "redeem_withdraw", to: string, data: string, value: string, ... }[], message: string, statusCode: number }. ##### build_redeem_withdraw_tx Build redeem-withdraw transaction — Claims (redeems) a completed queued withdrawal from a vault. Returns: { data: { step: number, label: string, type: "approve" | "deposit" | "withdraw" | "stake" | "unstake" | "queue_withdraw" | "unqueue_withdraw" | "redeem_withdraw", to: string, data: string, value: string, ... }[], message: string, statusCode: number }. ##### get_user_investments Get user investments — Returns a user's portfolio and position data across ATV vaults from the Aarna engine database. Returns: { data: object, message: string, statusCode: number }. --- ### Mfapi - MCP Endpoint: https://mfapi.mcp.junct.dev/mcp - Domain: naming - Tool Count: 5 - Documentation: https://mfapi.mcp.junct.dev/llms.txt - Server Page: https://mfapi.mcp.junct.dev/ - Config: {"mcpServers":{"mfapi":{"url":"https://mfapi.mcp.junct.dev/mcp"}}} Useful for: name resolution, reverse lookups, text records, content hashes, domain ownership, Mfapi name service #### Tools ##### get_mf_search [DISCOVERY] Search mutual fund schemes — Search for mutual fund schemes by name using full-text search ##### get_mf List all mutual fund schemes — Get a paginated list of all available mutual fund schemes with ISIN codes Example: Input: {} returns a list of available items from Mfapi ##### get_mf_scheme_code Get NAV history for a scheme — Retrieve historical NAV data for a specific mutual fund scheme within a date range Returns: { meta: { fund_house: string, scheme_type: string, scheme_category: string, scheme_code: number, scheme_name: string, isin_growth: string, ... }, data: { date: string, nav: string }[], status: "SUCCESS" | "ERROR" }. ##### get_mf_scheme_code_latest Get latest NAV for a scheme — Retrieve the most recent NAV data for a specific mutual fund scheme Returns: { meta: { fund_house: string, scheme_type: string, scheme_category: string, scheme_code: number, scheme_name: string, isin_growth: string, ... }, data: { date: string, nav: string }[], status: "SUCCESS" | "ERROR" }. ##### get_mf_latest Get latest NAV for all schemes — Retrieve the most recent NAV data for all mutual fund schemes. Returns complete dataset from cache. Example: Input: {} returns a list of available items from Mfapi --- ## About Junct Junct (junct.dev) is the agent-readiness layer for web3. It takes API specifications (OpenAPI JSON, smart contract ABIs, or llms.txt files) and generates hosted MCP servers that any AI agent can connect to. One spec upload produces tools for 8 agent frameworks simultaneously. Keywords: DeFi MCP server, agent-ready API, crypto tool calling, MCP server generation, deterministic MCP, AI agent DeFi access, Model Context Protocol, hosted MCP, crypto agent tools, web3 agent