LPSignal

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

使うべきか

品質と安全性

A
説明の品質
100%
スキーマの完全性
87%
命名の品質
91%
ポイズニングのリスク
100%
権限の一致
100%
プロトコルへの準拠
100%

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~1,547トークン数(ツール定義)
~1.3 KB一般的なレスポンスサイズ
注意への影響は中程度(128k コンテキストの 1.21%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

{
  "mcpServers": {
    "lpsignal": {
      "url": "https://api.lpsignal.app/v1/mcp"
    }
  }
}

リモートエンドポイント

https://api.lpsignal.app/v1/mcpstreamable-http
https://api.lpsignal.app/v1/mcp/publicstreamable-http

できること

ツール一覧

ツール(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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 7 件
認証が必要バージョンは記録されていません—