ocean-agent
MCP server for Pacifica that turns natural language into risk-sized perpetual futures orders and enables a policy-governed autonomous trading entity.
README
ocean-agent
English · 한국어
🌊 Website: oceanagent.vercel.app · PyPI: ocean-agent
Tell your AI to trade. An MCP server for Pacifica that turns natural language into correct, risk-sized perpetual futures orders, plus a 24/7 autonomous trading entity governed by a policy file you control.
uvx ocean-agent # no install needed
⚠️ This places real orders with real money. Read the disclaimer before connecting an account.
Built entirely on Pacifica. Calls the Pacifica REST API directly with the same Ed25519 agent-key signing the official tooling uses, no npm dependency.
Why this instead of raw API access
The official Pacifica MCP exposes the API as-is: your AI must compute exact prices and sizes itself, and a price that isn't a multiple of the market's tick size is rejected by the exchange. ocean-agent adds the layer above that:
| Raw API / official MCP | ocean-agent | |
|---|---|---|
| Order prices | AI computes exact values | Say "3% stop", tick/lot/min-order corrected automatically |
| Position sizing | Manual | Risk-based (fixed % of capital at risk per trade) |
| Safety | None | Two-step confirm gate on every money-moving tool |
| Statistics | None | Measured win rates and expected value, not textbook theory |
MCP tools
Market & analysis
analyze_chart, multi-timeframe indicator snapshot with measured hit rates per signal on that specific coin and timeframe. Says "no edge detected" when there isn't one.top_setups, live ranking of statistically-proven setups (EV × win rate × sample confidence), with entry, stop, target and leveragemarket_context, Fear & Greed regime readscan_funding, every market ranked by funding APRlearned_winrates/learned_combos, win-rate database built from live observation, including multi-signal combinationsreview_predictions, past calls graded against what actually happened
Trading
open_with_bracket, entry plus exchange-native TP/SL in one call. The stops live on the exchange, so they fire even with your machine off.protect_position, retrofit native TP/SL onto any open positionopen_funding_position/close_funding_position, delta-neutral funding carry (spot buy + perp short) executed atomically as a batchplan_oi_hedge, sizes an OI-farming position with its cross-exchange hedge, fee and funding math includedopen_pacifica_leg,check_position,account_status
Print (experimental, uses an endpoint Pacifica has not documented; may change without notice)
print_quote, live premium, implied volatility and liquidation priceprint_order/print_status/print_closeevaluate_print, statistical verdict on whether a Print offer is worth it: fill probability, average overshoot, and the breakeven APY that would compensate for it
Autonomous trading entity
A self-directed trader governed by policy.yaml, a delegation contract. It
cannot act outside those bounds.
This is a separate always-on process, not an MCP tool. An MCP server only runs when your AI client calls it; a trader that must hold positions and manage stops around the clock needs its own process. Start it deliberately, and it keeps running whether or not any AI is connected.
python -m ocean_agent.autonomous --init # create policy.yaml to edit
python -m ocean_agent.autonomous --dry # decide, but place no orders
python -m ocean_agent.autonomous # run continuously
python -m ocean_agent.autonomous --once # single cycle
python -m ocean_agent.autonomous --report # performance summary
Read policy.yaml before the first real run, capital, leverage cap, risk per
trade and the hard-stop threshold all live there. Start with --dry.
Each cycle it reads the market, grades what it learned, manages open positions, and enters only setups that clear every gate.
Portfolio buckets, capital split across directional trading, funding carry and a cash reserve, rebalanced every cycle.
Position aftercare, moves the stop to breakeven once a trade is ahead, trails it as profit grows, and takes partial profit at target. Stops only ever move in your favour.
Liquidity gate, skips markets where your own order would be a large share of daily volume. Thin books are the real hazard: an order that only partly fills, and a stop that cannot be executed at its price.
Net-exposure limit, caps how one-directional the book can get, so a single market reversal cannot hit every position at once.
Self-remeasurement, this is the actual learning engine. On a schedule the bot re-measures the full matrix of coins × timeframes × signals and updates which timeframes it trades and which signals it trusts. Regimes change: in one measurement the 8h timeframe showed no edge at all; weeks later it was the best-performing band. Fixed parameters go stale, so they are not fixed.
python -m ocean_agent.rematrix # remeasure now
python -m ocean_agent.rematrix --show # what it currently believes
Adaptation, signals that lose in live grading are suspended, size is cut during drawdown and restored on recovery. Parameters adapt within policy bounds; the bot never rewrites its own code.
Final stop, a single hard halt at catastrophic loss. Otherwise it does not stop, it adapts.
Setup
One command, installs everything (uv, Python, dependencies) and registers the server with Claude Desktop. It asks two questions: wallet address and agent key.
# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://oceanagent.vercel.app/install.ps1 | iex"
# macOS / Linux
sh -c "$(curl -LsSf https://oceanagent.vercel.app/install.sh)"
Or set up manually:
- Install uv:
# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
-
Create an agent wallet key at app.pacifica.fi/apikey. API keys can trade but cannot withdraw funds, and you can revoke them at any time.
-
Put it in
.env:
ADDRESS=your_main_wallet_address
PACIFICA_API_KEY=your_agent_wallet_key
PACIFICA_BASE_URL=https://api.pacifica.fi
As written this trades live on mainnet with real funds. Start with --dry,
which decides but places no orders. A testnet endpoint is also available if you
prefer to rehearse there: remove the PACIFICA_BASE_URL line (testnet uses
separate keys: ADDRESS_TESTNET, PACIFICA_API_KEY_TESTNET).
- Point your MCP client at it:
{
"mcpServers": {
"ocean-agent": {
"command": "uvx",
"args": ["ocean-agent@latest"],
"env": { "PACIFICA_ENV_FILE": "/absolute/path/to/.env" }
}
}
}
Restart your AI client, the first launch downloads everything automatically.
- Check your setup:
uv run --with ocean-agent python -m ocean_agent.doctor
Any python -m ocean_agent... command in this README runs the same way,
prepend uv run --with ocean-agent.
Safety
- API keys are trading-only, this software cannot move your funds out
- Every order tool previews first and executes only on explicit confirmation
- Testnet and mainnet keys are kept separate
- The autonomous entity acts only within
policy.yaml
Risk
This is trading software. Leveraged perpetual futures can lose more than the
margin you post. Measured win rates come from historical data and are
regime-dependent, an edge that held for months can vanish when the market
changes character. Nothing here is financial advice. Run it with --dry until
you understand exactly what it does, and only risk what you can afford to lose.
License
MIT
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。