LPSignal
Uniswap/PancakeSwap/Aerodrome LP pools and price ranges ranked by net APR after impermanent loss
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"lpsignal": {
"url": "https://api.lpsignal.app/v1/mcp"
}
}
}Remote-Endpunkte
https://api.lpsignal.app/v1/mcpstreamable-httphttps://api.lpsignal.app/v1/mcp/publicstreamable-httpWas es kann
Tool-Inventar
Tools (7)
🟢list_pools(chain, class, window, sort, order, ...)
Active pools ranked by the net APR (fees − impermanent loss) of their best price range over a window (default 7 days), with that range's ticks, TVL, 24h volume and the pool-level fee APR DEX sites show. Filter by chain and pool class.
Eingabe-Schema
{
"type": "object",
"properties": {
"chain": {
"type": "string",
"enum": [
"ethereum",
"bsc",
"base",
"arbitrum",
"optimism",
"polygon",
"robinhood"
]
},
"class": {
"type": "string",
"enum": [
"stable",
"correlated",
"volatile"
],
"description": "stable = stablecoin pairs, correlated = e.g. ETH/stETH, volatile = everything else"
},
"window": {
"type": "integer",
"enum": [
1,
24,
168,
720
],
"description": "backtest window in hours (default 168 = 7 days)"
},
"sort": {
"type": "string",
"enum": [
"netApr",
"feeApr",
"ilApr",
"inRange",
"tvl",
"volume24h",
"fees24h",
"poolApr"
],
"description": "default netApr"
},
"order": {
"type": "string",
"enum": [
"asc",
"desc"
]
},
"minTvlUsd": {
"type": "number",
"description": "default 10000"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"description": "default 10"
},
"offset": {
"type": "integer",
"minimum": 0
}
},
"required": [],
"additionalProperties": false
}🟢find_pair_pools(tokenA, tokenB, chain)
Every listed pool of a token pair across chains, DEXes and fee tiers (TVL ≥ $10k), each with its best range by 7-day net APR, best first — a small pool can rank first, so weigh tvlUsd. Symbols are matched case-insensitively, in either order.
Eingabe-Schema
{
"type": "object",
"properties": {
"tokenA": {
"type": "string",
"description": "e.g. USDC"
},
"tokenB": {
"type": "string",
"description": "e.g. WETH"
},
"chain": {
"type": "string",
"enum": [
"ethereum",
"bsc",
"base",
"arbitrum",
"optimism",
"polygon",
"robinhood"
]
}
},
"required": [
"tokenA",
"tokenB"
],
"additionalProperties": false
}🟢get_pool(chain, address)
A pool's details and its backtest of every range it is evaluated on (fee APR, impermanent loss, net APR, time in range, the exact ticks) over 1 hour, 24 hours, 7 days and 30 days.
Eingabe-Schema
{
"type": "object",
"properties": {
"chain": {
"type": "string",
"enum": [
"ethereum",
"bsc",
"base",
"arbitrum",
"optimism",
"polygon",
"robinhood"
]
},
"address": {
"type": "string",
"description": "pool contract address (0x + 40 hex), or a Uniswap v4 pool id (0x + 64 hex)"
}
},
"required": [
"chain",
"address"
],
"additionalProperties": false
}🟢backtest_range(chain, address, rangePct, days)
Backtest a symmetric range of ±rangePct% around the price at the window's start (0 = full range) on a pool over the last `days` days: fee APR, impermanent loss, net APR, time in range, the ticks.
Eingabe-Schema
{
"type": "object",
"properties": {
"chain": {
"type": "string",
"enum": [
"ethereum",
"bsc",
"base",
"arbitrum",
"optimism",
"polygon",
"robinhood"
]
},
"address": {
"type": "string",
"description": "pool contract address (0x + 40 hex), or a Uniswap v4 pool id (0x + 64 hex)"
},
"rangePct": {
"type": "number",
"minimum": 0,
"maximum": 50,
"description": "half-width in percent; 0 = full range"
},
"days": {
"type": "integer",
"minimum": 1,
"maximum": 30,
"description": "default 7"
}
},
"required": [
"chain",
"address",
"rangePct"
],
"additionalProperties": false
}🟢list_signals(kinds, source, limit, before)
The newest signals: opportunities (net_apr: a range paying a high net APR over 7 days and still today; burst: the last hour; hot_pool: a big pool's fee APR jumping) and risk alerts (depeg, tvl_outflow), with the exact ticks and, once scored, the realised outcome. Each says access: live, or delayed_24h (opportunities on a free plan or without sign-in appear 24 hours after they fired). Page back with before.
Eingabe-Schema
{
"type": "object",
"properties": {
"kinds": {
"type": "array",
"items": {
"type": "string",
"enum": [
"net_apr",
"burst",
"hot_pool",
"tvl_outflow",
"depeg",
"smart_lp"
]
}
},
"source": {
"type": "string",
"enum": [
"default",
"rules",
"subscribed"
],
"description": "with a key: rules = your custom-rule matches, subscribed = what your push channels deliver"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"description": "default 10"
},
"before": {
"type": "string",
"description": "page: signals with an id below this"
}
},
"required": [],
"additionalProperties": false
}🟢signal_track_record(kind, days)
How past opportunity signals really did: each is backtested again on its exact ticks after the fact (7 days for net_apr, 24 hours for burst). Counts, share positive, median APR at the signal vs realised, the worst.
Eingabe-Schema
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"net_apr",
"burst"
],
"description": "default net_apr"
},
"days": {
"type": "integer",
"minimum": 7,
"maximum": 365,
"description": "signals fired in the last N days (default 30)"
}
},
"required": [],
"additionalProperties": false
}🟢smart_lp_leaderboard(windowDays, chain, limit)
Wallets ranked by what their closed LP positions made versus simply holding the tokens. Without a Pro key: the top 10, addresses masked.
Eingabe-Schema
{
"type": "object",
"properties": {
"windowDays": {
"type": "integer",
"enum": [
30,
90
]
},
"chain": {
"type": "string",
"enum": [
"ethereum",
"bsc",
"base",
"arbitrum",
"optimism",
"polygon",
"robinhood"
]
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"description": "default 10"
}
},
"required": [],
"additionalProperties": false
}Community
Nachweis