LPSignal

Uniswap/PancakeSwap/Aerodrome LP pools and price ranges ranked by net APR after impermanent loss

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
100%
Vollständigkeit des Schemas
87%
Qualität der Benennung
91%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~1,547Tokens (Tool-Definitionen)
~1.3 KBTypische Antwortgröße
Mittlere Auswirkung auf die Aufmerksamkeit (1.21% von 128k Kontext)

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-http
https://api.lpsignal.app/v1/mcp/publicstreamable-http

Was es kann

Tool-Inventar

Tools (7)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢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

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet7 Tools
Authentifizierung erforderlichVersion nicht aufgezeichnet—