remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Integrations
Provides tools for interacting with Ethereum blockchain data, including reading contract state, fetching contract ABIs, retrieving source code, and accessing transaction information.
Enables blockchain data interaction on Polygon network, supporting contract state reading, event log retrieval, and transaction history analysis.
Servidor MCP en cadena sin bancos
Servidor MCP (Model Context Protocol) para la interacción de datos blockchain a través de la API Bankless.
Descripción general
El servidor MCP de Bankless Onchain proporciona un marco para interactuar con datos en cadena a través de la API de Bankless. Implementa el Protocolo de Contexto de Modelo (MCP) para permitir que los modelos de IA accedan a los datos de estado y eventos de la cadena de bloques de forma estructurada.
https://github.com/user-attachments/assets/95732dff-ae5f-45a6-928a-1ae17c0ddf9d
Características
El servidor proporciona las siguientes operaciones de datos en cadena:
Operaciones contractuales
- Leer el estado del contrato (
read_contract
): lee el estado de los contratos inteligentes en varias redes blockchain.- Parámetros: red, dirección del contrato, método, entradas, salidas
- Devuelve: Resultados de la llamada de contrato con valores tipificados
- Obtener proxy (
get_proxy
): recupera las direcciones del contrato de implementación del proxy.- Parámetros: red, dirección del contrato
- Devoluciones: Dirección del contrato de ejecución
- Obtener ABI (
get_abi
): obtiene la ABI (interfaz binaria de aplicación) para un contrato.- Parámetros: red, dirección del contrato
- Devoluciones: ABI del contrato en formato JSON
- Obtener fuente (
get_source
): recupera el código fuente de un contrato verificado.- Parámetros: red, dirección del contrato
- Devuelve: código fuente, ABI, versión del compilador y otros metadatos del contrato
Operaciones de eventos
- Obtener eventos (
get_events
): obtiene registros de eventos para un contrato basado en temas.- Parámetros: red, direcciones, tema, temas opcionales
- Devoluciones: registros de eventos filtrados
- Crear tema de evento (
build_event_topic
): genera una firma de tema de evento a partir del nombre del evento y los tipos de argumentos.- Parámetros: red, nombre del evento, tipos de argumentos
- Devuelve: hash del tema del evento
Operaciones de transacción
- Obtener historial de transacciones (
get_transaction_history
): recupera el historial de transacciones de una dirección de usuario.- Parámetros: red, dirección de usuario, contrato opcional, ID de método opcional, bloque de inicio opcional, indicador de datos incluidos
- Devuelve: Lista de transacciones con hash, datos, red y marca de tiempo
- Obtener información de transacción (
get_transaction_info
): obtiene información detallada sobre una transacción específica.- Parámetros: red, hash de transacción
- Devoluciones: Detalles de la transacción, incluido el número de bloque, la marca de tiempo, las direcciones de origen y destino, el valor, la información del gas, el estado y los datos del recibo.
Herramientas
- leer_contrato
- Leer el estado del contrato desde una cadena de bloques
- Aporte:
network
(cadena, obligatoria): La red blockchain (por ejemplo, "ethereum", "polygon")contract
(cadena, obligatorio): La dirección del contratomethod
(cadena, obligatorio): el método de contrato al que llamarinputs
(matriz, obligatorio): parámetros de entrada para la llamada al método, cada uno contiene:type
(cadena): el tipo del parámetro de entrada (por ejemplo, "dirección", "uint256")value
(cualquiera): El valor del parámetro de entrada
outputs
(matriz, obligatoria): tipos de salida esperados, cada uno conteniendo:type
(cadena): el tipo de salida esperado
- Devuelve una matriz de resultados de llamadas de contrato
- obtener_proxy
- Obtiene la dirección proxy para una red y un contrato determinados
- Aporte:
network
(cadena, obligatoria): La red blockchain (por ejemplo, "ethereum", "base")contract
(cadena, obligatorio): La dirección del contrato
- Devuelve la dirección de implementación para el contrato proxy
- obtener_eventos
- Obtiene registros de eventos para una red determinada y criterios de filtro
- Aporte:
network
(cadena, obligatoria): La red blockchain (por ejemplo, "ethereum", "base")addresses
(matriz, obligatoria): Lista de direcciones de contratos para filtrar eventostopic
(cadena, obligatorio): tema principal para filtrar eventosoptionalTopics
(matriz, opcional): temas adicionales opcionales (pueden incluir valores nulos)
- Devuelve un objeto que contiene registros de eventos que coinciden con los criterios de filtro
- tema del evento de construcción
- Crea una firma de tema de evento basada en el nombre del evento y los argumentos
- Aporte:
network
(cadena, obligatoria): La red blockchain (por ejemplo, "ethereum", "base")name
(cadena, obligatorio): nombre del evento (p. ej., "Transfer(dirección,dirección,uint256)")arguments
(matriz, obligatorio): tipos de argumentos de evento, cada uno de los cuales contiene:type
(cadena): el tipo de argumento (por ejemplo, "dirección", "uint256")
- Devuelve una cadena que contiene el hash keccak256 de la firma del evento
Instalación
Uso
Configuración del entorno
Antes de usar el servidor, configure su token de API de Bankless. Para obtener más información sobre cómo obtenerlo, visite https://docs.bankless.com/bankless-api/other-services/onchain-mcp
Ejecución del servidor
El servidor se puede ejecutar directamente desde la línea de comandos:
Uso con herramientas LLM
Este servidor implementa el Protocolo de Contexto de Modelo (MCP), lo que le permite utilizarse como proveedor de herramientas para modelos de IA compatibles. A continuación, se muestran algunos ejemplos de llamadas para cada herramienta:
leer_contrato
obtener_proxy
obtener_eventos
tema del evento de construcción
Desarrollo
Construyendo desde la fuente
Modo de depuración
Integración con modelos de IA
Para integrar este servidor con aplicaciones de IA compatibles con MCP, agregue lo siguiente a la configuración del servidor de su aplicación:
Manejo de errores
El servidor proporciona tipos de errores específicos para diferentes escenarios:
BanklessValidationError
: Parámetros de entrada no válidosBanklessAuthenticationError
: Problemas con el token de APIBanklessResourceNotFoundError
: No se encontró el recurso solicitadoBanklessRateLimitError
: Se excedió el límite de tasa de API
Consejos para dar indicaciones
Para guiar a un modelo LLM para que utilice el servidor MCP de Bankless Onchain, se pueden utilizar las siguientes indicaciones:
Licencia
Instituto Tecnológico de Massachusetts (MIT)
You must be authenticated.
Tools
Implementa el Protocolo de Contexto de Modelo para permitir que los modelos de IA accedan e interactúen con los datos de blockchain, incluida la lectura de estados de contratos, la recuperación de eventos y el acceso a información de transacciones en varias redes.