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
下载数据:Copy - 使用
get_sql_table_schema
探索模式:Copy - 使用
query_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的工作安装
- 访问以太坊 RPC 端点
- DuckDB(用于 SQL 查询功能)
快速入门
与 Claude Code 一起使用
- 运行
claude mcp add
以获得交互式提示。 - 输入
uvx
作为运行命令。 - 输入
cryo-mcp --rpc-url <ETH_RPC_URL> [--data-dir <DATA_DIR>]
作为参数 - 或者,提供
ETH_RPC_URL
和CRYO_DATA_DIR
作为环境变量。
claude
的新实例现在可以访问 cryo,因为它配置为命中您的 RPC 端点并将数据存储在指定的目录中。
可用工具
Cryo MCP 公开了以下 MCP 工具:
list_datasets()
返回所有可用 Cryo 数据集的列表。
例子:
query_dataset()
使用各种过滤选项查询 Cryo 数据集。
参数:
dataset
(str):要查询的数据集的名称(例如,“blocks”、“transactions”、“logs”)blocks
(str,可选):块范围规范(例如,'1000:1010')start_block
(int,可选):起始块号(块的替代)end_block
(int,可选):结束块号(块的替代)use_latest
(bool, 可选): 如果为 True,则查询最新区块blocks_from_latest
(int,可选):从最新到包含的块数contract
(str,可选):要过滤的合约地址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()
返回有关最新以太坊区块的信息。
例子:
SQL查询工具
Cryo MCP 包含几个用于针对区块链数据运行 SQL 查询的工具:
query_sql()
对下载的区块链数据运行 SQL 查询。
参数:
query
(str):要执行的 SQL 查询files
(列表,可选):要查询的 parquet 文件路径列表。如果为 None,则使用数据目录中的所有文件。include_schema
(bool,可选):是否在结果中包含架构信息
例子:
query_blockchain_sql()
使用 SQL 查询区块链数据,自动下载任何所需数据。
参数:
sql_query
(str): 要执行的 SQL 查询dataset
(str,可选):要查询的数据集(例如,“区块”、“交易”)blocks
(str,可选):块范围规范start_block
(int,可选):起始块号end_block
(int,可选):结束块号use_latest
(bool, 可选): 如果为 True,则查询最新区块blocks_from_latest
(int,可选):要包含的最新块之前块的数量contract
(str,可选):要过滤的合约地址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
:以太坊 RPC URL(覆盖 ETH_RPC_URL 环境变量)--data-dir PATH
:存储下载数据的目录(覆盖 CRYO_DATA_DIR 环境变量,默认为 ~/.cryo-mcp/data/)
环境变量
ETH_RPC_URL
:未通过命令行指定时使用的默认以太坊 RPC URLCRYO_DATA_DIR
:未通过命令行指定时存储下载数据的默认目录
高级用法
针对区块链数据的 SQL 查询
Cryo MCP 允许您对区块链数据运行强大的 SQL 查询,将 SQL 的灵活性与 Cryo 的数据提取功能相结合:
两步 SQL 查询流程
您可以将数据提取和查询分为两个独立的步骤:
组合 SQL 查询流
为了方便起见,您还可以使用处理这两个步骤的组合函数:
注意:对于 SQL 查询,下载数据时请始终使用output_format="parquet"
以确保 DuckDB 获得最佳性能。使用query_blockchain_sql
时,应使用read_parquet()
函数直接在 SQL 中引用文件路径。
使用块范围查询
Cryo MCP 支持 Cryo 的全部块规范语法:
合同过滤
按合约地址过滤日志和其他数据:
列选择
仅包含您需要的列:
发展
项目结构
运行测试
uv run pytest
执照
麻省理工学院
致谢
You must be authenticated.
一个实现用于 Cryo 区块链数据提取的模型完成协议 (MCP) 的 API 服务器,允许用户通过任何兼容 MCP 的客户端查询以太坊区块链数据。
- For LLM Users: SQL Query Workflow Guide
- Features
- Installation (Optional)
- Requirements
- Quick Start
- Available Tools
- Configuration Options
- Environment Variables
- Advanced Usage
- Development
- License
- Credits