WalletProfit
Server Details
Analyse crypto wallets (EVM, Solana, Bitcoin) and compare DeFi lending, borrowing and pool rates.
- Status
- Healthy
- Uptime
- 99.5% over 19 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 3 tools
The three tools target clearly separate concerns: wallet-level portfolio analysis, broad macro/market price feeds, and per-venue lending/liquidity rates. There is no realistic scenario where an agent would confuse one for another, since each has a distinct input type (wallet address, none, venue name).
All three names follow the same snake_case verb_noun pattern (analyze_wallet, get_market_prices, get_venue_rates). The verb variation between 'analyze' and 'get' is semantically appropriate and still consistent.
Three tools is at the low end but each is a broad aggregator that earns its place rather than a trivial wrapper. The surface is reasonably scoped, though it leans thin for what appears to be a full analytics product.
Core reads are covered, but there is no discovery tool for supported venues or chains, and get_venue_rates only handles one venue at a time, forcing repeated calls to compare venues. No historical or time-series access beyond the fixed windows the descriptions mention.
Available Tools
3 toolsanalyze_walletAnalyse a crypto walletARead-onlyIdempotentInspect
Analyses a wallet the way walletprofit.app does: total value, holdings, liquidity (LP) positions with fee rates and range status, lending positions net of debt, and all-time profit. EVM addresses (0x… or an ENS name) are read on every supported chain at once; Solana and Bitcoin addresses too. A wallet not analysed recently can take a minute or more: if the answer says it is still running, call again with the same address. Results are kept 15 minutes.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | EVM address (0x…) or ENS name, Solana address, or Bitcoin address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations: it discloses that a cold wallet can take a minute or more, prescribes the exact retry behavior while a run is pending, and states results are cached for 15 minutes. It also clarifies the read spans every supported chain simultaneously plus Solana and Bitcoin, which the readOnlyHint/openWorldHint annotations alone would not convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core purpose before the address-type and latency details, and the latency/retry/cache sentences each carry actionable information. The first sentence is long due to the enumerated output set, but no sentence is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by enumerating the returned categories (value, holdings, LP, lending net of debt, all-time profit). Combined with the latency, retry, and 15-minute cache semantics, an agent has everything needed to call it and interpret a pending response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the address parameter is already fully documented as EVM/ENS/Solana/Bitcoin. The description restates the same accepted address forms without adding format examples or normalization rules, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Analyses) and resource (a wallet) and enumerates the exact output scope: total value, holdings, LP positions with fee rates and range status, lending positions net of debt, and all-time profit. The domain is unmistakably distinct from siblings get_market_prices and get_venue_rates, which operate on markets and venues rather than a specific address.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives operational usage guidance: one call covers all supported chains for an EVM address, and if the response says it is still running, call again with the same address. It does not state when not to use it or name an alternative, but the siblings are in unrelated domains so exclusion guidance is less critical.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_market_pricesMarket pricesARead-onlyIdempotentInspect
BTC, ETH and SOL, the S&P 500 and Nasdaq, the US 10-year yield, gold, Brent crude, EUR/USD and USD/CNY, with their change over the last hour and day. Read once a minute.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (readOnly, idempotent, openWorld, non-destructive), so the bar is lower. The description still adds value beyond them by disclosing the freshness/rate-limit constraint ('Read once a minute') and the temporal shape of the data ('change over the last hour and day').
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with no filler, and the coverage list is front-loaded. The enumeration is long but each item earns its place by defining scope; nothing is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of describing returns, and it does so adequately by naming the assets and the two change windows (hour/day). Cadence is covered. Only minor gaps remain, such as the exact response shape or units.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to clarify and the baseline of 4 applies. Schema coverage is trivially 100%.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description precisely enumerates the asset classes covered (crypto, indices, rates, commodities, FX), which unambiguously identifies the resource and clearly separates it from siblings analyze_wallet and get_venue_rates. It leans on the name for the verb 'get', but the coverage list leaves no doubt about what data comes back.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Read once a minute' gives a concrete polling cadence, which is a usable operational guideline. However, there is no explicit guidance on when to prefer this tool over siblings or what it explicitly does not cover; usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_venue_ratesCurrent rates on a DeFi venueARead-onlyIdempotentInspect
Today's rates on one venue, as its walletprofit.app page ranks them: lending (supply APY, by asset class), borrowing costs, isolated borrow markets, and liquidity pools (fee APR, TVL, 24h volume). Lending rates on feed-driven venues are the lowest of recent readings; each table names the window it shows. Updated daily.
| Name | Required | Description | Default |
|---|---|---|---|
| asset | No | Optional: only rows whose asset or pair contains this (e.g. USDC, SOL, WBTC) | |
| limit | No | Rows per table (default 8) | |
| venue | Yes | The venue |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld and non-destructive, so safety is covered. The description adds genuine behavioral context beyond them: 'Updated daily' freshness, the caveat that feed-driven venues report the lowest of recent readings, and that each table names its own time window. Rate limits and pagination behavior are not mentioned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Content is front-loaded ('Today's rates on one venue') and the enumeration of table types is compact. It is a single dense paragraph with little waste, though the trailing caveats about feed-driven venues and daily updates could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly carries the burden of describing the return shape (four table families with named metrics) and notes freshness. Minor gaps remain: nothing about ordering, empty-result behavior, or how limit applies across multiple tables.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (venue enum, asset substring filter, limit default/max), so the schema carries parameter meaning. The description explains what the returned tables contain but adds no syntax or filtering semantics beyond the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb+resource ('Today's rates on one venue') and then enumerates exactly what is returned: lending supply APY, borrowing costs, isolated borrow markets, and liquidity pools with fee APR/TVL/24h volume. This clearly separates it from get_market_prices and analyze_wallet in substance, though it never explicitly names a sibling to route against.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance and no mention of alternatives such as get_market_prices. The agent can infer that this is the per-venue rate lookup, but nothing in the text states the condition that should select this tool over its siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Related MCP Connectors
Find money in any wallet, best-price swaps, simulate, PnL, pools, whales, contract and bridge tools.
Search 700+ DeFi vaults, compare risk scores, analyze protocols. No API key needed.
Browse, deposit, withdraw & rebalance stablecoins on Aave, Morpho & Euler across major EVM chains.
Pre-trade safety + wallets: Solana/EVM token risk, honeypots, counterparties, balances, txs, CVEs.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides comprehensive analytics and insights for Solana wallets and their DeFi activities, including transaction tracking, DeFi position monitoring, risk profiling, and strategy recommendations.40 npm7MIT
- AlicenseCqualityDmaintenanceProvides comprehensive analytics for Solana wallets, enabling real-time portfolio insights, cross-protocol DeFi position monitoring, behavioral analytics, and AI-powered investment strategy recommendations across the Solana ecosystem.3ISC
- AlicenseBqualityDmaintenanceProvides AI assistants with access to real-time DeFi lending rates and yield data across 14+ protocols and multiple blockchains. Enables querying borrow/supply rates, comparing platforms, calculating leverage strategies, and finding best earn opportunities.612 npm4MIT
- AlicenseAqualityAmaintenanceSelf-custodial crypto portfolio and DeFi MCP server. Read balances and positions (Aave, Compound, Morpho, Uniswap V3, Lido, EigenLayer) across Ethereum, Arbitrum, Polygon, and Base, and prepare transactions for approval on a Ledger via WalletConnect.10084 npm4Business Source 1.1
Glama MCP Gateway
Add one secure layer between your agents and this server.