XRPL MCP Server について
XRPL MCP Serverは、AIアシスタントにXRP Ledgerのアカウント、取引、NFT、通貨、DEXのデータと署名済み取引の送信機能を提供します。MCP経由で台帳の照会やネットワーク操作を行うアプリケーション向けです。
主な機能
- 01アカウント残高とシーケンス番号の照会
- 02トラストラインと発行通貨の照会
- 03保有NFTと取引履歴の確認
- 04取引詳細とDEXオファーの照会
- 05XRPLサーバー状態の取得
- 06署名済み取引の送信
活用シーン
- 01アカウントのXRP残高確認
- 02アカウント取引とNFTの確認
- 03XRPL DEXのオーダーブック照会
- 04署名済み取引のブロードキャスト
MCP 対応
MCPクライアント向けに、構造化されたXRPL照会と取引送信のツールを公開します。既定ではRippleのパブリックメインネットに接続し、`XRPL_NODE_URL`で別のエンドポイントを指定できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
XRPL MCP サーバー
AI アシスタントが XRP Ledger のデータやネットワーク操作に構造化された形でアクセスできるようにする MCP サーバーです。
要件
- Python 3.10 以降
機能
- アカウントの残高とシーケンス番号を取得
- トラストラインと発行済み通貨を照会
- アカウントが所有する NFT を表示
- アカウントのトランザクション履歴を取得
- 個々のトランザクションの詳細を取得
- DEX のオーダーブックにあるオファーを確認
- XRPL サーバーのステータスを取得
- 署名済みトランザクションを送信
パッケージの選択
サーバーの使用方法に合ったインストール先を選択してください。
クイックスタート
以下のクイックスタートは、ローカル開発と MCP の登録に使用するソースチェックアウトの手順です。公開済みパッケージのみが必要な場合は、上記の PyPI インストールコマンドを使用してください。
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -e ".[dev]"
mcp install src/xrpl_mcp_server/server.py:mcp --with-editable .
最初に試すプロンプト:
アカウント rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe の XRP 残高とシーケンス番号を教えてください。
インストール
ソースから
git clone https://github.com/lgcarrier/xrpl-mcp-server.git
cd xrpl-mcp-server
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -e ".[dev]"
このコマンドはパッケージを編集可能モードでインストールし、ローカル開発と Claude Desktop 連携に使用する mcp CLI もインストールします。
PyPI から
公開済みパッケージの名前は、GitHub リポジトリの名前とは異なります。
python -m pip install iflow-mcp_lgcarrier-xrpl-mcp-server
設定
サーバーでは、以下の環境変数を使用します。
XRPL_NODE_URL:XRP Ledger の JSON-RPC エンドポイント。 デフォルト:https://s1.ripple.com:51234/
安全に関する注意
デフォルトでは、サーバーは Ripple の公開メインネットエンドポイントに接続します。つまり、次のようになります。
- 読み取り専用ツールは稼働中のメインネットデータを照会します
submit_transactionは署名済みトランザクションを稼働中の XRP Ledger ネットワークに送信します
実際の署名済みトランザクションをブロードキャストする場合にのみ、submit_transaction を使用してください。
テストする場合は、サーバーを起動する前に testnet を指定してください。
export XRPL_NODE_URL="https://s.altnet.rippletest.net:51234/"
python -m xrpl_mcp_server
環境変数を設定した状態で、Claude Desktop のエントリーをインストールすることもできます。
mcp install src/xrpl_mcp_server/server.py:mcp --with-editable . \
--env-var XRPL_NODE_URL=https://s.altnet.rippletest.net:51234/
使用方法
ソースから直接実行する
python -m xrpl_mcp_server
インストール済みパッケージとして実行する
xrpl-mcp-server
MCP Inspector でローカル環境を確認する
mcp dev src/xrpl_mcp_server/server.py:mcp --with-editable .
Claude Desktop にインストールする
mcp install src/xrpl_mcp_server/server.py:mcp --with-editable .
uv を使用する場合、同等のコマンドは uv run mcp dev ... と uv run mcp install ... です。
利用可能なツール
すべてのツールで、既存の名前と引数が維持されます。呼び出しが成功すると、プレーンテキストや JSON エンコードされた文字列ではなく、構造化された MCP 出力が返されます。
get_account_info
パラメーター:
address(string):XRP Ledger のアカウントアドレス
以下を含む構造化オブジェクトを返します。
accountbalance_dropsbalance_xrpsequence
get_account_lines
パラメーター:
address(string):XRP Ledger のアカウントアドレスpeer(string、省略可能):取引相手アカウントのフィルターlimit(integer、省略可能):トラストラインの最大数
XRPL の account_lines 結果オブジェクトを返します。
get_account_nfts
パラメーター:
address(string):XRP Ledger のアカウントアドレスlimit(integer、省略可能):NFT の最大数
XRPL の account_nfts 結果オブジェクトを返します。
get_account_transactions
パラメーター:
address(string):XRP Ledger のアカウントアドレスlimit(integer、省略可能):トランザクションの最大数binary(boolean、省略可能):トランザクションをバイナリー形式で返すforward(boolean、省略可能):レジャー履歴を前方に検索する
XRPL の account_tx 結果オブジェクトを返します。
get_server_info
XRPL の server_info 結果オブジェクトを返します。
submit_transaction
パラメーター:
tx_blob(string):16 進形式の署名済みトランザクション blob
XRPL の submit 結果オブジェクトを返します。
get_transaction_info
パラメーター:
transaction_hash(string):トランザクションハッシュ
XRPL の tx 結果オブジェクトを返します。
get_book_offers
パラメーター:
taker_gets(object):テイカーが受け取りたい通貨/発行者オブジェクトtaker_pays(object):テイカーが支払いたい通貨/発行者オブジェクトlimit(integer、省略可能):オファーの最大数
XRPL の book_offers 結果オブジェクトを返します。
エラー
ツールの実行に失敗した場合、成功時のペイロードではなく、MCP ツールエラーとして返されます。一般的なケースは次のとおりです。
actNotFoundなど、存在しないアドレスのアカウント検索txnNotFoundなど、不明なハッシュのトランザクション検索- 送信エラーやトランスポート例外など、上流の XRPL リクエストの失敗
見つからない場合のエラー例:
Account rMissingExampleAddress not found on the ledger.
送信エラーの例:
Submitting transaction failed: tefFAILURE: submission rejected
例
get_account_info
プロンプト:
XRP アカウント rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe の残高はいくらですか?
構造化された結果:
{
"account": "rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe",
"balance_drops": "25500000",
"balance_xrp": "25.5",
"sequence": 123456
}
get_account_transactions
プロンプト:
rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe の直近 2 件のトランザクションを表示してください。
代表的な結果の形式:
{
"account": "rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe",
"ledger_index_max": 98765432,
"ledger_index_min": 98765400,
"transactions": [
{
"tx": {
"hash": "ABC123...",
"TransactionType": "Payment"
},
"validated": true
},
{
"tx": {
"hash": "DEF456...",
"TransactionType": "TrustSet"
},
"validated": true
}
]
}
get_book_offers
プロンプト:
XRPL DEX の XRP/USD の最初の 3 件のブックオファーを表示してください。
代表的な結果の形式:
{
"ledger_current_index": 98765432,
"offers": [
{
"Account": "rOfferMaker1",
"Sequence": 100,
"quality": "0.5"
},
{
"Account": "rOfferMaker2",
"Sequence": 101,
"quality": "0.51"
}
]
}
開発
テストスイートを実行します:
pytest
ライセンス
MIT ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。