クライオMCP🧊
Cryoブロックチェーン データ抽出ツール用のモデル完了プロトコル (MCP) サーバー。
Cryo MCP を使用すると、MCP プロトコルを実装する API サーバーを介して Cryo の強力なブロックチェーン データ抽出機能にアクセスできるため、MCP 対応のクライアントからブロックチェーン データを簡単に照会できます。
LLM ユーザー向け: SQL クエリ ワークフロー ガイド
この MCP サーバーを使用してブロックチェーン データに対して SQL クエリを実行する場合は、次のワークフローに従います。
query_datasetを使用してデータをダウンロードします。result = query_dataset( dataset="blocks", # or "transactions", "logs", etc. blocks="15000000:15001000", # or use blocks_from_latest=100 output_format="parquet" # important: use parquet for SQL ) files = result.get("files", []) # Get the returned file pathsget_sql_table_schemaを使用してスキーマを探索します。# Check what columns are available in the file schema = get_sql_table_schema(files[0]) # Now you can see all columns, data types, and sample dataquery_sqlでSQL を実行します。# Option 1: Simple table reference (DuckDB will match the table name to file) sql_result = query_sql( query="SELECT block_number, timestamp, gas_used FROM blocks", files=files # Pass the files from step 1 ) # Option 2: Using read_parquet() with explicit file path sql_result = query_sql( query=f"SELECT block_number, timestamp, gas_used FROM read_parquet('{files[0]}')", files=files # Pass the files from step 1 )
あるいは、 query_blockchain_sqlと組み合わせたアプローチを使用します。
完全な動作例については、 examples/sql_workflow_example.pyを参照してください。
Related MCP server: MCP Blockchain Query Server
特徴
完全なCryoデータセットアクセス:APIサーバーを介して任意のCryoデータセットをクエリします
MCP統合:MCPクライアントとシームレスに連携
柔軟なクエリオプション: すべての主要なCryoフィルタリングと出力オプションをサポート
ブロック範囲オプション: 特定のブロック、最新のブロック、または相対範囲を照会します
契約フィルタリング: 契約アドレスでデータをフィルタリング
最新ブロックアクセス:最新のイーサリアムブロックデータに簡単にアクセスできます
複数の出力形式: JSON、CSV、Parquet をサポート
スキーマ情報: 詳細なデータセットスキーマとサンプルデータを取得します
SQLクエリ:ダウンロードしたブロックチェーンデータに対して直接SQLクエリを実行します。
インストール(オプション)
uvxを使用してツールを直接実行する場合、これは必要ありません。
要件
Python 3.8以上
紫外線
Cryoの稼働中の設備
Ethereum RPCエンドポイントへのアクセス
DuckDB(SQLクエリ機能用)
クイックスタート
クロードコードでの使用
対話型プロンプトを表示するには
claude mcp add実行します。実行するコマンドとして
uvxと入力します。引数として
cryo-mcp --rpc-url <ETH_RPC_URL> [--data-dir <DATA_DIR>]を入力します。あるいは、代わりに
ETH_RPC_URLとCRYO_DATA_DIR環境変数として指定します。
claudeの新しいインスタンスは、RPC エンドポイントにアクセスし、指定されたディレクトリにデータを保存するように構成されたとおりに cryo にアクセスできるようになっています。
利用可能なツール
Cryo MCP は次の MCP ツールを公開します。
list_datasets()
利用可能なすべての Cryo データセットのリストを返します。
例:
query_dataset()
さまざまなフィルタリング オプションを使用して Cryo データセットをクエリします。
パラメータ:
dataset(str): クエリするデータセットの名前 (例: 'blocks'、'transactions'、'logs')blocks(文字列、オプション): ブロック範囲の指定(例:'1000:1010')start_block(int, オプション): 開始ブロック番号(blocks の代替)end_block(int, オプション): 終了ブロック番号 (blocks の代替)use_latest(bool, オプション): Trueの場合、最新のブロックを照会しますblocks_from_latest(int, オプション): 最新から含めるブロックの数contract(文字列、オプション): フィルタリングする契約アドレスoutput_format(str, オプション): 出力形式 ('json', 'csv', 'parquet')include_columns(リスト、オプション): デフォルトと一緒に含める列exclude_columns(リスト、オプション): デフォルトから除外する列
例:
lookup_dataset()
スキーマやサンプル データなど、特定のデータセットに関する詳細情報を取得します。
パラメータ:
name(str): 検索するデータセットの名前sample_start_block(int, オプション): サンプルデータの開始ブロックsample_end_block(int, オプション): サンプルデータの終了ブロックuse_latest_sample(bool, オプション): サンプルに最新のブロックを使用するsample_blocks_from_latest(int, オプション): サンプルの最新からのブロック数
例:
get_latest_ethereum_block()
最新の Ethereum ブロックに関する情報を返します。
例:
SQLクエリツール
Cryo MCP には、ブロックチェーン データに対して SQL クエリを実行するためのツールがいくつか含まれています。
query_sql()
ダウンロードしたブロックチェーン データに対して SQL クエリを実行します。
パラメータ:
query(str): 実行するSQLクエリfiles(リスト, オプション): クエリ対象の parquet ファイルパスのリスト。指定しない場合は、データディレクトリ内のすべてのファイルが使用されます。include_schema(bool, オプション): 結果にスキーマ情報を含めるかどうか
例:
query_blockchain_sql()
SQL を使用してブロックチェーン データをクエリし、必要なデータを自動的にダウンロードします。
パラメータ:
sql_query(str): 実行するSQLクエリdataset(文字列、オプション): クエリするデータセット(例:'blocks'、'transactions')blocks(文字列、オプション): ブロック範囲の指定start_block(int, オプション): 開始ブロック番号end_block(int, オプション): 終了ブロック番号use_latest(bool, オプション): Trueの場合、最新のブロックを照会しますblocks_from_latest(int, オプション): 含める最新のブロックの前のブロック数contract(文字列、オプション): フィルタリングする契約アドレスforce_refresh(bool, オプション): 新しいデータが存在する場合でも強制的にダウンロードするinclude_schema(bool, オプション): 結果にスキーマ情報を含める
例:
list_available_sql_tables()
SQL でクエリできる利用可能なすべてのテーブルを一覧表示します。
例:
get_sql_table_schema()
特定の parquet ファイルのスキーマを取得します。
パラメータ:
file_path(str): parquetファイルへのパス
例:
get_sql_examples()
さまざまなブロックチェーン データセットの SQL クエリの例を取得します。
例:
設定オプション
Cryo MCP サーバーを起動するときに、次のコマンドライン オプションを使用できます。
--rpc-url URL: Ethereum RPC URL (ETH_RPC_URL 環境変数を上書きします)--data-dir PATH: ダウンロードしたデータを保存するディレクトリ (CRYO_DATA_DIR 環境変数を上書きします。デフォルトは ~/.cryo-mcp/data/ です)
環境変数
ETH_RPC_URL: コマンドラインで指定されていない場合に使用するデフォルトの Ethereum RPC URLCRYO_DATA_DIR: コマンドラインで指定されていない場合にダウンロードしたデータを保存するデフォルトのディレクトリ
高度な使用法
ブロックチェーンデータに対するSQLクエリ
Cryo MCP を使用すると、SQL の柔軟性と Cryo のデータ抽出機能を組み合わせて、ブロックチェーン データに対して強力な SQL クエリを実行できます。
2段階のSQLクエリフロー
データの抽出とクエリを 2 つの別々のステップに分割できます。
複合SQLクエリフロー
便宜上、両方のステップを処理する結合関数を使用することもできます。
注:SQLクエリの場合、DuckDBで最適なパフォーマンスを確保するには、データをダウンロードする際に必ずoutput_format="parquet"を使用してください。query_blockchain_sql query_blockchain_sql使用する場合は、 read_parquet()関数を使用してSQL内でファイルパスを直接参照する必要があります。
ブロック範囲によるクエリ
Cryo MCP は、Cryo のブロック仕様構文の全範囲をサポートします。
契約フィルタリング
契約アドレス別にログやその他のデータをフィルタリングします。
列の選択
必要な列のみを含めます。
発達
プロジェクト構造
テストを実行する
uv run pytest
ライセンス
マサチューセッツ工科大学