market-pulse-mcp
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 |
| Aktueller Spotpreis, bestes Bid/Ask, 24h-Volumen | Coinbase Exchange |
| OHLCV-Kerzen | Coinbase Exchange |
| Top-of-Book-Snapshot, Spread, Bid/Ask-Ungleichgewicht | Coinbase Exchange |
| Perp-Funding-Rate, Mark-Preis, Open Interest | Hyperliquid |
| RSI(14), EMA(20/50), ATR(14), realisierte Volatilität | Coinbase Exchange (lokal berechnet) |
| 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 APIsDie 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 integrationLizenz
MIT, siehe LICENSE.
This server cannot be installed
Maintenance
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
- Flicense-qualityDmaintenanceProvides 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.
- Flicense-qualityDmaintenanceProvides real-time and historical cryptocurrency market data from major exchanges through CCXT. Supports live price lookups, historical OHLCV queries, and includes lightweight caching for improved performance.
- Flicense-qualityCmaintenanceProvides 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
- AlicenseAqualityCmaintenanceProvides 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.131MIT
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
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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