설명 없음

Lukas Goldschmidt 2599530764 websocket, get_account_info 1 개월 전
src 2599530764 websocket, get_account_info 1 개월 전
tests 13c3041b0a stable 1 개월 전
.gitignore 4819fc5395 Initial exec-mcp scaffold 1 개월 전
DB_SCHEME.md 49b43ec541 Stabilize exec-mcp schema and dashboard 1 개월 전
PROJECT.md 4819fc5395 Initial exec-mcp scaffold 1 개월 전
README.md 2599530764 websocket, get_account_info 1 개월 전
app.py 4819fc5395 Initial exec-mcp scaffold 1 개월 전
bitstamp_api_docs.md 2599530764 websocket, get_account_info 1 개월 전
bitstamp_websocket_api.md 2599530764 websocket, get_account_info 1 개월 전
killserver.sh 4819fc5395 Initial exec-mcp scaffold 1 개월 전
pyproject.toml 4819fc5395 Initial exec-mcp scaffold 1 개월 전
requirements.txt 49b43ec541 Stabilize exec-mcp schema and dashboard 1 개월 전
restart.sh 4819fc5395 Initial exec-mcp scaffold 1 개월 전
run.sh 4819fc5395 Initial exec-mcp scaffold 1 개월 전
tests.sh 13c3041b0a stable 1 개월 전

README.md

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 add-account section starts collapsed, since it is only used occasionally
  • 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.

Bitstamp reference docs

A local copy of the Bitstamp WebSocket API docs lives at bitstamp_websocket_api.md in the project root. Use that as the primary reference for live market data, private streams, and reconnect behavior.

The older REST reference file is still present too, but the websocket doc is the one to follow for the next integration step.

Bitstamp metadata cache

The app now persists Bitstamp metadata tables and refreshes them on startup, then once a day in the background:

  • GET /api/v2/currencies/
  • GET /api/v2/markets/

These are stored in SQLite for reuse across restarts.

Bitstamp websocket prices

The app also starts a Bitstamp websocket loop at startup and reconnects on failure. It subscribes to public live_trades_[market] channels for markets inferred from held assets in enabled Bitstamp accounts. Latest prices are persisted in SQLite for later valuation work.