
Mcp Pear
io.github.MarvelNwachukwu由 GitHub 账号 MarvelNwachukwu 发布v0.2.2更新于 Oct 27, 2026
MCP server for Pear Protocol: markets, positions, orders, portfolio, and gated trade execution.
概览
面向 Pear Protocol 在 Hyperliquid 上配对交易的 MCP 服务器:浏览配对市场与比率、读取持仓与投资组合,并可选执行交易。
- 可以做什么
- 浏览配对市场、活跃涨跌榜,以及指定配对的当前比率与资金费率
- 读取账户概览、带盈亏的持仓、未成交的限价/止盈止损单、TWAP 订单、成交历史与分时段投资组合盈亏
- 查看 Pear 用于签名的代理钱包
- 开启交易执行后:开仓、平仓、全部平仓、调整仓位大小或杠杆、设置止盈止损、撤销订单或 TWAP 订单
- 创建代理钱包
- 适用场景
- 适合让助手研究 Pear 配对市场并跟踪已有账户,或在明确开启写入工具后,通过聊天客户端在 Hyperliquid 上执行配对交易。
- 运行要求
- 通过 npx 从 npm 包 @marvelcodes/mcp-pear 以 stdio 在本地运行(需 Node.js)。公开市场工具无需凭据。认证工具需要 PEAR_API_KEY 与 PEAR_ADDRESS,或预先签发的 PEAR_JWT(可选配 PEAR_REFRESH_TOKEN)。写入工具还需将 PEAR_TRADE_ENABLED 设为精确的 true。需要能访问 Pear API 的网络。
安装
在 SourceWeft 中
- 打开 控制台中的 Mcp Pear,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
mcp-pear
The Pear Protocol MCP server for Hyperliquid pair trading — connect Claude, Cursor, or any AI agent to on-chain perps: browse pair markets, read positions and portfolio, and (opt-in) execute pair trades.
Model Context Protocol (MCP) server for Pear Protocol. Gives Claude, or any MCP-compatible agent, access to markets, pair ratios, positions, orders, trade history, portfolio, and (v0.2) full trade execution on Hyperliquid.
v0.2 adds trade execution. Ten write tools (open, close, and adjust positions; manage leverage and risk; cancel orders) are off by default behind
PEAR_TRADE_ENABLED=true. Pear signs server-side, so mcp-pear never holds private keys.
What is Pear Protocol?
Pear is a Hyperliquid-backed perps platform for pair markets: long one basket against another. Every pair has a live ratio that moves as the legs diverge. More at pearprotocol.io.
Tools
Public (no auth):
get_health: API health and uptimelist_markets: browse pair markets with filters and paginationget_active_markets: top gainers, losers, and highlighted pairsget_pair_ratio: current ratio, 24h change, and funding for a specific pair
Authenticated read:
get_account_summary: your account headerget_open_positions: your open positions with PnLget_open_orders: your open limit, TP, and SL ordersget_twap_orders: your active TWAP ordersget_trade_history: your closed trades with realized PnLget_portfolio: bucketed PnL across 1d, 1w, 1m, 1y, and all-timeget_agent_wallet: the agent wallet Pear uses to sign your trades
Authenticated write (v0.2, gated behind PEAR_TRADE_ENABLED=true):
create_agent_wallet: create the agent walletopen_position,close_position,close_all_positions: open and close pair positionsadjust_position,adjust_leverage: change size or leverage on a live positionset_risk_parameters: set or update TP and SLcancel_order,cancel_twap_order: cancel pending orders
Full parameter reference in Tool reference. See Trade execution (v0.2) for the gate and Hyperliquid funding rules.
Install
Pin
@latest(or a specific version) in the npx spec. Plainnpx @marvelcodes/mcp-pearcan launch a stale cached version: npx prefers its local cache over the npm registry when the spec is unpinned, so after a new release lands you may still be running the old one.@latestre-resolves against the registry each launch; pin like@0.2.0instead if you want a frozen version. Stuck on an old version after upgrading? Clear the npx cache:rm -rf ~/.npm/_npx(macOS/Linux).
Getting an API key
For the authenticated tools, mint a key:
The CLI opens a browser, asks you to sign once with your wallet, mints a Pear API key, and (optionally) writes PEAR_API_KEY and PEAR_ADDRESS to a .env. Copy those two values into your Claude Desktop config and restart Claude.
Already have a JWT from
app.pear.garden? Skipsetupand use JWT pass-through below.
Configuration
Three auth modes. mcp-pear uses the first one whose env vars are set, decided on the first authenticated call.
Mode 1: JWT pass-through (multi-tenant orchestrators)
For Telegram bots and other orchestrators that mint JWTs externally (Privy, EIP-712, or any Pear-supported flow). The JWT is opaque; mcp-pear never calls /auth/login.
When PEAR_JWT expires and no refresh token is set, authenticated tools return:
JWT expired; the orchestrator must mint a new one and restart mcp-pear.
See examples/telegram-bot-usage.ts for the orchestrator pattern.
Mode 2: API key + wallet address (single-user, Claude Desktop)
mcp-pear mints the JWT itself by calling POST /auth/login. Both fields are required: the OpenAPI spec needs address in the request body.
Public-only mode
The four public tools work without any auth env vars. Authenticated tools return a ConfigError naming the missing env var.
Common settings (optional)
Claude Desktop
Add to claude_desktop_config.json:
Restart Claude Desktop and ask: "Use Pear to show me the top active markets right now."
ADK-TS
Full example in examples/adk-ts-usage.ts.
Tool reference
adjust_leverage
Change leverage (1-100x) on an existing Pear Protocol position. Higher leverage means greater liquidation risk for the same price move. WRITE: changes risk profile of a live position. Requires PEAR_TRADE_ENABLED=true.
adjust_position
Reduce or increase an existing Pear Protocol position's size by 1-100 percent. executionType: MARKET (immediate) or LIMIT (provide limitRatio). WRITE: changes exposure on a real trade. Requires PEAR_TRADE_ENABLED=true.
cancel_order
Cancel a pending Pear Protocol limit, take-profit, or stop-loss order by orderId. Does not affect already-filled portions. For TWAP orders, use cancel_twap_order. WRITE: cancels a live order. Requires PEAR_TRADE_ENABLED=true.
cancel_twap_order
Cancel a Pear Protocol TWAP (time-weighted average price) order and all of its remaining unfilled chunks. WRITE: cancels a live order. Requires PEAR_TRADE_ENABLED=true.
close_all_positions
Close every open Pear Protocol position with a single executionType (MARKET or TWAP). Returns a per-position result array with success/error. WRITE: executes real trades. Requires PEAR_TRADE_ENABLED=true.
close_position
Close one open Pear Protocol position by positionId. executionType: MARKET (immediate) or TWAP (spread over time; requires twapDuration in seconds). WRITE: executes a real trade. Requires PEAR_TRADE_ENABLED=true.
create_agent_wallet
Create a new Pear Protocol agent wallet for the authenticated user. The agent wallet is what Pear uses to sign Hyperliquid trades. After creation, the user MUST approve this wallet on Hyperliquid (the response message contains the approval instructions). WRITE: executes a state change. Requires PEAR_TRADE_ENABLED=true.
No parameters
get_account_summary
Get the authenticated user's Pear Protocol account summary: agent wallet address, total closed trades, pending trigger-order USD value, pending TWAP-chunk USD value, and last sync timestamp. Requires PEAR_API_KEY.
No parameters
get_active_markets
Get the most active Pear Protocol pair markets right now: current active pairs plus top gainers, top losers, highlighted pairs, and the user's watchlist. Use to see what's hot or as a starting point for narrowing into a specific pair.
No parameters
get_agent_wallet
Get the authenticated user's Pear Protocol agent wallet address. The agent wallet is what Pear uses to sign Hyperliquid trades on the user's behalf. Returns an empty/missing address if no agent wallet has been created yet; call create_agent_wallet to create one.
No parameters
get_health
Check Pear Protocol API health. Returns service status, server timestamp, and uptime in seconds. Use this to verify the API is reachable before running other tools.
No parameters
get_open_orders
List the authenticated user's open limit, take-profit, and stop-loss orders on Pear Protocol. Returns each order's ID, type, status, and pair composition. Requires PEAR_API_KEY.
No parameters
get_open_positions
List the authenticated user's currently open Pear Protocol pair positions, including position ID, entry ratio, mark ratio, unrealized PnL, and long/short composition. Requires PEAR_API_KEY.
No parameters
get_pair_ratio
Get the current ratio (long/short composition price) for a specific Pear Protocol pair. Pass long and short asset arrays. Returns the ratio, 24h change, and funding rate. Useful when you know the pair you care about and want the latest number.
get_portfolio
Fetch the authenticated user's full portfolio metrics on Pear Protocol: bucketed PnL across last 1 day / 1 week / 1 month / 1 year / all-time, plus overall stats (total trades, all-time volume, current open interest, unrealized PnL). Requires PEAR_API_KEY.
No parameters
get_trade_history
Fetch the authenticated user's recent closed trades on Pear Protocol with realized PnL, entry/exit ratios, and pair composition. Optional date range and limit. Requires PEAR_API_KEY.
get_twap_orders
List the authenticated user's active TWAP (time-weighted average price) orders on Pear Protocol, including chunk execution and fill detail. Requires PEAR_API_KEY.
No parameters
list_markets
Browse Pear Protocol pair markets with optional filters and pagination. Each market is a long/short composition with current ratio, 24h change, volume, open interest, and funding. Use to discover what's tradable, or with searchText to find a specific pair.
open_position
Open a new pair position on Pear Protocol. Specify executionType (MARKET / TRIGGER / TWAP / LADDER / TP / SL / SYNC), leverage (1-100), usdValue (≥1), slippage (0.001-0.1), and the long/short asset compositions (arrays of { asset, weight }). Optionally attach stopLoss/takeProfit and TWAP/TRIGGER/LADDER parameters. WRITE: executes a real trade. Requires PEAR_TRADE_ENABLED=true.
set_risk_parameters
Set or update stop-loss / take-profit on an existing Pear Protocol position. Each threshold has type ('PRICE' or 'PERCENTAGE'), value, and optional trailing fields. Pass null to clear a field; omit it to leave unchanged. WRITE: changes risk parameters on a live position. Requires PEAR_TRADE_ENABLED=true.
Development
Live smoke tests:
Trade execution (v0.2)
Ten new tools that take mcp-pear from read-only to write. All write tools are off by default. Set PEAR_TRADE_ENABLED=true to unlock them (strict literal match on "true"; anything else, including "True", "1", or "yes", keeps writes disabled). Pear signs trades server-side via an agent wallet you create, so mcp-pear never holds private keys for trades.
When PEAR_TRADE_ENABLED=true, mcp-pear logs [mcp-pear] PEAR_TRADE_ENABLED=true. Trade execution unlocked. to stderr on startup so operators can see writes are live.
Funding and minimums
Trades execute on Hyperliquid, which margins positions from your Perps balance. Two things bite first-time operators:
- Minimum order size. Hyperliquid rejects orders below ~$10 notional.
usdValueis the position's USD notional (margin =usdValue / leverage), so a single-leg position needsusdValueat or above 10. A long plus short pair is two separate orders, each subject to the $10 floor (about $20 or more notional total). - Spot vs Perps balance. USDC bridged onto Hyperliquid (for example via Circle CCTP) often lands in your Spot balance. Move it to Perps in the Hyperliquid app before trading, or
open_positionfails with insufficient margin.
What's next
v0.3. WebSocket streaming for real-time market and position updates. Spot orders. Candle synthesis from Hyperliquid candleSnapshot.
FAQ
What is the Pear Protocol MCP server?
mcp-pear is a Model Context Protocol (MCP) server that gives Claude and other AI agents access to Pear Protocol — a Hyperliquid-backed platform for pair trading (long one basket against another). It exposes tools to browse pair markets and ratios, read positions, orders, and portfolio, and optionally execute pair trades.
How do I build a Pear Protocol trading agent?
Point any MCP client at npx -y @marvelcodes/mcp-pear@latest. The agent gets read tools out of the box (markets, ratios, positions, portfolio). To let it trade, set PEAR_TRADE_ENABLED=true and add PEAR_API_KEY + PEAR_ADDRESS; it can then call open_position (MARKET / TRIGGER / TWAP / LADDER), close_position, adjust_leverage, and set_risk_parameters. See Claude Desktop and ADK-TS for wiring examples.
Does it support Hyperliquid pair trading?
Yes. Pear runs on Hyperliquid, so every pair position is a long/short perp trade executed on Hyperliquid. mcp-pear covers the full lifecycle: open, adjust, set TP/SL, and close.
Is this the official Pear Protocol MCP server?
No. mcp-pear is an independent, open-source community project that wraps Pear's public API. It is not affiliated with or endorsed by Pear Protocol.
Disclaimer
Not affiliated with Pear Protocol. Independent wrapper around Pear's public API. v0.2 trade-execution tools are off by default and require explicit operator opt-in (PEAR_TRADE_ENABLED=true). Pear signs server-side, so mcp-pear never holds private keys. Use at your own risk; no warranty.
License
MIT. See LICENSE.
来源:README.md,提交 9d837f5
工具
0版本历史
1- v0.2.2最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分