trading-platform-mcp-server
Provides tools for interacting with Binance exchange, including market data streaming, order execution (paper and live), account management, risk validation, strategy evaluation, and audit logging.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@trading-platform-mcp-servercheck my open positions on Binance"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Trading Platform v2 — Binance Intelligence & Execution
Binance-only trading intelligence and execution platform with Claude connected through MCP. Production-grade Python monorepo.
Architecture
Claude (reasoning layer)
│ MCP bounded tool interface
▼
mcp-server ─────────────────────────────────────────────────
│
gateway-api (REST + WebSocket, web/mobile clients) │
│ │
▼ ▼
strategy-service ──► execution (paper / live orders)
│ │
│ private user stream
▼ │
analytics ◄────────────────┘
│
▼
normalizer
│
▼
binance-ingest (WebSocket streams + REST polling)
│
▼
Redis Streams + Redis hot state
│
▼
Postgres (persistent history + all business records)Related MCP server: Binance MCP Server
Services
Service | Port | Purpose |
gateway-api | 8000 | REST + WebSocket API |
binance-ingest | 8001 | Raw stream ingest |
normalizer | 8002 | Payload normalization + hot state |
analytics | 8003 | Derived metrics + decision snapshots |
strategy-service | 8004 | Strategy CRUD, eval, intents |
execution | 8005 | Risk validation + order routing |
mcp-server | 8006 | Claude MCP tool interface |
Phase Status
Phase | Description | Status |
1 | Shared foundation (schemas, Redis, DB, utils, infra) | ✅ Complete |
2 | Binance ingest (all stream types + private user stream) | 🔲 Next |
3 | Normalizer (all event types + hot state) | 🔲 |
4 | Analytics (10 engines + decision snapshot builder) | 🔲 |
5 | Strategy service (CRUD, versioning, eval, simulation) | 🔲 |
6 | Execution — paper mode (validation + risk engine) | 🔲 |
7 | Execution — live (Binance orders + fill reconciliation) | 🔲 |
8 | MCP server (25 bounded tools + OAuth + audit) | 🔲 |
9 | Gateway API (all REST + WebSocket routes) | 🔲 |
10 | Hardening (tests, observability, incident workflows) | 🔲 |
Quick Start (local dev)
Prerequisites
Python 3.12
Docker + Docker Compose
1. Install shared package
cd C:\Users\ahsan\trading-platform-v2
pip install -e .2. Copy and configure env
Copy-Item .env.example .env
# Edit .env with your Binance keys and secrets3. Start infrastructure
docker compose -f infra/docker-compose.yml up postgres redis -d4. Run migrations
$env:PYTHONPATH = "C:\Users\ahsan\trading-platform-v2"
alembic -c migrations/alembic.ini upgrade head5. Start a service (example: gateway-api)
$env:PYTHONPATH = "C:\Users\ahsan\trading-platform-v2"
python -m uvicorn services.gateway_api.main:app --host 0.0.0.0 --port 8000 --reload6. Run tests
$env:PYTHONPATH = "C:\Users\ahsan\trading-platform-v2"
python -m pytest tests/unit/ -vKey Design Principles
Claude is the controller — never the direct execution layer
Strategy ≠ Execution — TradeIntent objects cross the boundary, never raw orders
Execution is the only Binance caller — no other service may place orders
Private user streams are truth — fills, balances, positions come from there
Raw ≠ Derived — never mixed in the same API field
MCP is bounded — approval levels and symbol policies enforced on every tool call
Paper = Live pipeline — same validation, different execution path
Everything is auditable — audit_log, mcp_tool_calls, execution_events for every action
Idempotent jobs — job_id + deterministic client_order_id prevent duplicate execution
Redis Key Domains
All keys are built via shared.redis.keys.RedisKeys — never inline strings.
market:{type}:{symbol}:*— hot market stateanalytics:{type}:{symbol}:*— derived analyticsaccount:{user_id}:*— account staterisk:{user_id}:*— risk state and limitsstrategy:{id}:*— active strategy stateapproval:{user_id}:level— current approval levelkill_switch:{account_id}— global kill switch flagpause:user:{account_id}— per-user trading pausepause:symbol:{account_id}:{symbol}— per-symbol pausecooldown:{account_id}:{symbol}— post-loss cooldownjob:lock:{job_id}— execution job idempotency lock
Redis Streams
stream:binance:raw— raw Binance payloadsstream:binance:normalized— canonical NormalizedEvent recordsstream:analytics:derived— analytics engine outputsstream:strategy:intents— TradeIntent objectsstream:execution:events— execution lifecycle eventsstream:mcp:audit— MCP tool call audit trail
Database
28 tables across 5 domains:
Market: symbols, candles, trade_history, funding_history, oi_history, liquidation_events, wall_events, market_snapshots
Account: users, exchange_accounts, api_credentials_ref, balances, positions, orders, fills
Execution: execution_jobs, execution_events, risk_policies, approval_levels
Strategy: strategies, strategy_versions, strategy_runs, strategy_evaluations, strategy_actions, strategy_rollbacks
Audit: mcp_sessions, mcp_tool_calls, audit_log, incident_log, account_update_reasons
Approval Levels
Level | Value | Can Do |
L0 | l0_readonly | Read data only |
L1 | l1_simulation | Run simulations |
L2 | l2_paper | Paper trading |
L3 | l3_assisted_live | Live with confirmation |
L4 | l4_bounded_auto | Bounded auto-execution |
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Ahsansabir143/mcp-web-app'
If you have feedback or need assistance with the MCP directory API, please join our Discord server