Skip to main content
Glama

What is this?

ProfitSpot MCP gives any AI agent — Claude, GPT, Gemini, or your custom agent — instant access to the same DeFi intelligence that powers profitspot.live. Think of it as the Bloomberg Terminal for AI agents.

Existing DeFi MCP servers are either basic DeFiLlama wrappers with 1 tool, or locked to a single chain. ProfitSpot MCP covers 86 chains, 6,500+ pools, and adds an intelligence layer — risk grades, Monte Carlo profit simulation, whale detection — that no competitor has.

No API key required to get started. Free tier gives you yield discovery, market overview, and IL calculations immediately.


Related MCP server: YieldOracle

🚀 Quick Install

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "profitspot": {
      "command": "uvx",
      "args": ["profitspot-mcp"],
      "env": {
        "PROFITSPOT_API_KEY": "your-pro-key-here"
      }
    }
  }
}

Free tier? Just remove the "env" block entirely. No key needed.

Cursor

Add to .cursor/mcp.json in your project root:

{
  "mcpServers": {
    "profitspot": {
      "command": "uvx",
      "args": ["profitspot-mcp"],
      "env": {
        "PROFITSPOT_API_KEY": "your-pro-key-here"
      }
    }
  }
}

VS Code (Copilot)

Add to your .vscode/mcp.json:

{
  "servers": {
    "profitspot": {
      "type": "stdio",
      "command": "uvx",
      "args": ["profitspot-mcp"],
      "env": {
        "PROFITSPOT_API_KEY": "your-pro-key-here"
      }
    }
  }
}

pip (manual install)

pip install profitspot-mcp

💡 Example Tool Calls

Real responses from live DeFiLlama data. Every response includes confidence (0–1) and data_freshness (ISO timestamp).

1. Discover Yields — Ethereum, grade B or better

discover_yields(chain="Ethereum", min_tvl=10000000, min_apy=3, max_risk="B", limit=5)
{
  "data": {
    "pools": [
      {
        "pool_id": "fc9f488e-8183-416f-a61e-4e5c571d4395",
        "symbol": "WETH-USDT",
        "protocol": "uniswap-v3",
        "chain": "Ethereum",
        "apy": 31.53,
        "apy_base": 31.53,
        "apy_reward": 0,
        "apy_mean_30d": 37.11,
        "tvl_usd": 73909084,
        "risk_grade": "B",
        "risk_score": 74,
        "prediction": "Down",
        "stablecoin": false,
        "il_risk": "yes",
        "exposure": "multi"
      },
      {
        "pool_id": "3dd2c646-c05a-4483-98f4-d7a924a6d6d3",
        "symbol": "WBTC-USDT",
        "protocol": "uniswap-v3",
        "chain": "Ethereum",
        "apy": 22.24,
        "apy_base": 22.24,
        "apy_reward": 0,
        "apy_mean_30d": 21.92,
        "tvl_usd": 16180215,
        "risk_grade": "B",
        "risk_score": 74,
        "prediction": "Down",
        "stablecoin": false,
        "il_risk": "yes",
        "exposure": "multi"
      },
      {
        "pool_id": "49717ee2-9808-4288-b76d-e658195b7979",
        "symbol": "USDC-WETH",
        "protocol": "uniswap-v3",
        "chain": "Ethereum",
        "apy": 18.24,
        "apy_base": 18.24,
        "apy_reward": 0,
        "apy_mean_30d": 20.65,
        "tvl_usd": 23656801,
        "risk_grade": "B",
        "risk_score": 78,
        "prediction": "Down",
        "stablecoin": false,
        "il_risk": "yes",
        "exposure": "multi"
      },
      {
        "pool_id": "0d9e7113-c9bc-4fb6-b138-5ca6f6944d6d",
        "symbol": "SDCRV",
        "protocol": "stake-dao",
        "chain": "Ethereum",
        "apy": 17.51,
        "apy_base": 0,
        "apy_reward": 17.51,
        "apy_mean_30d": 16.61,
        "tvl_usd": 26093458,
        "risk_grade": "B",
        "risk_score": 71,
        "prediction": "Down",
        "stablecoin": false,
        "il_risk": "no",
        "exposure": "single"
      }
    ],
    "total_matching": 146,
    "total_scanned": 16642,
    "filters_applied": {
      "chain": "Ethereum",
      "min_tvl": 10000000,
      "min_apy": 3,
      "max_risk": "B",
      "limit": 5
    }
  },
  "confidence": 0.92,
  "data_freshness": "2026-04-12T02:31:10.638795+00:00",
  "tool": "discover_yields",
  "tier": "pro",
  "powered_by": "profitspot.live"
}

What you get: 146 Ethereum pools matched from 16,642 scanned. Each pool comes risk-scored (A–F), with 30-day mean APY and APY prediction direction. Sorted by APY descending.


2. Risk Score — Deep breakdown for a Uniswap V3 pool

risk_score(pool_id="fc9f488e-8183-416f-a61e-4e5c571d4395")
{
  "data": {
    "type": "pool",
    "pool_id": "fc9f488e-8183-416f-a61e-4e5c571d4395",
    "symbol": "WETH-USDT",
    "protocol": "uniswap-v3",
    "chain": "Ethereum",
    "grade": "B",
    "score": 71,
    "summary": "Moderate Risk — Solid fundamentals, minor concerns. Good for diversified portfolios.",
    "factors": {
      "tvl_stability": {
        "score": 20,
        "max": 25,
        "detail": "$73.9M TVL — strong"
      },
      "apy_sustainability": {
        "score": 10,
        "max": 20,
        "detail": "31.5% APY — moderate | Volatility: extreme (CV=1.04)"
      },
      "protocol_reputation": {
        "score": 20,
        "max": 20,
        "detail": "uniswap-v3 — Tier 1 Blue Chip (est. 48+ months)"
      },
      "il_exposure": {
        "score": 8,
        "max": 15,
        "detail": "Medium IL — monitor price divergence"
      },
      "pair_stability": {
        "score": 3,
        "max": 10,
        "detail": "Non-stable pair — volatile"
      },
      "security_audit": {
        "score": 10,
        "max": 10,
        "detail": "Blue chip + deep TVL — high confidence"
      }
    }
  },
  "confidence": 0.88,
  "data_freshness": "2026-04-12T02:31:11.516026+00:00",
  "tool": "risk_score",
  "tier": "pro",
  "powered_by": "profitspot.live"
}

What you get: A composite B grade (71/100) with 6-factor breakdown. This pool scores perfectly on protocol reputation (Uniswap is Tier 1 Blue Chip, 48+ months) and security, but gets dinged on APY volatility (CV=1.04) and non-stablecoin pair risk. An AI agent can read this and explain exactly why a pool got its grade.


3. Impermanent Loss — ETH +50%, USDC −10%

calculate_impermanent_loss(token_a_price_change=50, token_b_price_change=-10, investment_amount=10000)
{
  "data": {
    "token_a_change_pct": 50.0,
    "token_b_change_pct": -10.0,
    "investment_amount": 10000.0,
    "il_percent": 3.1754,
    "il_usd": 381.05,
    "value_if_held": 12000.0,
    "value_in_lp": 11618.95,
    "net_with_fees": {
      "5%": {
        "fees_earned": 500.0,
        "net_gain_usd": 2118.95,
        "net_roi_pct": 21.19
      },
      "10%": {
        "fees_earned": 1000.0,
        "net_gain_usd": 2618.95,
        "net_roi_pct": 26.19
      },
      "20%": {
        "fees_earned": 2000.0,
        "net_gain_usd": 3618.95,
        "net_roi_pct": 36.19
      },
      "50%": {
        "fees_earned": 5000.0,
        "net_gain_usd": 6618.95,
        "net_roi_pct": 66.19
      }
    },
    "interpretation": "Moderate IL — needs decent APY to compensate."
  },
  "confidence": 0.99,
  "data_freshness": "2026-04-12T02:31:11.517000+00:00",
  "tool": "calculate_impermanent_loss",
  "tier": "pro",
  "powered_by": "profitspot.live"
}

What you get: Exact IL of 3.18% ($381) on a $10K position. Your LP is worth $11,619 vs $12,000 if you just held. But here's the key insight — the net_with_fees table shows that even a modest 5% fee APY makes you net +$2,119 (+21.2% ROI). The tool gives your AI agent the full picture to make an informed recommendation.


📖 Tool Reference

All 7 tools available through the MCP protocol:

discover_yields 🟢 Free

Find top yield opportunities across 86 chains. Filter, risk-score, and rank.

Parameter

Type

Default

Description

chain

string | null

null

Filter by chain name (e.g., "Ethereum", "Arbitrum")

min_tvl

float

1000000

Minimum TVL in USD

min_apy

float

0

Minimum APY percentage

max_risk

string

"F"

Maximum risk grade: A, B, C, D, or F (Pro only)

limit

int

20

Max results to return (Free: 10, Pro: 50)


analyze_pool 🔒 Pro

Deep-dive analysis of a single pool: APY trends, risk breakdown, IL scenarios, projected returns.

Parameter

Type

Default

Description

pool_id

string

required

Pool UUID from discover_yields results

Returns: Historical APY (7d/30d/90d averages), trend direction, volatility stdev, full risk grade breakdown, IL estimate for 3 divergence scenarios, and projected returns for $1K/$10K/$100K at 30/90/365 days.


calculate_impermanent_loss 🟢 Always Free

Pure math — exact IL for any 50/50 LP pair. No API call needed.

Parameter

Type

Default

Description

token_a_price_change

float

required

% price change for token A (e.g., 50 for +50%)

token_b_price_change

float

required

% price change for token B (e.g., -20 for −20%)

investment_amount

float

10000

Initial investment in USD

Returns: IL in USD and %, value-if-held vs value-in-LP, net gain/loss at 5%/10%/20%/50% fee APY levels, and a human-readable interpretation.


simulate_profit 🔒 Pro

Monte Carlo profit projection using Ornstein-Uhlenbeck APY model. 1,000 simulations.

Parameter

Type

Default

Description

pool_id

string

required

Pool UUID from discover_yields results

investment

float

10000

Investment amount in USD

days

int

365

Projection horizon (1–730 days)

compound

bool

true

Whether to compound returns daily

Returns: Bearish/Base/Optimistic scenarios with dollar amounts, full percentile distribution (P5–P95), probability of profit, risk factors, and model parameters.


risk_score 🔒 Pro

A–F risk grade for any pool or entire protocol. 6-factor weighted breakdown.

Parameter

Type

Default

Description

pool_id

string | null

null

Score a specific pool

protocol

string | null

null

Score an entire protocol (e.g., "aave-v3")

At least one parameter required. For protocols, scores the top 10 pools by TVL and returns an aggregate grade.

6 Factors: TVL Stability (25pts), APY Sustainability + Volatility (20pts), Protocol Reputation + Age (20pts), IL Exposure (15pts), Pair Stability (10pts), Security/Audit Proxy (10pts).


track_whales 🔒 Pro

Detect large capital movements — smart money entering or exiting pools.

Parameter

Type

Default

Description

chain

string | null

null

Filter by chain

min_tvl_change

float

500000

Minimum TVL change to flag (USD)

timeframe

string

"24h"

Detection window

Returns: List of pools with large TVL changes, direction (inflow/outflow), dollar amount, percentage change, and whether this correlates with APY changes. First call establishes a baseline; subsequent calls detect actual movements.


defi_overview 🟢 Free (basic) / Pro (full)

Big-picture DeFi dashboard across all chains.

Parameter

Type

Default

Description

chain

string | null

null

Filter to a specific chain

Free: Total TVL, top 10 chains, top 10 protocols, pool counts, average APY. Pro: + Average yields by risk grade, stablecoin market cap, hot opportunities (new pools with rising APY + good risk grade).


💰 Pricing

🆓 Free

$0/mo

3 tools, 50 calls/day

No API key needed

⚡ Pro

$29/mo

All 7 tools, 1K calls/day

→ Get Pro

🏢 Enterprise

$99/mo

All 7 tools, 10K calls/day

→ Get Enterprise

Free

Pro ($29/mo)

Enterprise ($99/mo)

discover_yields

✅ 10 results

✅ 50 results + risk filter

✅ 50 results + risk filter

defi_overview

✅ Basic

✅ Full + hot opportunities

✅ Full + hot opportunities

calculate_impermanent_loss

analyze_pool

simulate_profit

risk_score

track_whales

Daily rate limit

50

1,000

10,000

Support

Community

Email

Priority

# Unlock Pro / Enterprise
export PROFITSPOT_API_KEY=ps_live_xxxxxxxxxxxxxxxx

🏠 Self-Hosting

uvx profitspot-mcp

Zero install, runs directly. Requires uv.

Option 2: pip + run

pip install profitspot-mcp
profitspot-mcp                          # stdio (for MCP clients)
python -m profitspot_mcp                # HTTP/SSE on :8080

Option 3: Docker

docker build -t profitspot-mcp .
docker run -p 8080:8080 -e PROFITSPOT_API_KEY=your-key profitspot-mcp

Option 4: From source

git clone https://github.com/profitspot/profitspot-mcp.git
cd profitspot-mcp
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"

# Development with inspector UI
fastmcp dev run_server.py

# Production
fastmcp run run_server.py --transport sse --port 8080

🧠 Under the Hood

Risk Grading — 6-Factor Composite Score

Every pool is scored on 100 points across 6 weighted factors:

Factor

Weight

What It Measures

TVL Stability

25 pts

Liquidity depth, rug risk. $100M+ = full marks.

APY Sustainability

20 pts

Yield level (is it realistic?) + volatility (stdev from historical data).

Protocol Reputation

20 pts

Tier 1/2 classification (Aave, Uniswap, Curve = Tier 1) + estimated age.

IL Exposure

15 pts

Single-asset, stablecoin pair, or volatile LP?

Pair Stability

10 pts

Stablecoin pool detection for minimal price risk.

Security/Audit Proxy

10 pts

Protocol trust signal derived from tier + TVL depth.

Grades: A (85–100) · B (70–84) · C (55–69) · D (40–54) · F (0–39)

Monte Carlo Engine — Not Just APY × Days

The simulate_profit tool runs 1,000 simulations using:

  • Ornstein-Uhlenbeck process — APY reverts toward a long-term mean (high APY pools decay faster)

  • Geometric Brownian Motion — Simulates impermanent loss from price divergence

  • Pool failure events — Probability of pool death based on TVL + APY level

  • APY crash events — Random regime changes where APY drops 60–95%

Returns real dollar amounts across bearish/base/optimistic scenarios.

Data Source

100% powered by DeFiLlama APIs — free, no key, no rate limits. Covers 86+ chains, 6,500+ pools, all major protocols.


📄 License

AGPL-3.0 — Free to use, modify, and distribute. Network use (running as a service) requires sharing your modifications under the same license.



Available Tools

7 tools
analyze_poolA

Deep analysis of a specific DeFi pool.

Returns: full pool data, historical APY trends (7d/30d/90d), TVL history, risk grade with full breakdown (why it got that grade), IL estimate scenarios for LP pools, and projected returns at current APY for $1K/$10K/$100K over 30/90/365 days.

PRO ONLY — requires PROFITSPOT_API_KEY.

ParametersJSON Schema
NameRequiredDescriptionDefault
pool_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes the tool's behavior by detailing the comprehensive return data (e.g., full pool data, APY trends, risk grade breakdown) and explicitly states the PRO requirement and API key need, which are crucial for usage. However, it doesn't mention potential limitations like rate limits or error conditions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose ('Deep analysis of a specific DeFi pool'), followed by a bullet-like list of return values and a clear requirement statement. Every sentence adds value without redundancy, making it efficient and well-structured for quick understanding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (deep analysis with multiple return aspects), no annotations, and an output schema exists (so return values don't need full explanation in the description), the description is mostly complete. It covers the analysis scope, return details, and prerequisites. However, it could benefit from more explicit differentiation from sibling tools to enhance contextual understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage, so the description must compensate. It doesn't explicitly mention the 'pool_id' parameter, but the context ('specific DeFi pool') implies a pool identifier is needed. Since there's only one parameter, the description's focus on analysis scope provides adequate semantic context, though it could be more direct about the parameter's role.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool performs 'Deep analysis of a specific DeFi pool' with a specific verb ('analyze') and resource ('DeFi pool'), distinguishing it from siblings like 'defi_overview' (general overview) or 'risk_score' (single metric). However, it doesn't explicitly differentiate from 'simulate_profit' or 'calculate_impermanent_loss' which might overlap in some functionality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage through context ('PRO ONLY — requires PROFITSPOT_API_KEY') and the detailed return values suggest it's for comprehensive analysis, but it doesn't explicitly state when to use this vs. alternatives like 'defi_overview' for summaries or 'risk_score' for just risk assessment. The PRO requirement is a usage constraint, not a comparative guideline.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

calculate_impermanent_lossA

Calculate exact impermanent loss for a 50/50 LP pair.

Given price change percentages for both tokens, calculates exact IL in USD and percentage. Also returns: value if held vs value in LP, and net gain/loss including trading fees at various APY levels (5%, 10%, 20%, 50%).

ALWAYS FREE — pure math, no API call needed.

ParametersJSON Schema
NameRequiredDescriptionDefault
token_a_price_changeYes
token_b_price_changeYes
investment_amountNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden and does well by disclosing key behavioral traits: it's a calculation tool ('pure math'), has no cost ('ALWAYS FREE'), requires no external calls ('no API call needed'), and describes what it returns (IL in USD/percentage, value comparisons, net gain/loss with fees). It doesn't mention error handling or performance characteristics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Perfectly front-loaded with the core purpose first, followed by supporting details in logical order. Every sentence earns its place: first states what it calculates, then explains inputs, then lists outputs, and ends with implementation details. Zero wasted words in 4 concise sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has an output schema (so return values don't need description), no annotations, and moderate complexity, the description is quite complete. It explains the calculation's purpose, inputs, multiple outputs, and implementation characteristics. The main gap is incomplete parameter documentation given 0% schema coverage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate but only partially does. It explains that parameters are 'price change percentages for both tokens' which clarifies token_a_price_change and token_b_price_change, but doesn't mention the investment_amount parameter or its default value. The description adds some meaning but leaves one parameter undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('calculate exact impermanent loss'), the resource ('for a 50/50 LP pair'), and distinguishes from siblings by focusing on IL calculation rather than analysis, discovery, simulation, or tracking. It provides exact scope details like USD/percentage outputs and comparison metrics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context for evaluating liquidity pool performance with price changes, but doesn't explicitly state when to use this vs alternatives like 'simulate_profit' or 'analyze_pool'. It does specify it's 'ALWAYS FREE — pure math, no API call needed' which provides helpful usage context about cost and implementation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

defi_overviewA

Big-picture DeFi dashboard.

Returns: total DeFi TVL, TVL by top 10 chains, top 10 protocols by TVL, pool counts, and average yields.

FREE tier: basic stats (TVL, chains, protocols). PRO tier: + average yields by risk grade, stablecoin market cap, hot opportunities (new pools with high APY + good risk grade).

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It discloses key behavioral traits: the tool returns specific data types (TVL, chains, protocols, yields), has tiered functionality (FREE vs PRO), and mentions risk grades for yields. However, it doesn't cover important aspects like rate limits, authentication requirements, data freshness, or error conditions. The description adds value but doesn't fully compensate for the lack of annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is perfectly structured and concise. It starts with the core purpose, lists return values clearly, then explains tier differences efficiently. Every sentence adds value: the first defines scope, the second enumerates returns, the third explains tier limitations. No wasted words or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has an output schema (so return values don't need description), no annotations, and simple parameters, the description provides good contextual completeness. It covers purpose, return data types, and tier limitations. The main gap is lack of explicit parameter documentation, but for a single optional parameter tool with output schema, this is reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 1 parameter with 0% description coverage, so the description must compensate. While it doesn't explicitly mention the 'chain' parameter, the description implies filtering capability through the mention of 'TVL by top 10 chains' and the tier structure. For a single optional parameter tool, this provides adequate semantic context, though not explicit parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool provides a 'big-picture DeFi dashboard' with specific metrics like total TVL, TVL by chains/protocols, pool counts, and yields. It distinguishes itself from siblings by offering aggregated overview data rather than specific analysis functions like 'analyze_pool' or 'calculate_impermanent_loss'. However, it doesn't explicitly name the verb (e.g., 'retrieve' or 'fetch') which prevents a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context through the FREE/PRO tier distinction, suggesting this tool is for getting comprehensive DeFi market overviews. However, it doesn't explicitly state when to use this versus alternatives like 'discover_yields' for yield-focused queries or 'track_whales' for whale activity. The tier information provides some guidance but not explicit when/when-not instructions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

discover_yieldsA

Discover top DeFi yield opportunities across 86 chains and 6,500+ pools.

Filter by chain, minimum TVL, minimum APY, and maximum risk grade (A-F). Returns sorted list with pool name, protocol, chain, APY, TVL, risk grade, prediction (stable/up/down), and stablecoin flag.

FREE tier: limited to 10 results, no risk filtering. PRO tier: up to 50 results with full risk grade filtering.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNo
min_tvlNo
min_apyNo
max_riskNoF
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key behavioral traits: the tool returns a sorted list with specific fields, discloses tier limitations (FREE vs PRO with result limits and risk filtering differences), and mentions the scope (86 chains, 6,500+ pools). It lacks details on rate limits, authentication needs, or error handling, but provides substantial operational context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded: the first sentence states the core purpose, followed by filtering details, return values, and tier limitations. Every sentence adds value—no redundancy or fluff—making it efficient and well-structured for quick comprehension.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (5 parameters, no annotations, but with an output schema), the description is complete enough. It covers purpose, parameters, return format, and behavioral constraints (tier differences). The output schema likely details the return structure, so the description need not exhaustively explain return values, and it adequately addresses gaps from missing annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate fully. It does so by explaining all 5 parameters' semantics: chain filtering, minimum TVL, minimum APY, maximum risk grade (with scale A-F), and implicitly limit through tier details. It adds meaning beyond the schema by clarifying risk grade values, tier impacts on filtering, and default behaviors (e.g., FREE tier limitations).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verbs ('discover top DeFi yield opportunities') and resources ('across 86 chains and 6,500+ pools'), distinguishing it from siblings like analyze_pool (specific analysis) or defi_overview (general overview). It explicitly defines the scope as discovery of opportunities rather than analysis or simulation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool—for discovering yield opportunities with filtering capabilities. It implicitly distinguishes from siblings by focusing on discovery rather than analysis (analyze_pool), calculation (calculate_impermanent_loss), or simulation (simulate_profit). However, it does not explicitly state when NOT to use it or name specific alternatives among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

risk_scoreA

Get risk grade (A-F) for a specific pool or entire protocol.

Returns overall grade, breakdown scores for: TVL stability, APY sustainability + volatility, protocol reputation + age, IL exposure, pair stability, and security/audit proxy. Each sub-score explained in plain English.

For protocols: scores the top pools and returns an aggregate grade.

PRO ONLY — requires PROFITSPOT_API_KEY.

ParametersJSON Schema
NameRequiredDescriptionDefault
pool_idNo
protocolNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden and does well: it discloses the API key requirement (auth needs), explains what gets returned (overall grade + breakdown scores with explanations), and describes different behaviors for pools vs protocols. It doesn't mention rate limits or error conditions, but provides substantial behavioral context beyond basic functionality.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently structured: first sentence states core purpose, second describes return format, third explains protocol-specific behavior, fourth notes API requirement. Every sentence adds value with zero wasted words, and key information (purpose and PRO requirement) is front-loaded appropriately.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (risk scoring with multiple dimensions), no annotations, but with an output schema present, the description is mostly complete. It explains the scoring components, different behaviors for pools vs protocols, and authentication requirements. The output schema will handle return value details, so the description appropriately focuses on behavioral context. It could mention error cases or limitations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage for 2 parameters, the description compensates well by explaining that 'pool_id' is for 'specific pool' and 'protocol' is for 'entire protocol', and that for protocols it 'scores the top pools and returns an aggregate grade'. This adds meaningful semantic context about how each parameter affects the tool's behavior, though it doesn't specify format requirements for these string parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool 'Get risk grade (A-F) for a specific pool or entire protocol' with specific verb ('Get'), resource ('risk grade'), and scope ('pool or entire protocol'). It distinguishes from siblings like 'analyze_pool' or 'defi_overview' by focusing specifically on risk scoring with letter grades and detailed breakdown components.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context: use for risk assessment of pools or protocols, with different behaviors for each (aggregate grade for protocols). It mentions 'PRO ONLY — requires PROFITSPOT_API_KEY' as a prerequisite. However, it doesn't explicitly state when NOT to use it or name specific alternatives among the sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

simulate_profitA

Project returns for a specific pool using Monte Carlo simulation.

Uses Ornstein-Uhlenbeck APY model that accounts for: APY mean reversion, APY crash events, impermanent loss via geometric Brownian motion, pool failure probability, and gas costs. Runs 1,000 simulations.

Returns optimistic/base/bearish scenarios with dollar amounts, percentiles, probability of profit, and risk factors.

PRO ONLY — requires PROFITSPOT_API_KEY.

ParametersJSON Schema
NameRequiredDescriptionDefault
pool_idYes
investmentNo
daysNo
compoundNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden and does well by disclosing key behavioral traits: it describes the Ornstein-Uhlenbeck APY model components, mentions it runs 1,000 simulations, specifies the return format (optimistic/base/bearish scenarios with detailed metrics), and notes the PRO requirement and API key need. It doesn't mention rate limits or error handling, but covers core operational behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded: the first sentence states the core purpose, followed by model details, simulation count, return format, and requirements. Every sentence adds value without redundancy, making it efficient and well-structured for quick understanding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (Monte Carlo simulation with multiple model factors), no annotations, and an output schema (which handles return values), the description is largely complete. It covers purpose, methodology, scale, output structure, and prerequisites. A minor gap is lack of explicit error cases or performance characteristics, but it provides sufficient context for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. While it doesn't explicitly list parameters, it implies their semantics through context: 'pool_id' is referenced as 'specific pool', 'investment' and 'days' are implied by 'Project returns' and simulation duration, and 'compound' relates to return calculations. This adds meaningful context beyond the bare schema, though not exhaustive parameter details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb ('Project returns') and resource ('for a specific pool'), distinguishing it from siblings like 'analyze_pool' or 'risk_score' by specifying Monte Carlo simulation methodology. It explicitly mentions what the tool does beyond basic analysis.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool (projecting returns via simulation) and mentions 'PRO ONLY — requires PROFITSPOT_API_KEY' as a prerequisite. However, it doesn't explicitly state when not to use it or name specific alternatives among the sibling tools, though the simulation focus implies differentiation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

track_whalesA

Detect large capital movements (whale activity) across DeFi pools.

Finds pools where TVL changed by >$500K since last snapshot. Reports: pool, direction (inflow/outflow), amount, percentage change, and whether this correlates with APY changes.

First call establishes a baseline; subsequent calls detect actual changes. Also uses APY-change heuristics as a proxy for whale activity.

PRO ONLY — requires PROFITSPOT_API_KEY.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNo
min_tvl_changeNo
timeframeNo24h

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key traits: it's a detection tool (implies read-only), requires a baseline establishment, uses APY-change heuristics, and has a PRO requirement with API key. It also mentions the reporting format (pool, direction, amount, etc.), adding valuable context beyond basic functionality.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured and front-loaded, starting with the core purpose. Each sentence adds value: detection criteria, reporting details, usage sequence, heuristics, and requirements. It avoids redundancy, though it could be slightly more concise by integrating some details more tightly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (detection with heuristics and baselines), no annotations, and an output schema (which handles return values), the description is fairly complete. It covers purpose, usage flow, behavioral traits, and requirements. However, it lacks explicit error handling or rate limit details, which could enhance completeness for a PRO tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 3 parameters with 0% description coverage, so the description must compensate. It mentions 'TVL changed by >$500K' (mapping to min_tvl_change default) and implies time-based detection, but does not explicitly explain 'chain' or 'timeframe' parameters. The description adds some meaning (e.g., threshold and heuristic context) but does not fully cover all parameters, resulting in a baseline score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Detect large capital movements (whale activity) across DeFi pools.' It specifies the exact threshold (>$500K TVL change) and distinguishes itself from siblings like 'analyze_pool' or 'defi_overview' by focusing on capital flow detection rather than general analysis or overview.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context on when to use this tool: for detecting whale activity based on TVL changes and APY correlations. It mentions 'First call establishes a baseline; subsequent calls detect actual changes,' guiding sequential usage. However, it does not explicitly state when NOT to use it or name alternatives among siblings, though the focus on capital movements implies differentiation from tools like 'calculate_impermanent_loss' or 'simulate_profit.'

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 7 tool updatesv1.1.1
    • First observedanalyze_pool
    • First observedcalculate_impermanent_loss
    • First observeddefi_overview
    • First observeddiscover_yields
    • First observedrisk_score
    • First observedsimulate_profit
    • First observedtrack_whales

TDQS

A4.2/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose with no overlap: analyze_pool provides deep pool analysis, calculate_impermanent_loss is a pure math calculator, defi_overview offers a dashboard view, discover_yields enables filtered discovery, risk_score assesses risk, simulate_profit runs Monte Carlo simulations, and track_whales monitors capital movements. The descriptions reinforce these unique functions, eliminating any ambiguity.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case: analyze_pool, calculate_impermanent_loss, defi_overview, discover_yields, risk_score, simulate_profit, and track_whales. This uniformity makes the tool set predictable and easy to navigate, with no deviations in naming conventions.

Tool Count5/5

With 7 tools, the count is well-scoped for a DeFi analytics server, covering key areas like analysis, calculation, discovery, risk assessment, simulation, and monitoring. Each tool earns its place by addressing a specific aspect of DeFi yield optimization without redundancy or bloat.

Completeness4/5

The tool set provides comprehensive coverage for DeFi yield analysis, including analysis, risk scoring, simulation, and monitoring. Minor gaps exist, such as the lack of tools for managing positions (e.g., stake/unstake) or integrating with wallets, but core workflows for research and decision-making are fully supported.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    F
    maintenance
    MCP server for DeFi execution — lets AI agents swap, provide liquidity, lend, bridge, and run yield strategies across 22 chains in a single transaction. 7 tools for token discovery, portfolio analysis, quoting, and execution via the Haiku API.
    7
    83
    2
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    An MCP server that provides AI agents with real-time access to DEX liquidity pool data, enabling smarter trading, analytics, and automated strategies.
    10
    1
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/omniologynow-rgb/profitspot-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server