Cryo Mcp

Cryo Mcp

🚀 Cryo - MCP 项目文档

Cryo - MCP 是一款基于 MCP 协议的实用工具,主要用于从链上数据提供商处提取区块链数据集。它具备灵活的数据查询、多样的输出格式转换以及强大的 SQL 查询支持等功能,能有效满足不同用户对区块链数据处理的需求。

🚀 快速开始

安装依赖

pip install "duckdb>=0.7.1"

基本用法

🔍 查询区块数据

# 下载最近 100 个区块的基本信息
client.query_dataset('blocks', blocks_from_latest=100)

# 下载指定范围的区块数据
client.query_dataset('blocks', blocks='15M:15.01M')

🔍 筛选特定合同的数据

# 查询 USDC 合约的交易记录
client.query_dataset(
'transactions',
contract='0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48'
)

# 筛选特定块范围内的日志数据
client.query_dataset('logs', blocks='15M:15.01M', contract='0xabc123...')

🔍 自定义输出格式

# 下载指定列的 CSV 格式数据
client.query_dataset(
'blocks',
blocks_from_latest=100,
include_columns=['number', 'timestamp'],
output_format='csv'
)

# 以 Parquet 格式下载交易数据
client.query_dataset('transactions', blocks_from_latest=100, output_format='parquet')

✨ 主要特性

  • 查询区块链数据:可借助灵活的块范围和过滤器,快速精准地检索所需数据。
  • 输出格式转换:支持将数据以 JSON、CSV 和 Parquet 等格式输出,方便不同场景使用。
  • SQL 查询支持:允许用户直接在 DuckDB 中运用 SQL 查询提取数据,助力深度数据分析。

💻 使用示例

基础用法

上述快速开始部分的基本用法示例,涵盖了查询区块数据、筛选特定合同数据以及自定义输出格式等基础操作。

高级用法

使用 SQL 进行数据分析

Cryo - MCP 支持通过 DuckDB 执行复杂的 SQL 查询,以下是分析区块交易数量的示例:

# 下载数据并执行 SQL 查询
client.query_sql(
query="""
SELECT
block_number,
COUNT(*) as transaction_count
FROM read_parquet('/path/to/transactions.parquet')
GROUP BY block_number
ORDER BY transaction_count DESC
LIMIT 10
""",
files=['/path/to/transactions.parquet']
)

🔧 技术细节

项目结构

cryo-mcp/
├── cryo_mcp/           # 主程序包目录
│   ├── __init__.py     # 包初始化文件
│   ├── server.py       # MCP 服务器实现
│   └── sql.py          # SQL 查询功能模块
└── tests/              # 测试目录
└── test_*.py       # 各种测试用例文件

运行测试

uv run pytest

📄 许可证

本项目使用 MIT 协议开源。

👏 致谢

  • 构建于 Paradigm 开发的 Cryo 工具之上。
  • 使用 MCP 协议 进行 API 通信。
  • 0 关注
  • 0 收藏,24 浏览
  • system 提出于 2025-09-18 19:33

相似服务问题

相关AI产品