Getplexa

com.getplexa由 getplexa.com 發布v0.2.0更新於 Oct 26, 2026

Economic-safety tools for trading agents: executable quote + rug/honeypot pretrade check via x402.

概覽

AI 產生的概覽

Plexa MCP 為交易代理提供可執行的成交報價與防跑路/蜜罐交易前檢查,每次呼叫以 USDC 透過 x402 付費。

可以做什麼
  • 依指定規模取得代幣的可執行成交價,包含價格衝擊、可實現深度、路由分段、最壞滑價與信心度
  • 執行交易前檢查,回傳判定(僅在鏈上證實存在陷阱時為 avoid,否則為 clear)、原因、信心度,以及涵蓋代幣年齡、持倉集中度、流動性深度、出場流動性、預言機可用性與轉帳限制的風險輪廓
  • 讀取隨附的脈絡區塊(身分、估值、所有權、休眠、市場),並透過來源對照標明哪些數字是實測、推導、第三方提供或不可用
  • 從設定的錢包自動以 USDC 支付每次呼叫,授權在本地簽署
適用情境
當代理需要在 Base、Polygon 或 Arbitrum 上為自動代幣交易決定規模或先行查核時使用:某筆兌換在指定規模下實際成交價為何,以及買入前該代幣是否存在可證實的跑路、蜜罐或流動性稀薄陷阱。
執行需求
透過 npx 以 stdio 本地程序執行(需要 Node.js)。需在 AGENT_WALLET_KEY 提供已入金錢包私鑰,並在所選鏈上持有 USDC;CHAIN 預設 base,也接受 polygon 或 arbitrum。PLEXA_BASE_URL 預設指向 Plexa 公開 API。需要對外 HTTPS 連線,每次呼叫花費 USDC(報價 0.02 美元,檢查 0.05 美元)。
安裝前請注意
AGENT_WALLET_KEY 是簽署真實 USDC 付款的私鑰;請使用專用的低餘額錢包,存放在用戶端的密鑰儲存中,切勿提交進程式庫。每次工具呼叫都會花錢,且須鏈上結算後才回傳結果。clear 判定只代表沒有可證實的陷阱,並不表示代幣安全。交易前檢查目前僅支援 Base。結果含第三方來源的數字,請查看來源對照。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Getplexa,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

@getplexa/mcp — Plexa MCP server

[license: MIT] [chains: Base · Polygon · Arbitrum] [x402] [MCP]

A Model Context Protocol server that gives any MCP client (Claude Desktop, Cursor, your own agent) two economic-safety tools from Plexa — the x402-native economic-safety layer for trading agents — paid per call in USDC, no accounts:

ToolWrapsPriceReturns
plexa_quotePOST /v1/quote$0.02Executable fill price under size (not mid/spot), price impact (bps), realizable depth, per-leg route, worst-case slippage, confidence — from canonical on-chain quoters on Base, Polygon & Arbitrum.
plexa_pretrade_checkPOST /v1/pretrade/check$0.05Two levels. verdict: avoid only when a listed trap is proven on-chain at that block (no pool to exit into · the counter-asset pot is under 5% of your size, and the pot is a hard upper bound on what a sale can return · the token's own trading gate is off), clear otherwise — clear means no provable trap, not "safe". risk_profile: age, holder concentration, liquidity depth incl. exitLiquidityUsd, oracle availability, transfer limits — as data you weigh, not as a rating. Plus reasons, confidence and an executable quote. (Base-only today.)

It is a thin client of the public API (https://api.getplexa.com) — it pays a 402 automatically, signs the USDC authorization locally with your wallet, and never sees your key. The liquidity engine stays behind the API.


Why

A generic wallet guard answers "can I sign this transaction?". It can't answer the economic question an automated trader actually needs: what price will this swap really fill at under my size, and is this token a trap (rug / honeypot / thin liquidity)? Plexa answers both. This package puts those answers one tool-call away inside any MCP-speaking agent.


Install

Nothing to install — point your MCP client at the package via npx. It is fetched and run on demand.

Claude Desktop

Add to claude_desktop_config.json (Settings → Developer → Edit Config):

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

Add to ~/.cursor/mcp.json (or Settings → MCP → Add) — the same mcpServers block as above.

Restart the client. You should see the plexa_quote and plexa_pretrade_check tools available.


Configuration

All configuration is via environment variables (set in the env block of your MCP config):

VariableDefaultNotes
PLEXA_BASE_URLhttps://api.getplexa.comThe public API. The real URL — not a secret.
AGENT_WALLET_KEY(none)Required to pay. Funded wallet private key — pays per call and signs locally. Plexa never receives it. Without it, tools return a clear 402.
CHAINbasebase | polygon | arbitrum (aliases matic, arb, arbitrum-one and CAIP-2 eip155:8453/137/42161 also work; case is normalized). The chain your wallet is funded on; quotes and payment default to it. plexa_pretrade_check is Base-only today — other chains answer 422.

Funding. Use a dedicated, low-balance wallet with a little USDC on CHAIN to pay per call (quotes $0.02, checks $0.05). The wallet signs an EIP-3009 USDC authorization per request; Plexa returns the result only after the payment settles on-chain (settle-before-serve).

Your key is a secret. Prefer your MCP client's secret storage if it has one. Never commit it.


How payment works (x402 in MCP)

MCP has no native payment. This server acts as an x402 client: it wraps fetch, so when Plexa replies 402 Payment Required it reads the payment requirements, signs a USDC authorization with your wallet (locally), and retries. The signed authorization is the only thing that leaves your machine — never the key. Payment is made on CHAIN, so you fund one wallet on one chain.

If no AGENT_WALLET_KEY is set, the tools return an honest 402 error explaining a funded wallet is needed — they never fabricate a result.


Example

Once configured, just ask your agent naturally — it will call the tools:

"Before I buy this token 0x… on Base, check it with Plexa and get me an executable quote for $500."

The agent calls plexa_pretrade_check (verdict + reasons) and plexa_quote (executable price under $500), pays $0.05 + $0.02 in USDC automatically, and answers with real on-chain economics.

What comes back

Beyond verdict / triggers / risk_profile / liquidityCoverage, every pre-trade response carries six blocks of context. Live capture, WETH, 2026-08-20T14:46:29Z, Base block 50223921 — the note string each block carries is long and is cut here, nothing else is:

json
{ "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 is the map of who said what. measured — ours, read off the chain on this call. derived:<formula> — ours, computed from other fields of this same response. vendor:<name> — somebody else's number, republished and signed as theirs. unavailable:<reason> — no value, and the reason why. That last one is the point: a missing number that names its own gap cannot be mistaken for a clean result.

Two numbers that look like duplicates and are not: valuation.fdvExecutableUsd is THIS chain's supply at the price your size executes at; market.marketCapUsd is the vendor's global figure. For a bridged token ours is legitimately smaller.


What changed in 0.2.0

A field changed MEANING, not shape. risk_profile.liquidity.exitLiquidityUsd used to be the counter asset sitting in the direct pools. Since 2026-09-20 it is what selling the position returns: the server quotes the sale of the very position the answer prices and reports the proceeds of the best road (never a sum of roads).

Where the previous number lives: liquidityCoverage.exitPoolInventoryUsd — same figure as before, under its own name. liquidityCoverage.exitPotBasis tells you which kind of number the head figure is: position-sale (measured proceeds), second-hop (a counter-asset road) or pool-inventory (the sale could not be quoted this call, so it fell back to the pre-20.09 meaning).

Why it matters: measured on SOGNI, 2026-09-20 — inventory $113,968 against a sale that returns $4,571 for a $5,000 position. A client comparing the OLD pot with its own size overstated the exit by 8.6% of that size. If your code does min(exitLiquidityUsd, size), it now gets the honest number; if you relied on the old semantics, read exitPoolInventoryUsd instead.

Also in this release:

  • liquidityCoverage.exitLadderScope and liquidityCoverage.exitReachRoad name the ROAD behind each exit number, so exitLadderStatus: "unsellable" can no longer be read as "this token cannot be sold" — it describes direct Uniswap v4 pools only, while the pot may have been measured via <asset> somewhere else. Measured 2026-09-22 on Base: unsellable across 31 v4 pools while the position sold for $4,735.82 through another venue.
  • exitPoolInventoryUsd is no longer an unconditional upper bound: when the v4 sale ladder ran, the v4 share of it is the ladder's REACH, and it never counts the second leg of a two-leg sale.
  • Prices are measured with a real trade's gas limit, because some Uniswap v4 hooks set their fee from the gas available to the caller.
  • The contract strings in this package (prices, paths, thresholds, verdict vocabulary, the two notes above) are now GENERATED from the Plexa server sources, so they cannot drift from the API.

No field was removed and no response shape changed. The minor version moved because a published field's meaning did.

Notes

  • Client-only. Talks to the public Plexa API over HTTPS. No service internals ship in this package.
  • Honest failures. A non-2xx response or a network error becomes a loud tool error — never a clean-looking empty result. An agent can always tell a failure from a pass.
  • Built on the official @modelcontextprotocol/sdk + x402.

License

MIT — see LICENSE.

Questions: [email protected] · getplexa.com

Informational on-chain data and heuristic economic signals, not financial advice. Absence of flags is not a guarantee of safety. Verify independently before trading.

來源:README.md,提交 d94c689

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

2
  1. v0.2.0最新Sep 22, 2026
  2. v0.1.9Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分