Luno MCP Server
Luno MCP サーバー
Luno暗号通貨取引API用のモデルコンテキストプロトコル(MCP)サーバー。このサーバーは、AIモデルとアプリケーションが暗号通貨取引用のLuno APIと連携するための標準化されたインターフェースを提供します。
_ __ __ ____ ____
| | _ _ _ __ ___ | \/ |/ ___| _ \
| | | | | | '_ \ / _ \ | |\/| | | | |_) |
| |___| |_| | | | | (_) || | | | |___| __/
|_____|\__,_|_| |_|\___/ |_| |_|\____|_| 特徴
Luno API経由のリアルタイム暗号通貨価格情報
すべての取引ペアの市場概要
口座残高照会
注文管理(発注、キャンセル、ステータス)
取引履歴の取得
料金情報
標準化されたJSON-RPC 2.0インターフェース
AIアプリケーションとのシンプルな統合
Related MCP server: Alpaca MCP Server
前提条件
Python 3.8 以上 (Python 3.9 以上を推奨)
パッケージ管理のための
uvAPIキー付きのLunoアカウント(全機能対応)
インストール
このリポジトリをクローンする
git clone https://github.com/amanasmuei/mcp-luno.git
cd mcp-lunouvを使って仮想環境を作成する
uv venv
source .venv/bin/activate # On macOS/Linux
# On Windows use: .venv\Scripts\activate依存関係をインストールする
uv pip install -r requirements.txtLuno API 資格情報を設定します (1 つの方法を選択):
Docker サポート
Docker を使用して MCP サーバーを実行すると、さまざまなプラットフォーム間での展開が容易になり、環境の一貫性も確保できます。
Docker Compose の使用(推奨)
サンプル環境ファイルをコピーし、資格情報を設定します。
cp .env.example .env
# Edit .env file with your Luno API credentialsサーバーを起動します。
docker compose up -dサーバーは、WebSocket モードでws://localhost:8765で利用できるようになります。
ログを表示:
docker compose logs -fサーバーを停止します。
docker compose downDockerを直接使用する
イメージをビルドします。
docker build -t mcp-luno .コンテナを実行します。
docker run -d \
-p 8765:8765 \
-e LUNO_API_KEY=your_api_key_here \
-e LUNO_API_SECRET=your_api_secret_here \
-e MCP_TRANSPORT=websocket \
-e MCP_HOST=0.0.0.0 \
-v ./certs:/app/certs \
--name mcp-luno \
mcp-lunoAIアシスタントと併用する
Docker コンテナを起動したら、さまざまな AI アシスタントを接続して Luno MCP サーバーを使用できます。
カーソル
カーソル設定に以下を追加します。
{
"mcp_servers": {
"luno": {
"type": "websocket",
"url": "ws://localhost:8765"
}
}
}クロードデスクトップ
Claude Desktop 設定には、MCP サーバーを構成するための 2 つのオプションがあります。
オプション 1: Docker を使用する (推奨)
{
"mcpServers": {
"luno": {
"command": "docker",
"args": ["compose", "up"],
"cwd": "/path/to/mcp-luno",
"transport": "websocket",
"url": "ws://localhost:8765",
"env": {
"LUNO_API_KEY": "your_api_key_here",
"LUNO_API_SECRET": "your_api_secret_here"
}
}
}
}この構成では、Docker コンテナ内でサーバーを起動し、WebSocket 経由で接続します。
オプション2: Pythonの直接実行を使用する
{
"mcpServers": {
"luno": {
"command": "python",
"args": ["-m", "src.main", "--transport", "stdio"],
"cwd": "/path/to/mcp-luno",
"transport": "stdio",
"env": {
"PYTHONPATH": "${workspaceFolder}",
"LUNO_API_KEY": "your_api_key_here",
"LUNO_API_SECRET": "your_api_secret_here"
}
}
}
}この構成では、STDIO トランスポートを使用して Python サーバーを直接実行します。
注:
/path/to/mcp-lunoリポジトリのクローンを作成した実際のパスに置き換えます。
クライン
Cline 構成ファイルに次の内容を追加します。
{
"mcp": {
"servers": {
"luno": {
"transport": "websocket",
"url": "ws://localhost:8765"
}
}
}
}Docker による SSL サポート
Docker コンテナで SSL を使用するには:
提供されたスクリプトを使用して証明書を生成します。
./generate_certificates.shコンテナを実行するときに証明書ディレクトリをマウントします。
docker run -d \
-p 8765:8765 \
-e LUNO_API_KEY=your_api_key_here \
-e LUNO_API_SECRET=your_api_secret_here \
-e MCP_TRANSPORT=websocket \
-e MCP_HOST=0.0.0.0 \
-v ./certs:/app/certs \
--name mcp-luno \
mcp-luno手動インストール
オプションA : .envファイルを使用する
cp .env.example .env次に、 .envファイルを編集して、Luno API 資格情報を追加します。
LUNO_API_KEY=your_api_key_here
LUNO_API_SECRET=your_api_secret_hereオプションB : VS Code MCP構成を使用する
.vscode/mcp.jsonファイルを編集し、 envセクションに資格情報を追加します。
"env": {
"PYTHONPATH": "${workspaceFolder}",
"LUNO_API_KEY": "your_api_key_here",
"LUNO_API_SECRET": "your_api_secret_here",
"LOG_LEVEL": "INFO"
}注: 有効なAPI認証情報がない場合は、パブリックエンドポイントのみ利用可能です。推奨事項: セキュリティのため、コードを共有する際は環境変数を使用することをお勧めします。
サーバーの実行
MCP サーバーは、次の 2 つの異なるトランスポート モードで実行できます。
STDIO トランスポート (デフォルト、単一クライアント)
これはデフォルトのモードで、標準入出力を介して単一のクライアント接続をサポートします。
python -m src.main --transport stdioWebSocket トランスポート (複数のクライアント)
複数のクライアント接続を同時にサポートするには、サーバーを WebSocket モードで実行します。
python -m src.main --transport websocket [--host HOST] [--port PORT]WebSocket サーバーは、デフォルトではws://localhost:8765で起動します。
WebSocketサーバーのテスト
付属のテスト クライアントを使用して WebSocket サーバーをテストできます。
python test_websocket_client.pyこれにより、サーバーが WebSocket 接続を正しく処理し、要求に応答していることを確認できます。
コマンドラインオプション
--transport {stdio,websocket}: 使用するトランスポートメカニズム (デフォルト: stdio)--host HOST: WebSocketトランスポートを使用するときにバインドするホスト(デフォルト: localhost)--port PORT: WebSocketトランスポートを使用するときにバインドするポート(デフォルト: 8765)
環境変数
環境変数を使用してトランスポートを構成することもできます。
MCP_TRANSPORT: トランスポートメカニズム(「stdio」または「websocket」)MCP_HOST: WebSocketトランスポートにバインドするホストMCP_PORT: WebSocketトランスポートにバインドするポート
標準クライアントでのテスト
STDIO トランスポートをテストするには、付属のテスト クライアントを使用します。
python test_client.pyMCPプロトコル統合
このサーバーはモデルコンテキストプロトコル(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ファイルにプロセス タイプの構成を含めます。
"luno-mcp-server-websocket": {
"type": "process",
"command": "python",
"args": ["-m", "src.main", "--transport", "websocket"],
"env": {
// environment variables
}
}WebSocket トランスポートを使用する場合、VS Code は STDIO 経由で通信するのではなく、バックグラウンド プロセスとしてサーバーを起動します。
VS Code で MCP サーバーを構成する
.vscode/mcp.jsonファイルから直接サーバーを構成できます。
{
"servers": {
"luno-mcp-server": {
"type": "stdio",
"command": "python",
"args": ["-m", "src.main"],
"env": {
"PYTHONPATH": "${workspaceFolder}",
"LUNO_API_KEY": "your_api_key_here",
"LUNO_API_SECRET": "your_api_secret_here",
"LOG_LEVEL": "INFO"
}
}
}
}この構成は、MCP プロトコルをサポートする VS Code 拡張機能によって使用され、AI モデルやその他のツールとの統合が容易になります。
利用可能な方法
方法 | 説明 | 認証が必要です |
| サーバーの機能に関する情報を返す | いいえ |
| 特定の取引ペアの現在の価格を取得する | いいえ |
| 利用可能なすべての市場の概要を確認する | いいえ |
| すべてのアカウントの残高を取得する | はい |
| 新しい注文をする | はい |
| 既存の注文をキャンセルする | はい |
| 注文のステータスを取得する | はい |
| アカウントの取引履歴を取得する | はい |
| 取引ペアの手数料情報を取得する | はい |
リクエストの例
サーバー機能を取得します:
{
"jsonrpc": "2.0",
"method": "describe_capabilities",
"params": {},
"id": 1
}Bitcoin-ZARの価格を取得:
{
"jsonrpc": "2.0",
"method": "get_crypto_price",
"params": {"pair": "XBTZAR"},
"id": 2
}発達
プロジェクト構造
├── .env # Environment variables (API credentials)
├── .gitignore # Git ignore configuration
├── .vscode/ # VS Code specific settings
│ └── mcp.json # MCP configuration for VS Code
├── src/ # Source code
│ ├── main.py # Entry point
│ └── luno_mcp_server/ # MCP server implementation
│ ├── luno_client.py # Luno API client
│ └── server.py # MCP server core
├── tests/ # Test suite
├── test_client.py # Simple test client for the MCP server
├── requirements.txt # Project dependencies
└── setup.py # Package setupテストの実行
python -m pytest tests/新機能の追加
新しい 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トランスポートで実行
基本的な使用方法:
python -m src.main --transport websocket --host localhost --port 8765セキュリティ オプション付き:
python -m src.main --transport websocket --host localhost --port 8765 \
--max-connections 50 --max-message-size 1048576 --rate-limit 100SSL/TLS 暗号化の場合:
# First generate certificates
./generate_certificates.sh
# Then run with SSL support
python -m src.main --transport websocket --ssl-cert ./certs/server.crt --ssl-key ./certs/server.keyWebSocketクライアントツール
リポジトリには 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
本ソフトウェアおよび関連ドキュメント ファイルのコピーを入手するすべての人に対して、無償で許可が付与されます。
This server cannot be deployed
Maintenance
Related MCP Connectors
The Mercado Pago MCP Server implements the Model Context Protocol to provide AI agents and LLMs with access to Mercado Pago's APIs and tools within compatible development environments. It acts as an intermediary that translates Mercado Pago resources into executable functions (tools) that AI applications can invoke to perform actions and automate flows. The server simplifies integration, enables using documentation to implement or improve code, and optimizes operations through natural language interactions without manual implementations.
A Model Context Protocol server for Wix AI tools
MCP server for Mudrex futures trading enabling AI agents to securely access data and risk tools.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Related MCP Servers
- FlicenseDqualityDmaintenanceA 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.2-
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables LLMs like Claude to interact with the Alpaca trading API, allowing for trading stocks, checking positions, fetching market data, and managing accounts through natural language.3MIT
- AlicenseBqualityDmaintenanceA server that allows AI models to interact with cryptocurrency exchange APIs through the Model Context Protocol, providing access to over 100 exchanges and their trading capabilities.20645 npm93MIT
- AlicenseNot gradedqualityCmaintenanceA Model Context Protocol server that enables LLMs to interact with cryptocurrency exchanges through CCXT, allowing for tasks like fetching balances, market data, creating orders, and trading operations in a standardized way.8MIT