Eterna MCP
Managed MCP server for Bybit perpetual futures trading. Isolated sub-accounts, built-in risk management, 12 trading tools.
Eterna MCP Gateway
The fastest, cheapest way to give your AI agent real trading capabilities.
No KYC. 0.014% maker fees on futures. <200ms latency. Isolated sub-accounts.
30-Second Install
Add to your MCP client config and you're trading:
{
"mcpServers": {
"eterna-trading": {
"type": "streamable-http",
"url": "https://mcp.eterna.exchange/mcp"
}
}
}
Ask your AI to call register_agent -- it gets an API key instantly. Reconnect with the key in the Authorization header and start trading. See QUICKSTART.md for a 5-minute walkthrough.
Why Eterna?
| Eterna (managed) | Self-hosted MCP servers | Direct API wrappers | |
|---|---|---|---|
| Setup time | 30 seconds | 15-30 min | Hours |
| API key management | Auto-provisioned | You create & rotate | You create & rotate |
| Agent isolation | Dedicated sub-account per agent | Shared account | Shared account |
| Risk management | Built-in (leverage caps, position limits) | None | Build your own |
| Key security | Argon2-hashed, never exposed | Plaintext env vars | Plaintext env vars |
| Transport | HTTP (works remotely) | stdio (local only) | HTTP |
| Maintenance | Zero -- we handle updates | You manage | You manage |
| Multi-agent | Native | Manual config per agent | Manual |
| Futures fees | 0.014% maker / 0.035% taker | 0.02% / 0.055% (default) | 0.02% / 0.055% (default) |
| Spot fees | 0.065% maker / 0.0775% taker | 0.1% / 0.1% (default) | 0.1% / 0.1% (default) |
What you don't have to build
- Sub-account provisioning and API key rotation
- Rate limiting and request validation
- Position sizing guardrails
- Deposit address management and fund routing
- Error handling for exchange API changes
Works With Your Stack
No pre-existing API key needed. Your agent connects, registers itself, and starts trading.
LangChain
from langchain_mcp_adapters.client import MultiServerMCPClient
# 1. Connect without auth -- agent calls register_agent to get a key
async with MultiServerMCPClient({
"trading": {
"url": "https://mcp.eterna.exchange/mcp",
"transport": "streamable_http",
}
}) as client:
tools = client.get_tools()
# Agent calls register_agent, receives API key
# 2. Reconnect with the key -- all trading tools available
async with MultiServerMCPClient({
"trading": {
"url": "https://mcp.eterna.exchange/mcp",
"transport": "streamable_http",
"headers": {"Authorization": f"Bearer {api_key}"},
}
}) as client:
tools = client.get_tools()
# Use tools with any LangChain agent
AutoGen
from autogen_ext.tools.mcp import McpWorkbench, StreamableHttpParams
# 1. Register (no auth needed)
async with McpWorkbench(StreamableHttpParams(url=MCP_URL)) as wb:
tools = await wb.list_tools() # includes register_agent
# 2. Trade with the key
async with McpWorkbench(StreamableHttpParams(
url=MCP_URL,
headers={"Authorization": f"Bearer {api_key}"},
)) as wb:
tools = await wb.list_tools() # all trading tools
CrewAI
from crewai_tools.mcp import MCPServerAdapter
# After registration (see examples/ for full flow)
server = MCPServerAdapter(
server_url="https://mcp.eterna.exchange/mcp",
headers={"Authorization": f"Bearer {api_key}"},
)
tools = server.tools
# Assign tools to any CrewAI agent
Raw Python (MCP SDK)
from mcp import ClientSession
from mcp.client.streamable_http import streamablehttp_client
# 1. Register
async with streamablehttp_client(url) as (r, w, _):
async with ClientSession(r, w) as session:
await session.initialize()
result = await session.call_tool("register_agent", {"name": "my-bot"})
# result contains the API key
# 2. Trade
async with streamablehttp_client(url, headers={"Authorization": f"Bearer {key}"}) as (r, w, _):
async with ClientSession(r, w) as session:
await session.initialize()
await session.call_tool("get_tickers", {"symbol": "BTCUSDT"})
Full working examples with registration flow: examples/
Available Tools
| Category | Tool | Description |
|---|---|---|
| Registration | register_agent | Create a new agent account and receive an API key |
| Market Data | get_tickers | Current price, 24h change, volume, and funding rate |
get_instruments | Contract specifications, tick size, lot size, leverage limits | |
get_orderbook | Live order book with bids and asks | |
| Account | get_balance | USDT equity, available balance, and margin usage |
get_positions | Open positions with entry price, PnL, and leverage | |
get_orders | Active and recent order history | |
| Trading | place_order | Place market or limit orders with TP/SL |
close_position | Close an entire position at market price | |
| Funding | get_deposit_address | Get deposit address for a coin and chain |
get_deposit_records | View deposit history | |
transfer_to_trading | Move funds from Funding wallet to Trading wallet |
See docs/tools-reference.md for full parameter and return value documentation.
Resources & Prompts
MCP Resources:
| Resource URI | Description |
|---|---|
eterna://risk-rules | JSON document with all risk constraints (max leverage, max positions, minimum balance) |
eterna://api-reference | Complete tool reference with parameters, types, and return schemas |
Built-in Prompts:
| Prompt | Description |
|---|---|
trading_guide | Risk management, position sizing, deposits, and order lifecycle |
momentum_scalping_strategy | Step-by-step momentum scalping with entry/exit rules |
place_trade | Interactive prompt that walks through placing a trade safely |
Benchmarks
See benchmarks/ for detailed methodology and data.
| Metric | Eterna MCP | Self-hosted Bybit MCP | Direct Bybit API |
|---|---|---|---|
| Order placement | ~180ms | ~150ms + your infra | ~120ms |
| Market data | ~80ms | ~60ms + your infra | ~40ms |
| Setup time | 30 seconds | 15-30 min | 2-4 hours |
| Monthly infra cost | $0 | $5-50/mo (VPS) | $5-50/mo (VPS) |
| Futures fees | 0.014% / 0.035% | 0.02% / 0.055% (default) | 0.02% / 0.055% (default) |
Eterna agents trade on institutional-tier fee schedules through Bybit's master/sub-account structure. Self-hosted servers pay retail fees unless you independently negotiate a VIP tier.
Roadmap
See ROADMAP.md for the full roadmap.
Coming soon:
- 130+ additional Bybit API endpoints (order management, position controls, market data)
- Code execution sandbox -- submit TypeScript strategies that run in an isolated environment
- Strategy runtime -- deploy strategies on cron schedules, zero LLM at runtime
- Backtesting engine with historical data replay
Client Configuration
Claude Code
.mcp.json in your project root:
{
"mcpServers": {
"eterna-trading": {
"type": "streamable-http",
"url": "https://mcp.eterna.exchange/mcp",
"headers": {
"Authorization": "Bearer eterna_mcp_your_key_here"
}
}
}
}
Cursor
.cursor/mcp.json:
{
"mcpServers": {
"eterna-trading": {
"type": "streamable-http",
"url": "https://mcp.eterna.exchange/mcp",
"headers": {
"Authorization": "Bearer eterna_mcp_your_key_here"
}
}
}
}
Claude Desktop
Add to your Claude Desktop config.json:
{
"mcpServers": {
"eterna-trading": {
"type": "streamable-http",
"url": "https://mcp.eterna.exchange/mcp",
"headers": {
"Authorization": "Bearer eterna_mcp_your_key_here"
}
}
}
}
Skills
Claude Code skills for trading knowledge:
- skills/claude-code/trading/SKILL.md -- Risk management, position sizing, deposit flow, order lifecycle
- skills/claude-code/scalping/SKILL.md -- Momentum scalping strategy with entry signals and exit rules
Copy into your project's .claude/skills/ directory.
Documentation
- QUICKSTART.md -- Trading in 5 minutes
- Tools Reference -- Full parameter and return value docs
- Authentication -- API key format, security model, connection modes
- Architecture -- Agent isolation, transport protocol, market support
- Strategies -- Momentum scalping and position sizing workflows
- CHANGELOG.md -- Version history
- ROADMAP.md -- What's coming next
Ecosystem
| Repository | Description |
|---|---|
| eterna-exchange/bybit-mcp-server | Bybit-focused managed MCP server |
| eterna-exchange/mcp-trading-agent | IDE configs and trading strategies for Claude Code, Cursor, Claude Desktop |
| eterna-exchange/awesome-mcp-trading | Curated list of MCP trading servers and resources |
Contact
Questions, partnerships, or support: [email protected]
License
MIT -- Copyright 2025 Eterna Exchange
Related Servers
Scout Monitoring MCP
sponsorPut performance and error data directly in the hands of your AI assistant.
Alpha Vantage MCP Server
sponsorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
Second Opinion MCP Server
An AI-powered coding assistant that combines insights from Gemini, Stack Overflow, and Perplexity AI to help solve programming problems.
mockd
Multi-protocol API mock server with 18 MCP tools — mock HTTP, GraphQL, gRPC, WebSocket, MQTT, SSE, and SOAP APIs with chaos engineering, stateful CRUD, and deterministic seeded responses.
Swagger/OpenAPI MCP Server
Explore and interact with Swagger/OpenAPI specifications, allowing for browsing endpoints and retrieving details on API operations.
Remote MCP Server Authless Test
An example of deploying a remote MCP server on Cloudflare Workers without authentication.
Limelight
Make your app's runtime context available to AI
MCP Java Bridge
A bridge for the MCP Java SDK that enables TCP transport support while maintaining stdio compatibility for clients.
IIIF Images Server
A server for working with IIIF (International Image Interoperability Framework) manifests and images.
xpay✦
1000+ AI tools as MCP servers — finance, lead gen, web scraping, dev tools, media, research, competitive intel, social media, and more. 80+ providers in one endpoint. Starts at $0.01/call. Get your API key at app.xpay.sh or xpay.tools
Apidog tests MCP
Adds possibility to work with testing management via MCP
Tox Testing
Executes tox commands to run Python tests with pytest. Requires the TOX_APP_DIR environment variable to be set.