Skip to main content
Glama
remybanks77

market-pulse-mcp

by remybanks77

market-pulse-mcp

Ein kleiner, fokussierter MCP-Server (Model Context Protocol), der einem LLM Live-Kryptomarktdaten liefert: Spotpreise, OHLCV-Kerzen, Orderbuch-Snapshots, Perpetual-Funding-Raten und eine Handvoll technischer Indikatoren, die von Grund auf berechnet werden. Jede Datenquelle ist eine öffentliche, schlüssellose Exchange-API, es gibt also nichts zu konfigurieren und kein Konto zu erstellen.

Erstellt von Brandon Perez (@remybanks77) als Portfolio-Projekt, das eine saubere MCP-Server-Implementierung demonstriert: typisiertes Python, ein kleiner Abhängigkeits-Fußabdruck und Indikatormathematik, die von Hand geschrieben wurde, statt aus pandas oder ta-lib zu stammen.

Was es tut

market-pulse-mcp stellt sechs Tools über den MCP-stdio-Transport bereit:

Tool

Beschreibung

Quelle

get_price(symbol)

Aktueller Spotpreis, bestes Bid/Ask, 24h-Volumen

Coinbase Exchange

get_candles(symbol, granularity, limit)

OHLCV-Kerzen

Coinbase Exchange

get_orderbook(symbol, depth)

Top-of-Book-Snapshot, Spread, Bid/Ask-Ungleichgewicht

Coinbase Exchange

get_funding_rate(symbol)

Perp-Funding-Rate, Mark-Preis, Open Interest

Hyperliquid

compute_indicators(symbol, granularity, limit)

RSI(14), EMA(20/50), ATR(14), realisierte Volatilität

Coinbase Exchange (lokal berechnet)

market_summary(symbols)

Kompakte Multi-Asset-Tabelle, die das Obige kombiniert

Coinbase Exchange + Hyperliquid

Symbole sind einfache Basis-Ticker: "BTC", "ETH", "SOL". Ein nachgestelltes -USD oder /USD wird toleriert und entfernt, sodass "BTC-USD" und "BTC" äquivalent sind.

Related MCP server: MCP Crypto Market Data Server

Installation

Mit uv (empfohlen)

git clone https://github.com/remybanks77/market-pulse-mcp.git
cd market-pulse-mcp
uv venv
uv pip install -e ".[dev]"

Mit pip

git clone https://github.com/remybanks77/market-pulse-mcp.git
cd market-pulse-mcp
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"

Beide installieren ein market-pulse-mcp-Konsolenskript, das den Server über stdio ausführt.

Konfiguration in Claude Code

Fügen Sie dies zur .mcp.json Ihres Projekts hinzu (oder führen Sie claude mcp add aus):

{
  "mcpServers": {
    "market-pulse": {
      "command": "market-pulse-mcp",
      "args": []
    }
  }
}

Wenn Sie nicht in eine aktive virtuelle Umgebung installiert haben, zeigen Sie mit command direkt auf die Binärdatei der venv, zum Beispiel /path/to/market-pulse-mcp/.venv/bin/market-pulse-mcp.

Konfiguration in Claude Desktop

Fügen Sie dies zu claude_desktop_config.json hinzu (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json, Windows: %APPDATA%\Claude\claude_desktop_config.json):

{
  "mcpServers": {
    "market-pulse": {
      "command": "/absolute/path/to/market-pulse-mcp/.venv/bin/market-pulse-mcp"
    }
  }
}

Starten Sie Claude Desktop nach dem Speichern neu. Der market-pulse-Server sollte unter dem Hammer/Werkzeuge-Symbol mit seinen sechs Tools erscheinen.

Beispiel-Konversation

User: What's BTC doing right now, and is it overbought?

Claude: [calls get_price("BTC")]
        [calls compute_indicators("BTC", granularity="1h", limit=200)]

BTC is at $109,842 (bid $109,838 / ask $109,846). On the 1h chart:
  - RSI(14): 68.4, approaching overbought but not there yet (>70)
  - EMA(20) $109,510 above EMA(50) $108,220: short-term trend is bullish
  - ATR(14): $412, so a typical 1h range is roughly 0.4% of price
  - Realized vol (annualized): 47.9%

Not screaming overbought, but RSI is climbing. Want me to check the order
book for signs of resistance near current price, or pull funding rates to
see how leveraged longs are positioned?

User: Check funding, and give me a quick scan of BTC, ETH, and SOL.

Claude: [calls get_funding_rate("BTC")]
        [calls market_summary(["BTC", "ETH", "SOL"])]

Funding on BTC perps (Hyperliquid): 0.0057% per 8h (about 6.2% annualized).
Mildly long-skewed, nothing extreme.

Quick scan:
  BTC   $109,842   RSI 68.4   bullish   funding +6.2%/yr
  ETH   $3,912      RSI 61.2   bullish   funding +4.8%/yr
  SOL   $198.30     RSI 54.9   flat      funding +2.1%/yr

All three trending up on the hourly with positive funding. Nothing at a
extreme RSI level right now.

Design-Anmerkungen

Warum handgeschriebene Indikatormathematik statt pandas oder ta-lib. Der ganze Sinn dieses Servers ist es, eine kleine, prüfbare Abhängigkeit zu sein: mcp und httpx, sonst nichts. pandas für vier Indikatorformeln einzubinden wäre eine viel schwerere Abhängigkeit als die eigentliche Serverlogik. market_pulse_mcp/indicators.py implementiert SMA, EMA, Wilders RSI, Wilders ATR und annualisierte realisierte Volatilität (aus Log-Renditen) direkt auf einfachen Python-Listen, wobei jede Formel gegen von Hand abgeleitete Fixture-Werte unit-getestet wird, sodass die Mathematik selbst verifiziert ist, nicht nur die Verdrahtung darum herum.

Warum ausgerechnet Coinbase und Hyperliquid. Beide stellen vollständige Marktdaten ohne API-Schlüssel bereit: Die öffentlichen REST-Endpunkte von Coinbase Exchange (api.exchange.coinbase.com) decken Ticker, Kerzen und Orderbuch ab; die öffentliche Info-API von Hyperliquid (api.hyperliquid.xyz/info) deckt Perp-Funding und Mark-Preise in einer einzigen metaAndAssetCtxs-Anfrage ab. Das hält dieses Projekt wirklich null-konfigurativ: Klonen, installieren, ausführen, keine Anmeldung.

Rate-Limit-Handhabung. Die öffentliche Stufe von Coinbase begrenzt die Rate aggressiv (ein paar Anfragen pro Sekunde). exchanges.py umschließt jede Anfrage mit einer kleinen Retry-Schleife mit exponentiellem Backoff, die bei HTTP-429- und 5xx-Antworten erneut versucht (bis zu 3 Versuche, wobei der Backoff jedes Mal verdoppelt wird) und bei anderen 4xx-Fehlern schnell fehlschlägt, da diese auf eine fehlerhafte Anfrage hindeuten und nicht auf einen vorübergehenden Zustand. market_summary ruft dies pro Symbol sequenziell auf, statt Anfragen parallel zu feuern, was langsamer ist, aber einen Multi-Symbol-Scan deutlich unter dem öffentlichen Rate-Limit hält.

Fehlerbehandlungs-Philosophie. Jedes Tool fängt Ausnahmen von den Exchange-Clients und der Indikatormathematik ab und gibt {"error": "..."} zurück, statt einen Traceback durch den MCP-Transport propagieren zu lassen. Das gibt dem aufrufenden Modell eine lesbare Nachricht, auf die es reagieren kann (erneut versuchen, den Benutzer um ein anderes Symbol bitten usw.), statt eines undurchsichtigen Tool-Fehlers.

Tests

pytest                    # offline tests only (default; see pyproject.toml)
pytest -m integration     # also hit live Coinbase / Hyperliquid APIs

Die Offline-Suite (tests/test_indicators.py, tests/test_exchanges.py) ist vollständig deterministisch: Indikatorwerte werden gegen von Hand erarbeitete Fixtures geprüft (siehe die Kommentare in jedem Test), und Exchange-Hilfsfunktionen (Symbolnormalisierung, Granularitätsauflösung) sind reine Funktionen ohne Netzwerkzugriff. Die Integrationssuite (tests/test_integration.py) ist mit @pytest.mark.integration markiert und standardmäßig übersprungen, da sie von Live-Preisen und externer Verfügbarkeit abhängt; führen Sie sie explizit aus, wenn Sie bestätigen möchten, dass der Clientcode noch zu den tatsächlichen API-Strukturen passt.

Projektstruktur

market_pulse_mcp/
  server.py       # MCPServer-based server: tool definitions, stdio entry point
  exchanges.py    # Coinbase + Hyperliquid HTTP clients, symbol/granularity helpers
  indicators.py   # RSI, EMA, ATR, realized volatility (stdlib only)
tests/
  test_indicators.py   # offline, fixture-based
  test_exchanges.py    # offline, pure-function tests
  test_integration.py  # live API tests, opt-in via -m integration

Lizenz

MIT, siehe LICENSE.

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    -
    quality
    D
    maintenance
    Provides real-time and historical cryptocurrency market data from 100+ exchanges including prices, OHLCV data, market statistics, and order books through the CCXT library with intelligent caching.
  • F
    license
    -
    quality
    C
    maintenance
    Provides real-time and historical cryptocurrency market data using ccxt, enabling users to fetch live prices, historical candlestick data, and stream real-time ticker updates across multiple exchanges.
    14
  • A
    license
    A
    quality
    C
    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
    1
    MIT

View all related MCP servers

Related MCP Connectors

  • Live crypto data: funding rates, funding arbitrage, OI pressure, Fear & Greed. Free, no API key.

  • Provide real-time cryptocurrency price data and market analysis.

  • Real-time crypto prices from Binance, Coinbase, Kraken, OKX, and Bybit

View all MCP Connectors

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/remybanks77/market-pulse-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server