local-only server
The server can only run on the client’s local machine because it depends on local resources.
Integrations
Enables SQL queries against blockchain data through DuckDB, supporting data exploration, schema inspection, and complex analytics on downloaded blockchain datasets with various filtering and aggregation capabilities.
Provides blockchain data extraction capabilities via an API server, allowing querying of block, transaction, and log data from Ethereum with support for block range specifications, contract filtering, and multiple output formats.
クライオMCP🧊
Cryoブロックチェーン データ抽出ツール用のモデル完了プロトコル (MCP) サーバー。
Cryo MCP を使用すると、MCP プロトコルを実装する API サーバーを介して Cryo の強力なブロックチェーン データ抽出機能にアクセスできるため、MCP 対応のクライアントからブロックチェーン データを簡単に照会できます。
LLM ユーザー向け: SQL クエリ ワークフロー ガイド
この MCP サーバーを使用してブロックチェーン データに対して SQL クエリを実行する場合は、次のワークフローに従います。
query_dataset
を使用してデータをダウンロードします。Copyget_sql_table_schema
を使用してスキーマを探索します。Copyquery_sql
でSQL を実行します。Copy
あるいは、 query_blockchain_sql
と組み合わせたアプローチを使用します。
完全な動作例については、 examples/sql_workflow_example.pyを参照してください。
特徴
- 完全な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
ライセンス
マサチューセッツ工科大学
クレジット
You must be authenticated.
Cryo ブロックチェーン データ抽出用のモデル補完プロトコル (MCP) を実装する API サーバー。ユーザーは、MCP 互換のクライアントを通じて Ethereum ブロックチェーン データを照会できます。
- For LLM Users: SQL Query Workflow Guide
- Features
- Installation (Optional)
- Requirements
- Quick Start
- Available Tools
- Configuration Options
- Environment Variables
- Advanced Usage
- Development
- License
- Credits