trading-platform-mcp-server

trading-platform-mcp-server

Enables Claude to monitor and execute Binance trading strategies through a bounded MCP tool interface, with risk controls and audit logging.

Category
Visit Server

README

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)

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 secrets

3. Start infrastructure

docker compose -f infra/docker-compose.yml up postgres redis -d

4. Run migrations

$env:PYTHONPATH = "C:\Users\ahsan\trading-platform-v2"
alembic -c migrations/alembic.ini upgrade head

5. 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 --reload

6. Run tests

$env:PYTHONPATH = "C:\Users\ahsan\trading-platform-v2"
python -m pytest tests/unit/ -v

Key Design Principles

  1. Claude is the controller — never the direct execution layer
  2. Strategy ≠ Execution — TradeIntent objects cross the boundary, never raw orders
  3. Execution is the only Binance caller — no other service may place orders
  4. Private user streams are truth — fills, balances, positions come from there
  5. Raw ≠ Derived — never mixed in the same API field
  6. MCP is bounded — approval levels and symbol policies enforced on every tool call
  7. Paper = Live pipeline — same validation, different execution path
  8. Everything is auditable — audit_log, mcp_tool_calls, execution_events for every action
  9. 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 state
  • analytics:{type}:{symbol}:* — derived analytics
  • account:{user_id}:* — account state
  • risk:{user_id}:* — risk state and limits
  • strategy:{id}:* — active strategy state
  • approval:{user_id}:level — current approval level
  • kill_switch:{account_id} — global kill switch flag
  • pause:user:{account_id} — per-user trading pause
  • pause:symbol:{account_id}:{symbol} — per-symbol pause
  • cooldown:{account_id}:{symbol} — post-loss cooldown
  • job:lock:{job_id} — execution job idempotency lock

Redis Streams

  • stream:binance:raw — raw Binance payloads
  • stream:binance:normalized — canonical NormalizedEvent records
  • stream:analytics:derived — analytics engine outputs
  • stream:strategy:intents — TradeIntent objects
  • stream:execution:events — execution lifecycle events
  • stream: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

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured