getplexa について
@getplexa/mcpは、トレーディングエージェント向けのクライアント型MCPサーバーで、実行可能なスワップ見積もりとオンチェーンの取引前チェックを返します。呼び出しごとのUSDC決済を行い、ウォレットキーはクライアント側に保持します。
主な機能
- 01実行可能なスワップ見積もりと価格影響
- 02オンチェーンのトラップ検査とリスクデータ
- 03x402による呼び出しごとのUSDC決済
- 04ウォレット認証のローカル署名
- 05失敗時の明確なエラー通知
活用シーン
- 01指定サイズでの約定価格を見積もる
- 02トークンに立証可能な取引上の罠がないか調べる
- 03取引前にリスクと流動性のデータを確認する
MCP 対応
MCPクライアントに`plexa_quote`と`plexa_pretrade_check`を提供します。Plexaの公開APIを呼び出し、USDC認証をローカルで署名してx402決済を処理します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @getplexa/mcpAGENT_WALLET_KEYシークレットFunded wallet private key — pays Plexa per call (x402 USDC) and signs locally. Plexa never receives it. Use a dedicated low-balance wallet.PLEXA_BASE_URLPlexa public API base URL (default https://api.getplexa.com).CHAINChain the wallet is funded on / quotes default to. Accepted: base | polygon | matic | arbitrum | arbitrum-one | arb | eip155:8453 | eip155:137 | eip155:42161 (default base). pretrade_check is Base-only today.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
@getplexa/mcp — Plexa MCP サーバー
あらゆる MCP クライアント(Claude Desktop、Cursor、独自のエージェント)に、Plexa が提供する 2 つの経済的安全性ツールを提供する Model Context Protocol サーバーです。Plexa は、トレーディングエージェント向けの x402 ネイティブな経済的安全性レイヤーです。アカウント登録は不要で、呼び出しごとに USDC で支払います。
| ツール | 呼び出し先 | 価格 | 戻り値 |
|---|---|---|---|
plexa_quote | POST /v1/quote | $0.02 | サイズに応じた約定可能な約定価格(ミッド価格/スポット価格ではありません)、価格インパクト(bps)、実現可能な流動性の深さ、レッグごとのルート、最悪ケースのスリッページ、信頼度を返します。Base、Polygon、Arbitrum の正規オンチェーン見積もりコントラクトから取得します。 |
plexa_pretrade_check | POST /v1/pretrade/check | $0.05 | 2 段階の情報を返します。verdict:リストされたトラップがそのブロックのオンチェーンで立証された場合に限り avoid となります(売却先となるプールがない・カウンター資産のプールが取引サイズの 5% 未満であり、そのプールは売却で得られる金額の絶対的な上限である・トークン独自の取引ゲートがオフ)。それ以外は clear です。clear は立証可能なトラップがないという意味であり、「安全」という意味ではありません。risk_profile:経過時間、保有者の集中度、流動性の深さ(exitLiquidityUsd を含む)、オラクルの利用可否、送金制限を返します。評価ではなく、判断材料となるデータとして提供されます。さらに、理由、信頼度、約定可能な見積もりも返します(現時点では Base のみ)。 |
これは公開 API の薄いクライアント(https://api.getplexa.com)です。402 に自動的に支払い、ウォレットを使って USDC の認可にローカルで署名します。秘密鍵を参照することはありません。流動性エンジンは API の背後で稼働します。
理由
一般的なウォレットガードが答えるのは、「このトランザクションに署名できますか?」という質問です。しかし、自動取引に本当に必要な経済的な質問には答えられません。「このサイズでスワップすると実際にいくらで約定するのか、またこのトークンはトラップ(ラグ/ハニーポット/流動性不足)なのか?」 Plexa はその両方に答えます。このパッケージにより、MCP 対応エージェントからツールを呼び出すだけで、これらの回答を得られます。
インストール
インストールは不要です。npx を使って MCP クライアントからパッケージを指定してください。必要に応じて取得・実行されます。
Claude Desktop
claude_desktop_config.json に追加します(Settings → Developer → Edit Config)。
{
"mcpServers": {
"plexa": {
"command": "npx",
"args": ["-y", "@getplexa/mcp"],
"env": {
"PLEXA_BASE_URL": "https://api.getplexa.com",
"AGENT_WALLET_KEY": "0x<your funded wallet private key>",
"CHAIN": "base"
}
}
}
}
Cursor
~/.cursor/mcp.json に追加します(または Settings → MCP → Add)。上記と同じ mcpServers ブロックを使います。
クライアントを再起動してください。plexa_quote と plexa_pretrade_check の各ツールが利用可能になっているはずです。
設定
設定はすべて環境変数で行います(MCP 設定の env ブロックで指定します)。
| 変数 | デフォルト | 備考 |
|---|---|---|
PLEXA_BASE_URL | https://api.getplexa.com | 公開 API の URL です。実際の URL であり、秘密情報ではありません。 |
AGENT_WALLET_KEY | (なし) | 支払いに必須です。 資金を入れたウォレットの秘密鍵です。呼び出しごとに支払い、ローカルで署名します。Plexa がこの鍵を受け取ることはありません。この変数を設定しない場合、ツールは明確な 402 を返します。 |
CHAIN | base | base | polygon | arbitrum(エイリアス matic、arb、arbitrum-one と CAIP-2 の eip155:8453/137/42161 も使用できます。大文字・小文字は正規化されます)。ウォレットに資金を入れているチェーンです。見積もりと支払いでは、デフォルトでこのチェーンを使用します。plexa_pretrade_check は現時点では Base のみ対応しており、他のチェーンでは 422 を返します。 |
資金の用意。 CHAIN 上に少額の USDC を入れた残高の少ない専用ウォレットを使い、呼び出しごとに支払ってください(見積もりは $0.02、チェックは $0.05)。ウォレットはリクエストごとに EIP-3009 の USDC 認可に署名します。Plexa はオンチェーンで支払いが確定した後にのみ結果を返します(支払い確定後に提供)。
秘密鍵は機密情報です。MCP クライアントにシークレットストレージがある場合は、それを使用してください。秘密鍵をコミットしないでください。
x402(MCP)での支払いの仕組み
MCP にはネイティブの決済機能がありません。このサーバーは x402 クライアントとして動作します。fetch をラップし、Plexa が 402 Payment Required を返すと、支払い要件を読み取り、ウォレットで USDC の承認にローカルで署名してから、再試行します。マシンから外部に送信されるのは署名済みの承認情報だけです。秘密鍵が送信されることはありません。支払いは CHAIN 上で行われるため、1つのチェーン上にある1つのウォレットに資金を用意します。
AGENT_WALLET_KEY が設定されていない場合、ツールは資金を入れたウォレットが必要だと説明する、正直な 402 エラーを返します。結果を捏造することはありません。
例
設定が完了したら、エージェントに自然に話しかけるだけで、ツールを呼び出します。
「Base でこのトークン
0x…を買う前に、Plexa でチェックして、500ドル分の執行可能な見積もりを取得してください。」
エージェントは plexa_pretrade_check(判定結果と理由)と plexa_quote(500ドル未満の執行可能価格)を呼び出し、USDC で0.05ドル+0.02ドルを自動的に支払って、実際のオンチェーンの経済状況を回答します。
返される内容
verdict/triggers/risk_profile/liquidityCoverage に加えて、すべての取引前レスポンスには6つのコンテキストブロックが含まれます。ライブ取得、WETH、2026-08-20T14:46:29Z、Base ブロック 50223921 — 各ブロックに含まれる note 文字列は長いため、ここでは切り詰めています。それ以外は変更していません。
{
"identity": {
"name": "Wrapped Ether",
"symbol": "WETH",
"decimals": 18,
"totalSupplyRaw": "239296586519181917702210",
"totalSupply": 239296.58651918193
},
"valuation": {
"fdvExecutableUsd": 543916397.6557496,
"basis": "totalSupply(this chain) x executablePrice(at sizeUSD)"
},
"ownership": {
"ownerAddress": null,
"ownerRenounced": null,
"isMintable": false,
"creatorAddress": "0xe8a3ecea7d6a688ee903173024225357ddf29e93",
"creatorBalance": 0.000289172466091074,
"creatorSharePct": 1.208427041511075e-07
},
"dormancy": {
"topHolderIdleDays": null,
"lastTopHolderMoveBlock": null,
"headBlock": null
},
"market": {
"priceUsdSpot": 2277.76,
"volume24hUsd": 551324354.8699999,
"marketCapUsd": 542587444,
"holderCount": 5223863
},
"sources": {
"*": "measured",
"risk_profile.concentration": "unavailable:holder-axis-produced-nothing",
"flags.F_CONC": "unavailable:holder-axis-produced-nothing",
"valuation": "derived:identity.totalSupply*quote.executablePrice",
"dormancy": "unavailable:holder-axis-produced-no-block",
"ownership.creatorAddress": "derived:sender-of-first-transfer",
"ownership.isMintable": "derived:mint-selector-in-bytecode",
"market": "vendor:dexscreener+goplus",
"market.priceUsdSpot": "vendor:dexscreener",
"market.volume24hUsd": "vendor:dexscreener",
"market.marketCapUsd": "vendor:dexscreener",
"market.holderCount": "vendor:goplus"
}
}
🔴 sources は、誰が何を述べたかを示すマップです。 measured — この呼び出しでチェーンから読み取った、私たちの測定値です。derived:<formula> — 同じレスポンスの他のフィールドから計算した、私たちの派生値です。vendor:<name> — 他者の数値を、その提供元のものとして再公開し、署名した値です。unavailable:<reason> — 値がなく、その理由も示されています。重要なのは最後の点です。欠落の理由を明示した数値は、問題のない結果だと誤認されることがありません。
重複して見えても、実際には異なる2つの数値があります。valuation.fdvExecutableUsd は、このチェーン上の供給量を、注文サイズで執行される価格で評価したものです。market.marketCapUsd は、ベンダーが示すグローバルな数値です。ブリッジされたトークンでは、私たちの数値が正当に小さくなることがあります。
0.2.0 での変更点
フィールドの形ではなく、意味が変わりました。 risk_profile.liquidity.exitLiquidityUsd は以前、直接プールにあるカウンターアセットを示していました。2026-09-20 以降は、ポジションを売却したときに得られる金額を示します。サーバーは、回答で価格を算出したそのポジションの売却を見積もり、最も有利な経路で得られる金額を報告します(経路ごとの金額を合算することはありません)。
以前の数値の保存先: liquidityCoverage.exitPoolInventoryUsd — 以前と同じ数値が、専用のフィールド名で保存されています。liquidityCoverage.exitPotBasis は、主要フィールドの数値がどの種類かを示します。position-sale(実測した売却益)、second-hop(カウンターアセットを経由する経路)、pool-inventory(この呼び出しでは売却価格を見積もれなかったため、20.09 より前の意味にフォールバック)。
重要な理由: 2026-09-20 に SOGNI で実測したところ、在庫は $113,968 でしたが、$5,000 のポジションを売却して得られる金額は $4,571 でした。以前の数値をポジションサイズと比較していたクライアントは、ポジションサイズの 8.6% だけ売却額を過大評価していました。コードで min(exitLiquidityUsd, size) を使用していれば、今後は実際の数値が得られます。以前の意味に依存していた場合は、代わりに exitPoolInventoryUsd を参照してください。
このリリースには、以下も含まれます。
liquidityCoverage.exitLadderScopeとliquidityCoverage.exitReachRoadは、各売却額の背後にある経路を示します。そのため、exitLadderStatus: "unsellable"が「このトークンは売却できない」という意味に誤解されることはなくなります。これは Uniswap v4 の直接プールのみを表し、一方で主要フィールドの数値は別の場所でvia <asset>として測定されている場合があります。2026-09-22 に Base で実測したところ、31 の v4 プールではunsellableでしたが、別の取引所を経由してポジションを $4,735.82 で売却できました。- v4 の売却ラダーが実行された場合、
exitPoolInventoryUsdは無条件の上限ではなくなります。この数値のうち v4 に該当する部分がラダーの到達範囲となり、2 段階の売却における 2 段目の金額が含まれることはありません。 - 一部の Uniswap v4 フックは、呼び出し元が利用できるガス量から手数料を設定するため、価格は実際の取引で使用されるガス上限を使って測定されます。
- このパッケージ内の契約文字列(価格、パス、しきい値、判定語彙、上記 2 つの注記)は、Plexa サーバーのソースから生成されるようになりました。そのため、API との不一致が生じることはありません。
フィールドの削除やレスポンス形式の変更はありません。公開済みフィールドの意味が変わったため、マイナーバージョンを更新しました。
注記
- クライアント専用です。 HTTPS 経由で公開 Plexa API と通信します。このパッケージにはサービスの内部実装は含まれません。
- 失敗を隠しません。 2xx 以外のレスポンスやネットワークエラーは、明確なツールエラーになります。正常に見える空の結果にはなりません。エージェントは失敗と成功を常に区別できます。
- 公式の
@modelcontextprotocol/sdkと x402 を基盤に構築されています。
ライセンス
MIT — LICENSE を参照してください。
お問い合わせ:[email protected] · getplexa.com
情報提供を目的としたオンチェーンデータとヒューリスティックな経済シグナルであり、金融アドバイスではありません。警告がないことは、安全を保証するものではありません。取引前に必ずご自身で確認してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。