Skip to main content
Glama
nullpointer-hq

exchange-data-mcp

exchange-data-mcp

Schreibgeschützter Marktdaten-MCP-Server für Krypto-Börsen mit ausschließlich öffentlichen Endpunkten und ohne API-Schlüssel und ohne Konten. Binance, KuCoin und Coinbase werden in eine einheitliche Form normalisiert und für den LLM-Kontext serialisiert.

Funktioniert als MCP-Server für Agent-Clients oder als reine Python-Bibliothek ohne Abhängigkeiten.

Warum es das gibt

Agenten, die mit Märkten arbeiten, benötigen Orderbücher, Trades und Kerzen, und die bestehenden Optionen reichen dem Modell rohes Börsen-JSON. Rohe Payloads enthalten oft zusätzlichen unnötigen Ballast, den das Modell nicht liest, während diese Option das nicht tut und obendrein die Informationen über die Börsen hinweg vereinheitlicht. Dieses Paket normalisiert die Dialekte einmal und serialisiert die Daten dann einfacher.

Related MCP server: PredMCP

Bemerkenswertes dazu:

  • Symbol-Dialekte. BTC-USDT auf KuCoin und Coinbase, BTCUSDT auf Binance, zusammengeführt in einer kanonischen Form (BASE-QUOTE).

  • Zeitstempel-Einheiten unterscheiden sich je nach Börse und Endpunkt. Binance liefert Millisekunden, KuCoin-Statistiken und -Orderbücher Millisekunden, die KuCoin-Trade-Historie Nanosekunden, Kerzen auf KuCoin und Coinbase Sekunden, und Coinbase-Ticker sind ISO-Strings. Jedes Modell wird in ms seit der Epoche ausgegeben.

  • Coinbase-Kerzenzeilen haben die Form [time, low, high, open, close, volume], die neuesten zuerst. Das ist die dokumentierte Spaltenreihenfolge. KuCoin-Kerzen verwenden stattdessen [time, open, close, high, low, ...]. Entweder positionsbasierte Zuordnung mit Tests, oder der Parser invertiert die Kerzen.

  • Ratenlimits gelten pro IP, und Agent-Tools werden schubweise aktiv. Der Cache hält TTLs pro Endpunkt und fasst gleichzeitige Fehlzugriffe zu einer einzigen Anfrage zusammen (Single-Flight), sodass fünf Tools, die in derselben Sekunde dasselbe Orderbuch lesen, genau einen HTTP-Aufruf kosten. Fehlschläge werden nicht gecacht, und ein Aufrufer, dessen Anführer einen Fehler auslöste, versucht es sofort danach erneut.

  • Die Spread-Berechnung läuft durchgängig mit Decimal.

  • Schlanke Serialisierer behalten exakte Dezimalstrings unter kurzen Schlüsseln. Gemessen an den aufgezeichneten Fixtures: Der 24h-Ticker fällt von 605 Bytes an roher Hülle auf 207 Bytes (34%). Beim bereits kompakten Orderbuch-Snapshot ist die Größe in etwa neutral; der Gewinn ist ein Schema für drei Börsen.

Verwendung

Als Bibliothek (ohne Abhängigkeiten):

from exchange_data_mcp import MarketDataService
from exchange_data_mcp.transport import urllib_fetcher

svc = MarketDataService(urllib_fetcher())
svc.ticker("kucoin", "BTC-USDT")
svc.compare("BTC-USDT")   # same pair on every venue, executable spread from top of book

Als MCP-Server:

pip install -e ".[mcp]"
python -m exchange_data_mcp.server

Verfügbare Tools: get_ticker, get_orderbook, get_recent_trades, get_candles, compare_price.

Fehler sind kategorisiert: wiederholbar (RateLimited mit retry_after, ExchangeUnavailable), Eingabe korrigieren (SymbolNotFound, UnsupportedRequest) oder die Börse hat etwas geändert (BadResponse).

Tests

37 Tests, vollständig offline gegen aufgezeichnete Fixtures:

python3 -m unittest discover -s tests -t .

Status

Für Portfoliozwecke. REST mit einem TTL-Cache. Für die Live-Streaming-Seite mit 10 ms derselben Technik siehe kucoin-fast-stream.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Provides live cryptocurrency market data from over 100 exchanges, enabling AI agents to fetch prices, order books, funding rates, and more for trading analysis and arbitrage opportunities.
    13
    2
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Safe, read-only market data for AI trading agents, offering 44 tools to query prediction markets, perpetuals, and cross-venue signals without the ability to execute trades.
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to query cryptocurrency network and market data through tools for time-series metrics, OHLCV candles, bid/ask quotes, index levels, and asset or market metadata.
    MIT