Eterna MCP
Premium low cost execution layer for AI trading agents, with access to perpetual futures trading across 500+ pairs and $10B+ in aggregated liquidity.
README
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: contact@eterna.exchange
License
MIT -- Copyright 2025 Eterna Exchange
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.