mcpField
P
Perp Cli

Perp Cli

Local
github.com/hypurrquantDeveloper Tools40Updated 1d ago

About Perp Cli

Perp Cli is a CLI and MCP server for perpetual futures across trading venues, aimed at traders and AI agents. It combines cross-venue market and portfolio data with trading, funding-arbitrage workflows, and execution safeguards.

Key features

  1. 01Market data across multiple venues
  2. 02Cross-venue portfolio and risk views
  3. 03Orders and position management
  4. 04Perpetual and spot funding arbitrage
  5. 05Trading bots and background jobs
  6. 06JSON output and dry-run validation

Use cases

  1. 01Compare funding rates across venues
  2. 02Review balances, positions, and risk
  3. 03Validate an order before submission
  4. 04Run or monitor arbitrage strategies

MCP support

The `perp-mcp` executable exposes 31 tools to MCP clients. Market-data tools work without keys; account and trading tools use the wallet configured through `perp setup`.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"perp-cli": {
"command": "npx",
"args": [
"-y",
"perp-cli"
],
"env": {
"HYPERLIQUID_PRIVATE_KEY": "<HYPERLIQUID_PRIVATE_KEY>",
"PACIFICA_PRIVATE_KEY": "<PACIFICA_PRIVATE_KEY>",
"LIGHTER_PRIVATE_KEY": "<LIGHTER_PRIVATE_KEY>"
}
}
}
}
Run commandnpx -y perp-cli
Environment variables to set
HYPERLIQUID_PRIVATE_KEYSecret
PACIFICA_PRIVATE_KEYSecret
LIGHTER_PRIVATE_KEYSecret

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmperp-cli

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

English | 한국어 | 中文 | 日本語

perp-cli

npm version npm downloads license

One CLI for perpetual futures across many DEXs — trade, compare funding, move funds and run bots from the terminal, or hand it to an AI agent (JSON output, MCP server, agent skill).

  • Trade on 8 venues: Hyperliquid (incl. HIP-3 dexes), Pacifica, Lighter, Lighter RH, Aster, Ondo Perps, Arcus, QFEX (bridge and perp-perp arb cover the original four: Pacifica, Hyperliquid, Lighter, Aster)
  • Market data only: RISEx, GRVT, Extended, Variational, TxFlow (unofficial API) — plus Derive options data

Install

npm install -g perp-cli
perp --version

# Or without a global install
npx -y perp-cli --json portfolio

The package ships three executables: perp (the CLI), perp-mcp (the MCP server, stdio) and perp-guardrail (the signing guardrail).

Quick start

1. Look around — no keys needed.

perp -e hl market list                  # markets, prices, funding
perp -e hl market book BTC              # order book
perp arb scan --rates                   # funding rates across venues

2. Add a wallet. The setup wizard creates or imports an encrypted OWS vault wallet, picks venues and registers agent keys (it asks before every signature and never moves funds):

perp setup
perp wallet show

Keys are read from a hidden prompt or stdin — never from argv or ~/.perp/.env. One EVM key covers Hyperliquid, Lighter and Aster. For other paths (one-line key import, scriptable setup, keys created on the exchange website) see docs/setup.md.

3. Check your account and trade. Add -n testnet to any command to use testnet.

perp --json portfolio                                 # balances + positions + risk on every venue
perp --json --dry-run -e hl trade market BTC buy 0.001   # validate only, nothing is sent
perp --json -e hl trade market BTC buy 0.001          # market order (bounded by the slippage setting)
perp --json -e hl trade close BTC

AI Agent Skill

Drop-in skill for Claude Code, Cursor, Codex, Gemini CLI, and other agent CLIs. Bundles a non-interactive command guide, ops playbook, strategy framework, and reusable shell scripts (preflight, arb monitor, validation) so your agent stops at the right confirmation points and never wedges on interactive wizards.

Install
# Claude Code — slash command
/install-skill hypurrquant/perp-cli

# Cursor / Codex / generic agent CLIs — via npx
npx skills add hypurrquant/perp-cli

# Manual install (any agent that reads a Skills directory)
git clone https://github.com/hypurrquant/perp-cli.git
cp -R perp-cli/skills/perp-cli ~/.claude/skills/        # or your CLI's skills dir

The skill ships inside the npm package (perp-cli/skills/perp-cli), so a global install also makes it available locally:

npm install -g perp-cli@latest
ls "$(npm root -g)/perp-cli/skills/perp-cli"
What's in the skill
FilePurpose
SKILL.mdTop-level agent guide — rules, workflows, examples
references/commands.mdFull non-interactive command reference (every group)
references/agent-operations.mdSetup flows, idempotency, error handling, common mistakes
references/strategies.mdFunding-arb decision framework + risk management
scripts/preflight.shInstall + wallet + connectivity + risk readiness check
scripts/arb-monitor.shLive monitor for open arb positions
scripts/spot-perp-scan.shScan spot+perp opportunities with balance context
scripts/funding-analysis.shCross-exchange funding overview / per-symbol drilldown
scripts/validate-arb.shPre-execution validation (price / balance / risk / dry-run)

See skills/perp-cli/SKILL.md for the full agent guide.

Features

  • Funding rate arb — perp-perp and spot-perp scans, one-command dual-leg entry and exit
  • Portfolio — one call returns balances, positions and risk across every venue
  • Funds — deposit, withdraw, transfer, multi-provider bridge (CCTP / Relay / deBridge), inter-exchange rebalance
  • Bots — TWAP, grid, DCA, trailing stop and more, with background job management
  • Agent-first — --json, --fields, --ndjson, --dry-run, runtime schema introspection
  • Safety — pre-trade validation, a slippage bound on every market order, client-id deduplication, response sanitization

Venues

Venue-eTradingChain / collateral
Hyperliquidhyperliquid (hl)✅HyperEVM, USDC; HIP-3 dexes via --dex
Pacificapacifica (pac)✅Solana, USDC
Lighterlighter (lt)✅Ethereum L2, USDC
Lighter RHlighter-rh (lrh)✅Robinhood chain, USDG
Asteraster (ast)✅BNB Chain, USDT / USDC
Ondo Perpsondo✅off-chain, USDC
Arcusarcus✅ (access whitelist)Robinhood chain, USDG
QFEXqfex (qf)✅ (manual trading only)custodial; equities, indices, commodities
RISExrisexread-onlyRISE chain, USDC
GRVTgrvtmarket data onlyUSDT
Extendedextended (ext)market data onlyStarknet; crypto + equities / FX
Variationalvariational (var)market data onlyRFQ venue
TxFlowtxflow (txf)market data onlyunofficial API
Derivederiveoptions data only—

Common commands

# Market data
perp --json -e <EX> market list | book <SYM> | funding <SYM> | kline <SYM> 1h

# Trading
perp --json -e <EX> trade buy <SYM> <SIZE> --tp <PX> --sl <PX>    # entry protected by TP/SL
perp --json -e <EX> trade limit <SYM> buy <PX> <SIZE>
perp --json -e <EX> trade close <SYM>                              # or: flatten (every position)

# Account
perp --json portfolio
perp --json -e <EX> account positions
perp --json account balance --address <ADDR>                       # any account, keyless

# Funding arb
perp --json arb scan --min 5
perp --json arb exec <SYM> <longEx> <shortEx> <USD>

# Funds
perp --json funds deposit hyperliquid 100
perp --json funds bridge send --from solana --to arbitrum --amount 100

Full list with every group: docs/commands.md. Global flags: --json, --fields <f>, --ndjson, --dry-run, -n testnet, -e <venue>, --dex <name> (HIP-3), -w, --wallet <name>.

Command Groups

GroupDescription
marketPrices, orderbook, funding, klines, HIP-3 dexes
accountBalance, positions, orders, margin
tradeMarket/limit/stop orders, close, scale, split execution
outcomeHyperliquid Outcome (HIP-4) — binary/range contracts, quoted per outcome (outcomeMeta quoteToken, USDC today), no leverage
optionsOptions market data, read-only (Derive: -e derive options underlyings / expiries / chain / quote)
printPacifica Print — strike orders earning a premium per cycle: games, quote, positions, history, events, deposit / cancel (--dry-run)
vaultPacifica vaults (API: lakes) — list, info, positions, deposit (master wallet only) / withdraw (--dry-run)
arbFunding rate arb — scan, exec, close, monitor (perp-perp & spot-perp)
strategy19 bot algorithms (grid, dca, twap, APEX, REFLECT, presets) + nested scripted plans
fundsDeposit, withdraw, transfer, cross-chain bridge (multi-provider), inter-exchange rebalance
riskRisk limits, liquidation distance, guardrails
walletMulti-wallet management, agent wallets (wallet agent ...), builder fees (wallet builder ..., off by default), margin mode / subaccount / API keys (wallet manage ...), on-chain balances
historyExecution log, PnL, performance breakdown
portfolioCross-exchange unified overview (replaces former account balance / status / dashboard; account balance --address reads any account's balances, keyless)
healthAdapter health check: ping every venue's REST endpoint (connectivity + latency)
settingsCLI settings (referrals, defaults, fees, builder fees, deBridge affiliate)
backtestStrategy backtesting
backgroundBackground process supervisor (tmux sessions for strategies, alerts, etc.)
alertsFunding rate alerts (Telegram / Discord) with background daemon
setupSetup wizard: OWS wallet, venues, agent wallets, slippage, default venue (alias: init; --non-interactive for scripts)

Agent-First CLI Design

Built following agent-first CLI principles:

# Every command returns structured JSON envelope
perp --json portfolio
# → { "ok": true, "data": {...}, "meta": { "timestamp": "..." } }

# Filter output to specific fields (saves tokens)
perp --json --fields totalEquity,risk portfolio

# Stream large lists as NDJSON (one JSON per line)
perp --json --ndjson -e hl market list

# Pre-validate before executing
perp --json -e hl trade check BTC buy 0.01
perp --json --dry-run -e hl trade market BTC buy 0.01

# Idempotent orders with client ID (Hyperliquid: a 128-bit cloid, 0x + 32 hex; --auto-id generates one)
perp --json -e hl trade market BTC buy 0.01 --client-id 0x1234567890abcdef1234567890abcdef
perp --json -e hl trade status c:0x1234567890abcdef1234567890abcdef

All responses are auto-sanitized (control chars stripped, prompt injection patterns blocked). Errors include retryable flag — only retry when true.

MCP Server

Glama MCP server

perp-mcp serves 31 tools to Claude Desktop, Cursor and other MCP clients. Market data needs no keys; for account and trading tools run perp setup first (the server reads the same wallet). Never put private keys in the MCP config.

{
  "mcpServers": {
    "perp-cli": {
      "command": "npx",
      "args": ["-y", "-p", "perp-cli", "perp-mcp"]
    }
  }
}

Testnet, the full tool list, resources and prompts: docs/mcp.md.

Documentation

DocWhat's in it
SetupWallets, agent keys, keys created on the exchange website, where secrets are stored
VenuesSupport matrix, venue ids, QFEX / RISEx / GRVT / Extended / Variational / TxFlow / Derive details
TradingTime in force, TP/SL, stops, order edit, slippage, spot trading, builder fees
CommandsEvery command group with examples, Telegram alerts
Mainnet verificationWhat has been run with real money, per venue
MCP serverConfiguration, testnet, tools, resources, prompts
Signing guardrailperp-guardrail, the OWS policy executable for agent keys
TestingTest suites and the venue checklist
CHANGELOGRelease notes

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.