Luno MCP サーバー
Luno暗号通貨取引API用のモデルコンテキストプロトコル(MCP)サーバー。このサーバーは、AIモデルとアプリケーションが暗号通貨取引用のLuno APIと連携するための標準化されたインターフェースを提供します。
特徴
Luno API経由のリアルタイム暗号通貨価格情報
すべての取引ペアの市場概要
口座残高照会
注文管理(発注、キャンセル、ステータス)
取引履歴の取得
料金情報
標準化されたJSON-RPC 2.0インターフェース
AIアプリケーションとのシンプルな統合
Related MCP server: AMOCA Solana MCP Server
前提条件
Python 3.8 以上 (Python 3.9 以上を推奨)
パッケージ管理のための
uvAPIキー付きのLunoアカウント(全機能対応)
インストール
このリポジトリをクローンする
uvを使って仮想環境を作成する
依存関係をインストールする
Luno API 資格情報を設定します (1 つの方法を選択):
Docker サポート
Docker を使用して MCP サーバーを実行すると、さまざまなプラットフォーム間での展開が容易になり、環境の一貫性も確保できます。
Docker Compose の使用(推奨)
サンプル環境ファイルをコピーし、資格情報を設定します。
サーバーを起動します。
サーバーは、WebSocket モードでws://localhost:8765で利用できるようになります。
ログを表示:
サーバーを停止します。
Dockerを直接使用する
イメージをビルドします。
コンテナを実行します。
AIアシスタントと併用する
Docker コンテナを起動したら、さまざまな AI アシスタントを接続して Luno MCP サーバーを使用できます。
カーソル
カーソル設定に以下を追加します。
クロードデスクトップ
Claude Desktop 設定には、MCP サーバーを構成するための 2 つのオプションがあります。
オプション 1: Docker を使用する (推奨)
この構成では、Docker コンテナ内でサーバーを起動し、WebSocket 経由で接続します。
オプション2: Pythonの直接実行を使用する
この構成では、STDIO トランスポートを使用して Python サーバーを直接実行します。
注:
/path/to/mcp-lunoリポジトリのクローンを作成した実際のパスに置き換えます。
クライン
Cline 構成ファイルに次の内容を追加します。
Docker による SSL サポート
Docker コンテナで SSL を使用するには:
提供されたスクリプトを使用して証明書を生成します。
コンテナを実行するときに証明書ディレクトリをマウントします。
手動インストール
オプションA : .envファイルを使用する
次に、 .envファイルを編集して、Luno API 資格情報を追加します。
オプションB : VS Code MCP構成を使用する
.vscode/mcp.jsonファイルを編集し、 envセクションに資格情報を追加します。
注: 有効なAPI認証情報がない場合は、パブリックエンドポイントのみ利用可能です。推奨事項: セキュリティのため、コードを共有する際は環境変数を使用することをお勧めします。
サーバーの実行
MCP サーバーは、次の 2 つの異なるトランスポート モードで実行できます。
STDIO トランスポート (デフォルト、単一クライアント)
これはデフォルトのモードで、標準入出力を介して単一のクライアント接続をサポートします。
WebSocket トランスポート (複数のクライアント)
複数のクライアント接続を同時にサポートするには、サーバーを WebSocket モードで実行します。
WebSocket サーバーは、デフォルトではws://localhost:8765で起動します。
WebSocketサーバーのテスト
付属のテスト クライアントを使用して WebSocket サーバーをテストできます。
これにより、サーバーが WebSocket 接続を正しく処理し、要求に応答していることを確認できます。
コマンドラインオプション
--transport {stdio,websocket}: 使用するトランスポートメカニズム (デフォルト: stdio)--host HOST: WebSocketトランスポートを使用するときにバインドするホスト(デフォルト: localhost)--port PORT: WebSocketトランスポートを使用するときにバインドするポート(デフォルト: 8765)
環境変数
環境変数を使用してトランスポートを構成することもできます。
MCP_TRANSPORT: トランスポートメカニズム(「stdio」または「websocket」)MCP_HOST: WebSocketトランスポートにバインドするホストMCP_PORT: WebSocketトランスポートにバインドするポート
標準クライアントでのテスト
STDIO トランスポートをテストするには、付属のテスト クライアントを使用します。
MCPプロトコル統合
このサーバーはモデルコンテキストプロトコル(MCP)を実装しており、AIモデルは標準化されたJSON-RPC 2.0メッセージを介してサーバーとやり取りできます。サーバーはデフォルトでSTDIO経由で動作するため、VS Code拡張機能やその他のMCP互換クライアントとの統合が容易です。
VSコード統合
.vscode/mcp.jsonファイルは、VS Code で使用するサーバーの設定を行います。2 つのサーバー設定が用意されています。
luno-mcp-server-stdio- STDIO トランスポートを使用します (デフォルトの MCP 動作)luno-mcp-server-websocket- 複数のクライアントをサポートするためにWebSocketトランスポートを使用します
VSコードの構成
VS Code で WebSocket トランスポートを使用するには、 mcp.jsonファイルにプロセス タイプの構成を含めます。
WebSocket トランスポートを使用する場合、VS Code は STDIO 経由で通信するのではなく、バックグラウンド プロセスとしてサーバーを起動します。
VS Code で MCP サーバーを構成する
.vscode/mcp.jsonファイルから直接サーバーを構成できます。
この構成は、MCP プロトコルをサポートする VS Code 拡張機能によって使用され、AI モデルやその他のツールとの統合が容易になります。
利用可能な方法
方法 | 説明 | 認証が必要です |
| サーバーの機能に関する情報を返す | いいえ |
| 特定の取引ペアの現在の価格を取得する | いいえ |
| 利用可能なすべての市場の概要を確認する | いいえ |
| すべてのアカウントの残高を取得する | はい |
| 新しい注文をする | はい |
| 既存の注文をキャンセルする | はい |
| 注文のステータスを取得する | はい |
| アカウントの取引履歴を取得する | はい |
| 取引ペアの手数料情報を取得する | はい |
リクエストの例
サーバー機能を取得します:
Bitcoin-ZARの価格を取得:
発達
プロジェクト構造
テストの実行
新機能の追加
新しい Luno API 機能を追加するには:
src/luno_mcp_server/luno_client.pyのLunoClientクラスを新しい API メソッドで拡張します。src/luno_mcp_server/server.pyのLunoMCPServerクラスに対応するメソッドを追加します。server.pyのMCP_METHODSリストを更新し、_register_methods関数でメソッドを登録します。テストを
tests/ディレクトリに追加する
建築
MCP サーバーはシンプルなアーキテクチャを使用します。
通信用のJSON-RPC 2.0
トランスポート用の標準入出力(STDIO)
暗号通貨操作のためのLuno APIクライアント
トラブルシューティング
よくある問題
API認証エラー: Luno APIキーが
.envファイルまたは.vscode/mcp.jsonに正しく設定されていることを確認してください。インポートエラー: 仮想環境がアクティブ化されていることを確認してください
レート制限: Luno API にはレート制限があります。本番環境での使用には再試行ロジックを実装してください。
構成の優先順位
サーバーを起動すると、構成値が次の優先順位で読み込まれます。
MCP 構成を通じて渡される環境変数 (最高優先度)
.envファイルの値コード内のデフォルト値(最低優先度)
つまり、MCP 構成で値を設定して、 .envファイル内の既存の値を上書きすることができます。
マルチクライアントサポート
このMCPサーバーは、WebSocketを介して複数のクライアントからの同時接続をサポートします。詳細については、 MULTI_CLIENT_SUPPORT.mdをご覧ください。
交通手段
サーバーは 2 つのトランスポート メカニズムをサポートしています。
STDIO (デフォルト): 標準入出力 - 単一クライアント、VS Code MCP によって使用される
WebSocket : ネットワークトランスポート - セキュリティ機能を備えた複数のクライアント
WebSocketトランスポートで実行
基本的な使用方法:
セキュリティ オプション付き:
SSL/TLS 暗号化の場合:
WebSocketクライアントツール
リポジトリには 2 つのクライアント ツールが含まれています。
test_websocket_client.py : シンプルなテストクライアント
python test_websocket_client.pyenhanced_websocket_client.py : マルチクライアントシミュレーションを備えた高度なクライアント
# Single client mode python enhanced_websocket_client.py --mode single # Multi-client simulation (3 clients) python enhanced_websocket_client.py --mode multi --clients 3
ライセンス
MITライセンス
著作権 (c) 2025
本ソフトウェアおよび関連ドキュメント ファイルのコピーを入手するすべての人に対して、無償で許可が付与されます。