exec-mcp
Execution MCP for Trader27.
This service is the order-and-account layer of the stack. It owns exchange access, account metadata, balances, fee schedules, precision/step rules, and the actual order lifecycle.
Role in the stack
- Crypto MCP: market data, indicators, technical context
- News MCP: sentiment, events, background context
- Trader / Strategy client: strategy logic, UI, internal loop, decision making
- Exec MCP: authenticated execution, account routing, order placement, query, cancel, metadata
What this server should do
- List configured accounts, optionally filtered by exchange
- Expose account metadata, balances, commissions, and exchange-specific limits
- Keep the public MCP surface read-only for now
- Use the dashboard for adding, updating, enabling, disabling, and deleting accounts
- Store credentials separately from account metadata
- Record balance snapshots over time internally
- Support multiple exchanges and subaccounts
- Keep credentials isolated from strategy and UI layers
- Provide a stable API for strategy engines and operator UIs
Project goals
- FastMCP-based service
- Clear separation from strategy logic
- Safe credential handling
- Exchange-agnostic account abstraction
- Paper-trading friendly architecture
- Observability, auditability, and restart safety
Current status
This folder is the starting scaffold. The architecture and intent are captured in trader27.md and will be expanded into:
- server contract
- account/exchange adapters
- execution state model
- logging and audit trail
- test harness / paper trading mode
Dashboard shape
GET / shows a minimal landing page with links
GET /dashboard shows the HTML dashboard
- the dashboard creates, updates, and deletes accounts with forms
- the visible account reference is the exchange-side identifier, for example the Bitstamp numeric user id
- the internal database primary key is separate and hidden from the web UI
- the
name field is the arbitrary label you choose for that account
Notes
This project is intended to stay lightweight at the FastMCP boundary and push exchange-specific details into adapter modules.