Integrations
Supports configuration management through .env files, allowing secure storage of API credentials and other environment variables needed for the Luno exchange integration.
Provides real-time cryptocurrency price information and trading capabilities through the Luno exchange, including market overview, account balance queries, order management, and transaction history retrieval for Bitcoin and other cryptocurrencies.
Enables version control and codebase management for the MCP server, supporting cloning of the repository during installation.
Luno MCP Server
Ein Model Context Protocol (MCP)-Server für die Luno-API für den Kryptowährungshandel. Dieser Server bietet eine standardisierte Schnittstelle für KI-Modelle und -Anwendungen zur Interaktion mit der Luno-API für den Kryptowährungshandel.
Merkmale
- Echtzeit-Preisinformationen zu Kryptowährungen über die Luno-API
- Marktübersicht für alle Handelspaare
- Kontostandsabfragen
- Auftragsverwaltung (Aufgeben, Stornieren, Status)
- Abrufen des Transaktionsverlaufs
- Gebühreninformationen
- Standardisierte JSON-RPC 2.0-Schnittstelle
- Einfache Integration mit KI-Anwendungen
Voraussetzungen
- Python 3.8+ (Python 3.9+ empfohlen)
uv
für die Paketverwaltung- Luno-Konto mit API-Schlüsseln (für volle Funktionalität)
Installation
- Dieses Repository klonen
- Erstellen Sie eine virtuelle Umgebung mit
uv
- Abhängigkeiten installieren
- Konfigurieren Sie Ihre Luno-API-Anmeldeinformationen (wählen Sie eine Methode):
Docker-Unterstützung
Sie können den MCP-Server mit Docker ausführen, um die Bereitstellung zu vereinfachen und eine konsistente Umgebung auf verschiedenen Plattformen zu gewährleisten.
Verwenden von Docker Compose (empfohlen)
- Kopieren Sie die Beispielumgebungsdatei und konfigurieren Sie Ihre Anmeldeinformationen:
- Starten Sie den Server:
Der Server ist im WebSocket-Modus unter ws://localhost:8765
verfügbar.
- Protokolle anzeigen:
- Stoppen Sie den Server:
Docker direkt verwenden
Erstellen Sie das Image:
Führen Sie den Container aus:
Verwendung mit KI-Assistenten
Nach dem Starten des Docker-Containers können Sie verschiedene KI-Assistenten verbinden, um den Luno MCP-Server zu verwenden:
Cursor
Fügen Sie Ihrer Cursorkonfiguration Folgendes hinzu:
Claude Desktop
In den Claude Desktop-Einstellungen haben Sie zwei Möglichkeiten, den MCP-Server zu konfigurieren:
Option 1: Docker verwenden (empfohlen)
Diese Konfiguration startet den Server in einem Docker-Container und stellt eine Verbindung über WebSocket her.
Option 2: Direkte Python-Ausführung verwenden
Diese Konfiguration führt den Python-Server direkt mithilfe des STDIO-Transports aus.
Hinweis: Ersetzen Sie
/path/to/mcp-luno
durch den tatsächlichen Pfad, in den Sie das Repository geklont haben.
Cline
Fügen Sie Ihrer Cline-Konfigurationsdatei Folgendes hinzu:
SSL-Unterstützung mit Docker
So verwenden Sie SSL mit dem Docker-Container:
- Generieren Sie Zertifikate mit dem bereitgestellten Skript:
- Hängen Sie das Zertifikatsverzeichnis ein, wenn Sie den Container ausführen:
Manuelle Installation
Option A : Verwenden .env
Datei
Bearbeiten Sie dann die .env
Datei, um Ihre Luno-API-Anmeldeinformationen hinzuzufügen:
Option B : Verwenden der VS Code MCP-Konfiguration
Bearbeiten Sie die Datei .vscode/mcp.json
und fügen Sie Ihre Anmeldeinformationen zum Abschnitt env
hinzu:
Hinweis : Ohne gültige API-Anmeldeinformationen sind nur öffentliche Endpunkte verfügbar. Empfehlung : Verwenden Sie aus Sicherheitsgründen beim Teilen von Code vorzugsweise Umgebungsvariablen.
Ausführen des Servers
Sie können den MCP-Server in zwei verschiedenen Transportmodi ausführen:
STDIO-Transport (Standard, einzelner Client)
Dies ist der Standardmodus, der eine einzelne Clientverbindung über die Standardeingabe/-ausgabe unterstützt:
WebSockets-Transport (mehrere Clients)
Um mehrere Clientverbindungen gleichzeitig zu unterstützen, führen Sie den Server im WebSocket-Modus aus:
Der WebSocket-Server wird standardmäßig unter ws://localhost:8765
gestartet.
Testen des WebSocket-Servers
Sie können den WebSocket-Server mit dem mitgelieferten Testclient testen:
Dadurch lässt sich überprüfen, ob der Server WebSocket-Verbindungen korrekt verarbeitet und auf Anfragen reagiert.
Befehlszeilenoptionen
--transport {stdio,websocket}
: Zu verwendender Transportmechanismus (Standard: stdio)--host HOST
: Host, an den bei Verwendung des WebSocket-Transports gebunden werden soll (Standard: localhost)--port PORT
: Port, an den bei Verwendung des WebSocket-Transports gebunden werden soll (Standard: 8765)
Umgebungsvariablen
Sie können den Transport auch mithilfe von Umgebungsvariablen konfigurieren:
MCP_TRANSPORT
: Transportmechanismus („stdio“ oder „websocket“)MCP_HOST
: Host, an den für den WebSocket-Transport gebunden werden sollMCP_PORT
: Port für die Bindung zum WebSocket-Transport
Testen mit dem Standard-Client
Verwenden Sie zum Testen des STDIO-Transports den mitgelieferten Testclient:
MCP-Protokollintegration
Dieser Server implementiert das Model Context Protocol, das die Interaktion von KI-Modellen über standardisierte JSON-RPC 2.0-Nachrichten ermöglicht. Der Server läuft standardmäßig über STDIO und ermöglicht so die einfache Integration mit VS Code-Erweiterungen und anderen MCP-kompatiblen Clients.
VS Code-Integration
Die Datei .vscode/mcp.json
konfiguriert den Server für die Verwendung mit VS Code. Es stehen zwei Serverkonfigurationen zur Verfügung:
luno-mcp-server-stdio
– Verwendet den STDIO-Transport (Standard-MCP-Verhalten)luno-mcp-server-websocket
- Verwendet den WebSocket-Transport für die Unterstützung mehrerer Clients
VS Code-Konfiguration
Um den WebSocket-Transport mit VS Code zu verwenden, enthält die Datei mcp.json
eine Prozesstypkonfiguration:
Bei Verwendung des WebSocket-Transports startet VS Code den Server als Hintergrundprozess, anstatt über STDIO zu kommunizieren.
Konfigurieren des MCP-Servers in VS Code
Sie können den Server direkt aus der Datei .vscode/mcp.json
konfigurieren:
Diese Konfiguration wird von VS Code-Erweiterungen verwendet, die das MCP-Protokoll unterstützen, wodurch die Integration mit KI-Modellen und anderen Tools vereinfacht wird.
Verfügbare Methoden
Verfahren | Beschreibung | Authentifizierung erforderlich |
---|---|---|
describe_capabilities | Gibt Informationen zu Serverfunktionen zurück | NEIN |
get_crypto_price | Aktuellen Preis für ein bestimmtes Handelspaar abrufen | NEIN |
get_market_overview | Verschaffen Sie sich einen Überblick über alle verfügbaren Märkte | NEIN |
get_account_balance | Holen Sie sich den Kontostand aller Konten | Ja |
place_order | Eine neue Bestellung aufgeben | Ja |
cancel_order | Eine bestehende Bestellung stornieren | Ja |
get_order_status | Den Status einer Bestellung abrufen | Ja |
get_transaction_history | Abrufen des Transaktionsverlaufs für ein Konto | Ja |
get_fees | Erhalten Sie Gebühreninformationen für ein Handelspaar | Ja |
Beispielanfragen
Holen Sie sich Serverfunktionen:
Bitcoin-ZAR-Preis abrufen:
Entwicklung
Projektstruktur
Ausführen von Tests
Neue Funktionen hinzufügen
So fügen Sie neue Luno-API-Funktionen hinzu:
- Erweitern Sie die
LunoClient
-Klasse insrc/luno_mcp_server/luno_client.py
mit neuen API-Methoden - Fügen Sie entsprechende Methoden in der
LunoMCPServer
-Klasse insrc/luno_mcp_server/server.py
- Aktualisieren Sie die
MCP_METHODS
-Liste inserver.py
und registrieren Sie Ihre Methoden in der Funktion_register_methods
- Fügen Sie Tests im Verzeichnis
tests/
“ hinzu
Architektur
Der MCP-Server verwendet eine einfache Architektur:
- JSON-RPC 2.0 für die Kommunikation
- Standard-Eingabe/Ausgabe (STDIO) für den Transport
- Luno-API-Client für Kryptowährungsoperationen
Fehlerbehebung
Häufige Probleme
- API-Authentifizierungsfehler : Stellen Sie sicher, dass Ihre Luno-API-Schlüssel entweder in der
.env
Datei oder in.vscode/mcp.json
korrekt eingestellt sind. - Importfehler : Stellen Sie sicher, dass Sie die virtuelle Umgebung aktiviert haben
- Ratenbegrenzung : Die Luno-API verfügt über Ratenbegrenzungen – implementieren Sie eine Wiederholungslogik für den Produktionseinsatz
Konfigurationspriorität
Beim Starten des Servers werden die Konfigurationseinstellungen in dieser Prioritätsreihenfolge geladen:
- Umgebungsvariablen, die über die MCP-Konfiguration übergeben werden (höchste Priorität)
- Werte in der
.env
Datei - Standardwerte im Code (niedrigste Priorität)
Dies bedeutet, dass Sie in der MCP-Konfiguration Werte festlegen können, um alle vorhandenen Werte in Ihrer .env
Datei zu überschreiben.
Multi-Client-Unterstützung
Dieser MCP-Server unterstützt mehrere Clientverbindungen gleichzeitig über WebSockets. Ausführliche Informationen finden Sie unter MULTI_CLIENT_SUPPORT.md .
Transportmöglichkeiten
Der Server unterstützt zwei Transportmechanismen:
- STDIO (Standard): Standard-Eingabe/Ausgabe – einzelner Client, verwendet von VS Code MCP
- WebSockets : Netzwerktransport – mehrere Clients mit Sicherheitsfunktionen
Ausführen mit WebSockets-Transport
Grundlegende Verwendung:
Mit Sicherheitsoptionen:
Mit SSL/TLS-Verschlüsselung:
WebSocket-Client-Tools
Das Repository enthält zwei Client-Tools:
- test_websocket_client.py : Einfacher TestclientCopy
- enhanced_websocket_client.py : Erweiterter Client mit Multi-Client-SimulationCopy
Lizenz
MIT-Lizenz
Copyright (c) 2025
Jedem, der eine Kopie dieser Software und der zugehörigen Dokumentationsdateien erhält, wird hiermit unentgeltlich die Erlaubnis erteilt.
This server cannot be installed
Ein Model Context Protocol-Server, der eine standardisierte Schnittstelle für KI-Modelle und -Anwendungen bereitstellt, um mit der Luno-API für den Kryptowährungsaustausch für Handelsvorgänge zu interagieren.
Related MCP Servers
- AsecurityAlicenseAqualityA Model Context Protocol server that provides read-only access to Bybit's cryptocurrency exchange API, allowing users to query real-time cryptocurrency data using natural language.Last updated -95TypeScriptMIT License
- AsecurityAlicenseAqualityA Model Context Protocol server implementation that enables AI assistants to interact with the Paradex perpetual futures trading platform, allowing for retrieving market data, managing trading accounts, placing orders, and monitoring positions.Last updated -284PythonMIT License
- AsecurityFlicenseAqualityA Model Context Protocol server that enables AI assistants to interact with the Deriv trading API, providing access to active trading symbols and account balance information.Last updated -2Python
- AsecurityFlicenseAqualityA Model Context Protocol server that provides access to CoinMarketCap's cryptocurrency data, enabling AI applications to retrieve cryptocurrency listings, quotes, and detailed information.Last updated -310Python