unisafe LP insight
Read-only Uniswap v4 LP manager data: position history, fees, operators, best pool. No keys.
使うべきか
品質と安全性
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"insight": {
"url": "https://unisafe.envelop.is/mcp"
}
}
}リモートエンドポイント
https://unisafe.envelop.is/mcpstreamable-httpできること
ツール一覧
ツール(4)
🟢get_position_history(chainId, manager, salt)
Every position of a manager, or one position by salt: when it opened, its pool, its lifetime fees and its events. Answered from the index, falling back to the Envelop history API and then to a log scan; the answer says which one served it and how current that source is.
入力スキーマ
{
"type": "object",
"properties": {
"chainId": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "EVM chain id, e.g. 42161 for Arbitrum One"
},
"manager": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "Manager NFT contract address"
},
"salt": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{64}$",
"description": "Position key"
}
},
"required": [
"chainId",
"manager"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_operators(chainId, manager)
Addresses currently authorised to rebalance a manager's positions. They can never withdraw — that is enforced by the contract. On the scan path the answer may be `partial`, which means a revoked operator could still be listed; from the index it never is.
入力スキーマ
{
"type": "object",
"properties": {
"chainId": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "EVM chain id, e.g. 42161 for Arbitrum One"
},
"manager": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "Manager NFT contract address"
}
},
"required": [
"chainId",
"manager"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢rank_pools(chainId, manager)
Fee APR over the last complete day for each pool this manager is configured with, best first. Only the manager's own pools are candidates: a move can target a pool only if the owner fixed it into the set when the manager was created. Pools that could not be scored are listed separately with the reason — a pool missing from the ranking is not a bad pool.
入力スキーマ
{
"type": "object",
"properties": {
"chainId": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "EVM chain id, e.g. 42161 for Arbitrum One"
},
"manager": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "Manager NFT contract address"
}
},
"required": [
"chainId",
"manager"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢suggest_move(chainId, manager, salt, minGainPct)
Compares the position's current pool against the rest of the manager's set and, when the gap is worth it, returns the numbers for a move: destination pool, ticks, and how much liquidity. It returns NUMBERS, never calldata — pass them to the local envelop-mcp-lp server's propose_move, which re-derives each one against chain state and puts it through the policy and the price-oracle guard before anything is signed. The full ranking and the caveats come back with every answer so the suggestion can be disagreed with.
入力スキーマ
{
"type": "object",
"properties": {
"chainId": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "EVM chain id, e.g. 42161 for Arbitrum One"
},
"manager": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{40}$",
"description": "Manager NFT contract address"
},
"salt": {
"type": "string",
"pattern": "^0x[0-9a-fA-F]{64}$",
"description": "Position key"
},
"minGainPct": {
"description": "Minimum APR advantage, in percentage points, before moving is suggested. Default 1.",
"type": "number",
"minimum": 0
}
},
"required": [
"chainId",
"manager",
"salt"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}コミュニティ
エビデンス