Implementación de Algorand MCP
Descripción general
El Protocolo de Contexto de Modelo (MCP) es un protocolo abierto que estandariza cómo las aplicaciones proporcionan contexto a los LLM. MCP proporciona estándares de especificación para brindarles herramientas, recursos e instrucciones que les permitan ser más útiles y eficaces.
MCP Github contiene más información y diferentes herramientas y especificaciones además de documentación de MCP.
Este repositorio es una implementación del Protocolo de Contexto de Modelo (MCP) para las interacciones de la blockchain de Algorand. La implementación consta de:
- (PRODUCCIÓN) Un paquete de servidor para interacciones blockchain (solo Node.js)
- (WIP) Un paquete de cliente para la gestión de billeteras y la firma de transacciones (compatible con navegadores y Node.js)
📦 Paquetes en este repositorio:
- Servidor Algorand MCP : implementación completa del servidor Algorand MCP.
- Cliente Algorand MCP : Cliente Algorand MCP para la gestión de billeteras del lado del cliente y la firma de transacciones, así como la integración con otros hosts de agentes.
📦 NPM:
- Paquete NPM del servidor Algorand MCP : implementación del servidor Algorand MCP a través de la instalación del paquete NPM.
📦 Herrería:
- Servidor Algorand MCP en Smithery : implementación del servidor Algorand MCP a través de Smithery.
Características
- Integración completa de la documentación de Algorand
- Taxonomía completa de conocimiento de Algorand
- Documentación completa para desarrolladores
- Documentación de ARCs, SDK y herramientas
- Acceso directo a los documentos a través de la herramienta de conocimiento
- Capacidades completas de interacción con la cadena de bloques de Algorand
- Amplio sistema de gestión de billeteras
- Manejo integral de transacciones
- Consulta enriquecida del estado de la cadena de bloques
- Funciones de seguridad integradas
- Soporte para la integración de Claude Desktop y Cursor
Requisitos
- Node.js v23.6.1 o posterior
- npm v10.2.4 o posterior
Instalación
Para instalar o actualizar la implementación de Algorand MCP, clone el repositorio, instale las dependencias y compile el proyecto:
Primero verifique que la versión del nodo sea 23.6.1 o posterior:
¡Actualice a 23.6.1 o posterior si es necesario!
Luego verifique que las carpetas del contenedor Claude o Cursor tengan la carpeta mcp-servers (si no, cree una):
Luego clone este repositorio en la carpeta mcp-servers e instale las dependencias:
¡Listo! Ahora puedes abrir la configuración de MCP y agregar el servidor como:
Asegúrese de cambiar las rutas para que coincidan con las rutas de su sistema local.
Por ejemplo, en MACOS y Claud, la ruta sería algo como esto:
Arquitectura del proyecto
El proyecto sigue una arquitectura modular con dos paquetes principales:
- Paquete de servidor (
@algorand-mcp/server
)- Proporciona herramientas y recursos de MCP
- Gestiona las interacciones de blockchain
- Maneja la creación y el envío de transacciones.
- Ofrece consultas integrales de blockchain
- Paquete de cliente (
@algorand-mcp/client
)- Maneja las conexiones de billetera y la firma de transacciones.
- Admite billeteras locales y externas
- Compatibilidad universal (navegador/Node.js)
- Gestión segura de credenciales
- Aún en progreso (el servidor funciona de manera irrelevante para el estado del cliente)
Estructura del proyecto
Funcionalidades principales
Características del servidor
- Gestión de cuentas
- Operaciones de activos
- Interacciones de aplicaciones
- Creación y envío de transacciones
- Consultas de estado de blockchain
- Funciones de utilidad integrales
- Formato de respuesta estandarizado
- Soporte de paginación integrado
- Integración de NFDomains
- Análisis de Vestige DeFi (opcional, deshabilitado de forma predeterminada)
- Integración de Tinyman AMM (opcional, deshabilitada de forma predeterminada)
- Integración de Ultrade DEX (opcional, deshabilitada de forma predeterminada)
- Recursos de taxonomía del conocimiento:
- Taxonomía de documentación completa (algorand://knowledge/taxonomy)
- Documentación específica de la categoría:
- ARCs (algorand://knowledge/taxonomy/arcs)
- SDK (algorand://knowledge/taxonomy/sdks)
- AlgoKit (algorand://knowledge/taxonomy/algokit)
- Utilidades de AlgoKit (algorand://knowledge/taxonomy/algokit-utils)
- TEALScript (algoritmo://conocimiento/taxonomía/tealscript)
- Puya (algorand://knowledge/taxonomy/puya)
- Autenticación líquida (algorand://knowledge/taxonomy/liquid-auth)
- Python (algorand://knowledge/taxonomy/python)
- Documentación para desarrolladores (algorand://knowledge/taxonomy/developers)
- Herramientas CLI (algorand://knowledge/taxonomy/clis)
- Gestión de nodos (algorand://knowledge/taxonomy/nodes)
- Detalles técnicos (algorand://knowledge/taxonomy/details)
Características del cliente (trabajo en progreso)
- Billetera local con almacenamiento seguro
- Compatibilidad con billeteras externas (Pera, Defly, Daffi)
- Firma de transacciones
- Gestión de sesiones
- Compatibilidad con módulos ES universales
Formato de respuesta
Todas las respuestas siguen un formato estandarizado:
Los errores se devuelven en un formato estandarizado:
Herramientas y recursos disponibles
La implementación de Algorand MCP proporciona 125 herramientas y recursos para la interacción de blockchain:
- 40 herramientas básicas (cuentas, activos, aplicaciones, gestión de transacciones)
- 30 herramientas API (algoritmo e indexador)
- 6 herramientas NFD (Dominios NFF) para servicios de nombres
- 28 herramientas Vestige para el análisis de DeFi
- 9 herramientas de Tinyman para interacciones con AMM
- 12 herramientas Ultrade para la funcionalidad DEX
Herramientas API
Herramientas de la API de Algod
- api_algod_get_account_info: Obtener el saldo actual de la cuenta, los activos y la dirección de autorización
- api_algod_get_account_application_info: Obtener información de la aplicación específica de la cuenta
- api_algod_get_account_asset_info: Obtener información de activos específica de la cuenta
- api_algod_get_application_by_id: Obtener información de la aplicación
- api_algod_get_application_box: Obtener el cuadro de aplicación por nombre
- api_algod_get_application_boxes: Obtener todos los cuadros de aplicación
- api_algod_get_asset_by_id: Obtener información actual del activo
- api_algod_get_pending_transaction: Obtener información de transacciones pendientes
- api_algod_get_pending_transactions_by_address: Obtener transacciones pendientes para una dirección
- api_algod_get_pending_transactions: Obtener todas las transacciones pendientes
- api_algod_get_transaction_params: Obtener los parámetros de transacción sugeridos
- api_algod_get_node_status: Obtener el estado actual del nodo
- api_algod_get_node_status_after_block: Obtener el estado del nodo después de una ronda específica
Herramientas de API de indexación
- api_indexer_lookup_account_by_id: Obtener información de la cuenta
- api_indexer_lookup_account_assets: Obtener los activos de la cuenta
- api_indexer_lookup_account_app_local_states: Obtener los estados locales de la aplicación de la cuenta
- api_indexer_lookup_account_created_applications: Obtener aplicaciones creadas por cuenta
- api_indexer_search_for_accounts: Busca cuentas con varios criterios
- api_indexer_lookup_applications: Obtener información de la aplicación
- api_indexer_lookup_application_logs: Obtener mensajes de registro de la aplicación
- api_indexer_search_for_applications: Buscar aplicaciones
- api_indexer_lookup_asset_by_id: Obtener información y configuración de los activos
- api_indexer_lookup_asset_balances: Obtener las cuentas que contienen este activo
- api_indexer_lookup_asset_transactions: Obtener transacciones que involucran este activo
- api_indexer_search_for_assets: Buscar activos
- api_indexer_lookup_transaction_by_id: Obtener información de la transacción
- api_indexer_lookup_account_transactions: Obtener el historial de transacciones de la cuenta
- api_indexer_search_for_transactions: Buscar transacciones
Herramientas API de NFD (Dominios NFD)
- api_nfd_get_nfd: Obtener NFD por nombre o ID de aplicación
- api_nfd_get_nfds_for_addresses: Obtener NFD para direcciones específicas
- api_nfd_get_nfd_activity: Obtener actividad/cambios para NFD
- api_nfd_get_nfd_analytics: Obtener datos analíticos para NFD
- api_nfd_browse_nfds: Explorar NFD con varios filtros
- api_nfd_search_nfds: Busca NFD con varios filtros
Herramientas API de Vestige
- Ver herramientas:
- api_vestige_view_networks: Obtener todas las redes
- api_vestige_view_network_by_id: Obtener la red por id
- api_vestige_view_protocols: Obtener todos los protocolos
- api_vestige_view_protocol_by_id: Obtener el protocolo por id
- api_vestige_view_protocol_volumes: Obtener volúmenes de protocolo en un día específico
- api_vestige_view_assets: Obtener datos sobre los activos
- api_vestige_view_assets_list: Obtener la lista de activos
- api_vestige_view_assets_search: Buscar activos por consulta
- api_vestige_view_asset_price: Obtener precios de activos
- api_vestige_view_asset_candles: Obtener velas de activos
- api_vestige_view_asset_history: Obtenga el volumen de activos, swaps, bloqueo total, vwap e historial de confianza
- api_vestige_view_asset_composition: Obtener bloqueos de activos según el protocolo y el par
- api_vestige_view_pools: Obtener grupos
- api_vestige_view_vaults: Obtener todas las bóvedas
- api_vestige_view_balances: Obtener saldos por ID de red, ID de protocolo e ID de activo
- api_vestige_view_notes: Obtener notas por ID de red y, opcionalmente, ID de activo
- api_vestige_view_first_asset_notes: Obtener la primera nota de los activos
- api_vestige_view_asset_notes_count: Obtener el recuento de notas de los activos
- api_vestige_view_swaps: Obtener intercambios
- Intercambiar herramientas:
- api_vestige_get_best_v4_swap_data: Obtener los mejores datos de intercambio de V4
- api_vestige_get_v4_swap_discount: Obtenga descuento por intercambio de V4
- api_vestige_get_v4_swap_data_transactions: Obtener transacciones de datos de intercambio V4
- api_vestige_get_agregator_stats: Obtener estadísticas del agregador
- Herramientas de moneda:
- api_vestige_view_currency_prices: Consulta los precios de divisas más recientes.
- api_vestige_view_currency_price_history: Obtener precios de divisas por rango de marca de tiempo
- api_vestige_view_currency_price: Obtener el precio de la moneda por marca de tiempo
- api_vestige_view_currency_average_price: Obtener el precio promedio de la moneda
- api_vestige_view_currency_prices_simple_30d: Obtener precios de divisas de los últimos 30 días
Herramientas API de Tinyman
- api_tinyman_get_pool: Obtener información del pool de Tinyman por par de activos
- api_tinyman_get_pool_analytics: Obtener análisis para un grupo de Tinyman
- api_tinyman_get_pool_creation_quote: Obtener cotización para crear un nuevo grupo
- api_tinyman_get_liquidity_quote: Obtener cotización para agregar liquidez
- api_tinyman_get_remove_liquidity_quote: Obtener cotización para eliminar liquidez
- api_tinyman_get_swap_quote: Obtener cotización para intercambiar activos
- api_tinyman_get_asset_optin_quote: Obtener cotización para optar por el token del pool
- api_tinyman_get_validator_optin_quote: Obtener cotización para optar por el validador
- api_tinyman_get_validator_optout_quote: Obtener cotización para optar por no usar el validador
Herramientas API de Ultrade
- Herramientas de billetera:
- api_ultrade_wallet_signin_message: Generar un mensaje a partir de los datos de inicio de sesión
- api_ultrade_wallet_signin: Iniciar sesión en la cuenta de trading
- api_ultrade_wallet_add_key: Agregar una clave comercial
- api_ultrade_wallet_revoke_key: Revocar una clave comercial
- api_ultrade_wallet_keys: Obtener claves de trading
- api_ultrade_wallet_key_message: Generar mensaje a partir de los datos de la clave comercial
- api_ultrade_wallet_trades: Obtener transacciones filtradas de la billetera
- api_ultrade_wallet_transactions: Obtener transacciones de billetera filtradas
- api_ultrade_wallet_withdraw: Retirar token
- api_ultrade_wallet_withdraw_message: Generar mensaje a partir de los datos de retiro
- Herramientas de mercado:
- api_ultrade_market_symbols: Obtener símbolos de mercado
- api_ultrade_market_details: Obtener detalles del mercado
- api_ultrade_market_price: Obtener el último precio de mercado por símbolo de par
- api_ultrade_market_depth: Obtener la profundidad del libro de órdenes
- api_ultrade_market_last_trades: Obtener las últimas operaciones
- api_ultrade_market_history: Obtener el historial del mercado
- api_ultrade_market_assets: Obtener activos comerciales
- api_ultrade_market_fee_rates: Obtener tarifas
- api_ultrade_market_chains: Obtener cadenas de blockchain
- api_ultrade_market_withdrawal_fee: Obtener la comisión de retiro
- api_ultrade_market_operation_details: Obtener detalles de la operación
- api_ultrade_market_settings: Obtener la configuración del mercado
- api_ultrade_market_orders: Obtener pedidos
- api_ultrade_market_open_orders: Obtener órdenes abiertas
- api_ultrade_market_order_by_id: Obtener el pedido por ID
- api_ultrade_market_order_message: Generar mensaje a partir de los datos del pedido
- api_ultrade_market_create_order: Crear un nuevo pedido
- api_ultrade_market_create_orders: Crear nuevos pedidos
- api_ultrade_market_cancel_order: Cancelar orden abierta
- api_ultrade_market_cancel_orders: Cancelar múltiples órdenes abiertas
- Herramientas del sistema:
- api_ultrade_system_time: Obtener la hora actual del sistema
- api_ultrade_system_maintenance: Obtener el estado de mantenimiento del sistema
- api_ultrade_system_version: Obtener la versión del sistema
Herramientas de gestión de cuentas
- create_account: Crea una nueva cuenta de Algorand
- rekey_account: Rekey una cuenta a una nueva dirección
- validate_address: Comprueba si una dirección de Algorand es válida
- encode_address: codifica una clave pública en una dirección de Algorand
- decode_address: decodifica una dirección de Algorand a una clave pública
Herramientas de aplicación
- make_app_create_txn: Crea una transacción de creación de aplicaciones
- make_app_update_txn: Crea una transacción de actualización de la aplicación
- make_app_delete_txn: Crea una transacción de eliminación de aplicación
- make_app_optin_txn: Crea una transacción de suscripción a la aplicación
- make_app_closeout_txn: Crea una transacción de cierre de aplicación
- make_app_clear_txn: Crea una transacción de estado claro de la aplicación
- make_app_call_txn: Crea una transacción de llamada de aplicación
- get_application_address: obtiene la dirección para un ID de aplicación determinado
- compile_teal: Compilar el código fuente de TEAL
- disassemble_teal: Desmonta el bytecode TEAL y lo devuelve al origen
Herramientas de activos
- make_asset_create_txn: Crea una transacción de creación de activos
- make_asset_config_txn: Crea una transacción de configuración de activos
- make_asset_destroy_txn: Crea una transacción de destrucción de activos
- make_asset_freeze_txn: Crea una transacción de congelación de activos
- make_asset_transfer_txn: Crea una transacción de transferencia de activos
Herramientas de transacción
- send_raw_transaction: Envía transacciones firmadas a la red
- simulator_raw_transactions: Simular transacciones sin procesar
- simular_transacciones: Simular transacciones con configuración detallada
- make_payment_txn: Crea una transacción de pago
- assignment_group_id: Asigna un ID de grupo a una lista de transacciones
- sign_transaction: Firmar una transacción con una clave secreta
Herramientas de gestión de claves
- mnemonic_to_mdk: Convierte un mnemónico en una clave de derivación maestra
- mdk_to_mnemonic: Convierte una clave de derivación maestra en un mnemónico
- secret_key_to_mnemonic: Convierte una clave secreta en un mnemónico
- mnemonic_to_secret_key: Convierte un mnemónico en una clave secreta
- seed_from_mnemonic: Generar una semilla a partir de un mnemónico
- mnemonic_from_seed: Generar un mnemónico a partir de una semilla
- sign_bytes: Firma bytes arbitrarios con una clave secreta
Herramientas de utilidad
- bytes_to_bigint: Convierte bytes a un BigInt
- bigint_to_bytes: Convierte un BigInt a bytes
- encode_uint64: Codifica un uint64 en bytes
- decode_uint64: Decodifica bytes a un uint64
- generate_algorand_uri: Genera un URI de Algorand y un código QR según la especificación ARC-26
Dependencias
- algosdk: SDK de JavaScript de Algorand
- @perawallet/connect: Conector de Pera Wallet
- @blockshake/defly-connect: Conector de billetera Defly
- @daffiwallet/connect: Conector de Daffi Wallet
Licencia
Instituto Tecnológico de Massachusetts (MIT)
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Un servidor MCP integral para interacciones de herramientas (más de 100) y accesibilidad de recursos (Algorand Knowledge, billeteras integradas,...) en la cadena de bloques de Algorand, además de muchos avisos útiles.
- Descripción general
- Características
- Requisitos
- Instalación
- Arquitectura del proyecto
- Estructura del proyecto
- Funcionalidades principales
- Formato de respuesta
- Herramientas y recursos disponibles
- Dependencias
- Licencia
Related Resources
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
- AsecurityAlicenseAqualityA MCP server offering tools for cryptocurrency research and Ethereum-based automation.Last updated -113637TypeScriptAGPL 3.0
- -securityFlicense-qualityAn MCP server that connects Claude for Desktop with blockchain functionality, allowing users to check balances and send tokens on EVM and Solana chains through natural language interactions.Last updated -TypeScript