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.
Crio MCP 🧊
Un servidor de Protocolo de Finalización de Modelos (MCP) para la herramienta de extracción de datos de blockchain Cryo .
Cryo MCP le permite acceder a las poderosas capacidades de extracción de datos de blockchain de Cryo a través de un servidor API que implementa el protocolo MCP, lo que facilita la consulta de datos de blockchain desde cualquier cliente compatible con MCP.
Para usuarios de LLM: Guía de flujo de trabajo de consultas SQL
Al utilizar este servidor MCP para ejecutar consultas SQL en datos de blockchain, siga este flujo de trabajo:
- Descargar datos con
query_dataset
:Copy - Explorar el esquema con
get_sql_table_schema
:Copy - Ejecutar SQL con
query_sql
:Copy
Alternativamente, utilice el enfoque combinado con query_blockchain_sql
:
Para obtener un ejemplo completo y funcional, consulte examples/sql_workflow_example.py .
Características
- Acceso completo al conjunto de datos criogénicos : consulte cualquier conjunto de datos criogénicos a través de un servidor API
- Integración con MCP : funciona a la perfección con los clientes de MCP
- Opciones de consulta flexibles : compatibilidad con todas las principales opciones de filtrado y salida de Cryo
- Opciones de rango de bloques : consulta bloques específicos, el último bloque o rangos relativos
- Filtrado de contratos : Filtrar datos por dirección del contrato
- Acceso al último bloque : fácil acceso a los últimos datos del bloque de Ethereum
- Múltiples formatos de salida : compatibilidad con JSON, CSV y Parquet
- Información del esquema : obtenga esquemas de conjuntos de datos detallados y datos de muestra
- Consultas SQL : ejecute consultas SQL directamente contra los datos de blockchain descargados
Instalación (opcional)
Esto no es necesario si va a ejecutar la herramienta con uvx
directamente.
Requisitos
- Python 3.8+
- ultravioleta
- Una instalación de Cryo en funcionamiento
- Acceso a un punto final de Ethereum RPC
- DuckDB (para la funcionalidad de consulta SQL)
Inicio rápido
Uso con Claude Code
- Ejecute
claude mcp add
para obtener un mensaje interactivo. - Introduzca
uvx
como comando a ejecutar. - Ingrese
cryo-mcp --rpc-url <ETH_RPC_URL> [--data-dir <DATA_DIR>]
como argumentos - Como alternativa, proporcione
ETH_RPC_URL
yCRYO_DATA_DIR
como variables de entorno.
Las nuevas instancias de claude
ahora tendrán acceso a cryo según lo configurado para llegar a su punto final RPC y almacenar datos en el directorio especificado.
Herramientas disponibles
Cryo MCP expone las siguientes herramientas MCP:
list_datasets()
Devuelve una lista de todos los conjuntos de datos Cryo disponibles.
Ejemplo:
query_dataset()
Consulta un conjunto de datos criogénicos con varias opciones de filtrado.
Parámetros:
dataset
(str): el nombre del conjunto de datos a consultar (por ejemplo, 'bloques', 'transacciones', 'registros')blocks
(str, opcional): Especificación del rango de bloques (por ejemplo, '1000:1010')start_block
(int, opcional): Número de bloque de inicio (alternativa a bloques)end_block
(int, opcional): Número de bloque final (alternativa a bloques)use_latest
(bool, opcional): si es verdadero, consulta el último bloqueblocks_from_latest
(int, opcional): Número de bloques desde el último a incluircontract
(str, opcional): Dirección del contrato por la que filtraroutput_format
(str, opcional): Formato de salida ('json', 'csv', 'parquet')include_columns
(lista, opcional): columnas que se incluirán junto con los valores predeterminadosexclude_columns
(lista, opcional): columnas para excluir de los valores predeterminados
Ejemplo:
lookup_dataset()
Obtenga información detallada sobre un conjunto de datos específico, incluido el esquema y los datos de muestra.
Parámetros:
name
(str): El nombre del conjunto de datos a buscarsample_start_block
(int, opcional): bloque de inicio para datos de muestrasample_end_block
(int, opcional): Fin del bloque para datos de muestrause_latest_sample
(bool, opcional): utiliza el último bloque para la muestrasample_blocks_from_latest
(int, opcional): Número de bloques desde el último para la muestra
Ejemplo:
get_latest_ethereum_block()
Devuelve información sobre el último bloque de Ethereum.
Ejemplo:
Herramientas de consulta SQL
Cryo MCP incluye varias herramientas para ejecutar consultas SQL en datos de blockchain:
query_sql()
Ejecute una consulta SQL contra los datos de blockchain descargados.
Parámetros:
query
(str): consulta SQL a ejecutarfiles
(lista, opcional): Lista de rutas de archivos de Parquet para consultar. Si no hay ninguna, se usarán todos los archivos del directorio de datos.include_schema
(bool, opcional): si se debe incluir información del esquema en el resultado
Ejemplo:
query_blockchain_sql()
Consulta datos de blockchain usando SQL y descarga automáticamente cualquier dato requerido.
Parámetros:
sql_query
(str): consulta SQL a ejecutardataset
(str, opcional): el conjunto de datos a consultar (por ejemplo, 'bloques', 'transacciones')blocks
(str, opcional): Especificación del rango de bloquesstart_block
(int, opcional): Número de bloque de inicioend_block
(int, opcional): Número de bloque finaluse_latest
(bool, opcional): si es verdadero, consulta el último bloqueblocks_from_latest
(int, opcional): Número de bloques antes del último a incluircontract
(str, opcional): Dirección del contrato por la que filtrarforce_refresh
(bool, opcional): fuerza la descarga de nuevos datos incluso si existeninclude_schema
(bool, opcional): incluye información del esquema en el resultado
Ejemplo:
list_available_sql_tables()
Enumere todas las tablas disponibles que se pueden consultar con SQL.
Ejemplo:
get_sql_table_schema()
Obtenga el esquema para un archivo parquet específico.
Parámetros:
file_path
(str): Ruta al archivo parquet
Ejemplo:
get_sql_examples()
Obtenga ejemplos de consultas SQL para diferentes conjuntos de datos de blockchain.
Ejemplo:
Opciones de configuración
Al iniciar el servidor Cryo MCP, puede utilizar estas opciones de línea de comandos:
--rpc-url URL
: URL de RPC de Ethereum (anula la variable de entorno ETH_RPC_URL)--data-dir PATH
: Directorio para almacenar los datos descargados (anula la variable de entorno CRYO_DATA_DIR, el valor predeterminado es ~/.cryo-mcp/data/)
Variables de entorno
ETH_RPC_URL
: URL de RPC de Ethereum predeterminada que se utilizará cuando no se especifique mediante la línea de comandoCRYO_DATA_DIR
: Directorio predeterminado para almacenar los datos descargados cuando no se especifica mediante la línea de comando
Uso avanzado
Consultas SQL contra datos de blockchain
Cryo MCP le permite ejecutar potentes consultas SQL contra datos de blockchain, combinando la flexibilidad de SQL con las capacidades de extracción de datos de Cryo:
Flujo de consulta SQL de dos pasos
Puede dividir la extracción y consulta de datos en dos pasos separados:
Flujo de consulta SQL combinado
Para mayor comodidad, también puede utilizar la función combinada que maneja ambos pasos:
Nota : Para consultas SQL, utilice siempre output_format="parquet"
al descargar datos para garantizar un rendimiento óptimo con DuckDB. Al usar query_blockchain_sql
, consulte las rutas de archivo directamente en su SQL mediante la función read_parquet()
.
Consultas con rangos de bloques
Cryo MCP admite toda la sintaxis de especificación de bloques de Cryo:
Filtrado de contratos
Filtrar registros y otros datos por dirección de contrato:
Selección de columnas
Incluya sólo las columnas que necesita:
Desarrollo
Estructura del proyecto
Ejecutar pruebas
uv run pytest
Licencia
Instituto Tecnológico de Massachusetts (MIT)
Créditos
- Construido sobre la increíble herramienta Cryo de Paradigm
- Utiliza el protocolo MCP para la comunicación API
You must be authenticated.
Un servidor API que implementa el Protocolo de finalización de modelos (MCP) para la extracción de datos de la cadena de bloques Cryo, lo que permite a los usuarios consultar datos de la cadena de bloques Ethereum a través de cualquier cliente compatible con 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