ChainFolioAI
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Read-only crypto and traditional portfolio: holdings, PNL, FIFO tax figures and market data.
| Author | com.chainfolioai |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 2585 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"ChainFolioAI": {
"url": "https://chainfolioai.com/api/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (23)
get_portfolioReturns the user's latest portfolio snapshot: balances per network (ETH, SOL, BTC, ADA), exchanges (CEX), DeFi and manual assets.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_walletsReturns the wallets of each portfolio, with addresses as pseudonyms (wallet_…), never in clear.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_pnlThe user's portfolio performance in euros: current total and change over 24 h, 7 days, 30 days and since the start, from the saved snapshots.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_realized_gainsThe user's realised capital gains using FIFO, in euros, with fees and gas deducted: total, per asset and per year. Not a tax return.
Parameters:
year— integer — Calendar year of the sales (optional; without it everything is returned).
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_metricsAdvanced portfolio metrics from the saved history: ROI, CAGR, Sharpe, Sortino, Calmar, volatility, maximum and current drawdown, win rate and 95% VaR.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_tradesTransactions recorded by the user (buys, sells and fees), in euros, newest first. Optional filters by asset and year.
Parameters:
year— integer — Calendar year of the transaction.asset— string — Asset symbol (e.g. BTC).limit— integer — Maximum number of transactions to return (default 100).
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_tax_estimateESTIMATE of capital-gains tax in a country, in that country's currency: the country's cost method (FIFO, average cost, LIFO, UK pooling, annual sum), each trade converted at the ECB rate of its date, the rules of the year of sale, holding period, annual allowance and, where the law allows, losses carried from previous years. Not a tax return. Each country's options are in list_tax_countries (options field).
Parameters:
country(required) — string — Two-letter country code (e.g. PT, ES, US). See list_tax_countries.year— integer — Tax year of the sales (optional). In the UK and Australia it is the year the tax year starts (2025 = 2025/26).alternative— boolean — BR, PT, AR and AT only: the alternative option for where the coins are held (BR foreign exchange; PT broker outside the EU/EEA with no tax treaty; AR sale in pesos; AT Austrian platform).marginalRate— number — Only where the rate depends on income (DE, GB, US, CA, AU, LU, MX): the person's marginal rate as a fraction (0.35 = 35%). Without it the top rate is used.marginalRateLong— number — US only: the person's long-term rate as a fraction (0, 0.15 or 0.20, plus 0.038 NIIT if applicable).
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
list_tax_countriesCrypto tax regimes published by ChainFolioAI: short- and long-term rate, holding period, annual allowance and legal reference, per country.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_global_marketGlobal crypto market state: total market cap, 24 h change and Bitcoin and Ethereum dominance.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_derivativesDerivatives data for a symbol on OKX: open interest, long/short ratio, funding, CVD, taker volume, 1 h candles, put/call and a composite sentiment score (0–100).
Parameters:
symbol— string — Symbol, e.g. BTC (default) or ETH.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_price_onClosing price in US dollars of a crypto asset on a date (UTC), from OKX daily candles. Useful to value a past buy or sale.
Parameters:
symbol(required) — string — Symbol, e.g. BTC.date(required) — string — Data em AAAA-MM-DD (UTC).
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_defi_positionsThe user's lending positions read from the contracts (Aave V3, Spark, Compound V3, Morpho, EigenLayer) on Ethereum, Arbitrum, Base, Optimism and Polygon: supplied, borrowed and net, with health factor. It queries the blockchain, so it takes a few seconds.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_nftsNFTs in the user's EVM wallets on one network. They are not included in the portfolio total (no reliable price).
Parameters:
chain— string — Network (default eth).
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_portfolio_scoreThe user's portfolio score (0–100), as shown in the app: diversification, crypto/traditional mix, stablecoin reserve, performance and risk management. A reading aid, not a recommendation to buy or sell.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_whale_activityScans the given addresses and returns recent on-chain movements (large transfers, accumulation). Supports ETH, BTC and SOL.
Parameters:
watchlist(required) — array — Addresses to watch (max. 10).
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_marketReturns the top crypto assets by market cap (price, market cap, volume, 24h and 7d change).
Parameters:
limit— integer — How many assets to return (1–250, default 50).
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
list_known_whalesLists the preloaded known whales (exchanges, funds, public figures, governments) with address and chain. Use the addresses as input to get_whale_activity.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_fear_greedCrypto market Fear & Greed index (current value 0–100, classification and recent history).
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_assetPrice, market cap, volume and change (24h/7d) of a crypto asset by symbol (e.g. btc, eth, sol).
Parameters:
symbol(required) — string — Asset symbol, e.g. btc
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_fireCalculates the years to financial independence (4% rule) from expenses, savings, return and age.
Parameters:
monthlyExpenses(required) — number — Monthly expensesmonthlyInvestment(required) — number — Monthly savings/investmentinflation— number — Annual inflation in % (default 3)currentAge— integer — Current age (default 30)annualReturn— number — Expected annual return in % (default 7)currentPortfolio— number — Current net worth (default 0)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_newsLatest crypto news (CoinDesk, CoinTelegraph): title, source, link and date.
Parameters:
limit— integer — How many news items (default 15)
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_btc_blocksRecent Bitcoin blocks (height, number of transactions, median fee, pool) and recommended mempool fees.
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
ask_aiAsk the AI assistant, in natural language, about your real portfolio (analysis, context, risks). It never gives buy or sell orders. Daily limit per account.
Parameters:
question(required) — string — The question about the portfolio or the market (max. 1000 characters).
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.