低温 MCP 🧊
Cryo区块链数据提取工具的模型完成协议 (MCP) 服务器。
Cryo MCP 允许您通过实现 MCP 协议的 API 服务器访问 Cryo 强大的区块链数据提取功能,从而可以轻松地从任何兼容 MCP 的客户端查询区块链数据。
对于 LLM 用户:SQL 查询工作流指南
使用此 MCP 服务器对区块链数据运行 SQL 查询时,请遵循以下工作流程:
- 使用
query_dataset
下载数据: - 使用
get_sql_table_schema
探索模式: - 使用
query_sql
运行 SQL :
或者,使用与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
执照
麻省理工学院
致谢
Related MCP Servers
- AsecurityFlicenseAqualityAn MCP server that connects Claude to BrianKnows' blockchain knowledge base, allowing users to search for blockchain/DeFi information and interact with a specialized agent across multiple knowledge bases.Last updated -3JavaScript
- AsecurityFlicenseAqualityAn MCP server implementation that enables interaction with the Unstructured API, providing tools to list, create, update, and manage sources, destinations, and workflows.Last updated -3928
RSS3 MCP Serverofficial
-securityAlicense-qualityAn MCP server implementation that integrates the RSS3 API, allowing users to query data from decentralized chains, social media platforms, and the RSS3 network through natural language.Last updated -1JavaScriptMIT License- -securityFlicense-qualityAn MCP server that crawls API documentation websites and exposes their content to AI models, enabling them to search, browse, and reference API specifications.Last updated -Python