Skip to main content
Glama

Algorand MCP

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.

Captura de pantalla del 15/03/2025 a las 17:47:54

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:

📦 Herrería:

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:

node -v

¡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):

mkdir PATH_ON_YOUR_MACHINE/Claude/mcp-servers # or for Cursor mkdir PATH_ON_YOUR_MACHINE/Cursor/mcp-servers

Luego clone este repositorio en la carpeta mcp-servers e instale las dependencias:

cd PATH_ON_YOUR_MACHINE/Claude/mcp-servers # or for Cursor cd PATH_ON_YOUR_MACHINE/Cursor/mcp-servers # Clone the repository git clone https://github.com/GoPlausible/algorand-mcp.git cd algorand-mcp # Install dependencies npm install # Build the project npm run build # Edit the .env file to set your configurations

¡Listo! Ahora puedes abrir la configuración de MCP y agregar el servidor como:

{ "mcpServers": { "algorand-mcp": { "command": "node", "args": [ "PATH_ON_YOUR_MACHINE/Claude/mcp-servers/algorand-mcp/packages/server/dist/index.js" ], "env": { "ALGORAND_NETWORK": "testnet", "ALGORAND_ALGOD_API": "https://testnet-api.algonode.cloud/v2", "ALGORAND_ALGOD": "https://testnet-api.algonode.cloud", "ALGORAND_INDEXER_API": "https://testnet-idx.algonode.cloud/v2", "ALGORAND_INDEXER": "https://testnet-idx.algonode.cloud", "ALGORAND_ALGOD_PORT": "", "ALGORAND_INDEXER_PORT": "", "ALGORAND_TOKEN": "", "ALGORAND_AGENT_WALLET": "problem aim online jaguar upper oil flight stumble mystery aerobic toy avoid file tomato moment exclude witness guard lab opera crunch noodle dune abandon broccoli", "NFD_API_URL": "https://api.nf.domains", "NFD_API_KEY": "", "TINYMAN_ACTIVE": "false", "ULTRADE_ACTIVE": "false", "ULTRADE_API_URL": "https://api.ultrade.io", "VESTIGE_ACTIVE": "false", "VESTIGE_API_URL": "https://api.vestigelabs.org", "VESTIGE_API_KEY": "", "ITEMS_PER_PAGE": "10" } } } }

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:

{ "mcpServers": { "algorand-mcp": { "command": "node", "args": [ " /Users/YOUR_USERNAME/Library/Application\ Support/Claude/mcp-servers/algorand-mcp/packages/server/dist/index.js" ] } } }

Arquitectura del proyecto

El proyecto sigue una arquitectura modular con dos paquetes principales:

  1. 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
  2. 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

algorand-mcp/ ├── packages/ │ ├── client/ # Client Package │ │ ├── src/ │ │ │ ├── index.ts # Client entry point and wallet management │ │ │ └── LocalWallet.ts # Local wallet implementation │ │ ├── package.json │ │ └── tsconfig.json │ └── server/ # Server Package │ ├── src/ │ │ ├── resources/ # MCP Resources (User-invokable endpoints) │ │ │ ├── knowledge/ # Documentation and taxonomy │ │ │ │ ├── taxonomy/ # Markdown documentation │ │ │ │ └── index.ts # Knowledge resource handler │ │ │ ├── wallet/ # Wallet management │ │ │ │ └── index.ts # Wallet resource handler │ │ │ └── index.ts # Resource registration │ │ ├── tools/ # MCP Tools (Agent-invokable operations) │ │ │ ├── accountManager.ts # Account operations │ │ │ ├── algodManager.ts # Node interactions │ │ │ ├── utilityManager.ts # Utility functions │ │ │ ├── apiManager/ # API Tools │ │ │ │ ├── algod/ # Algod API tools │ │ │ │ ├── indexer/ # Indexer API tools │ │ │ │ ├── nfd/ # NFDomains tools │ │ │ │ ├── vestige/ # Vestige DeFi tools │ │ │ │ ├── tinyman/ # Tinyman AMM tools │ │ │ │ └── ultrade/ # Ultrade DEX tools │ │ │ └── transactionManager/ # Transaction handling │ │ ├── env.ts # Environment configuration │ │ └── index.ts # Server entry point │ ├── package.json │ └── tsconfig.json ├── package.json # Root package file └── tsconfig.json # Root TypeScript config

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:

{ "data": { // Response data here }, "metadata": { // Only for paginated responses "totalItems": number, "itemsPerPage": number, "currentPage": number, "totalPages": number, "hasNextPage": boolean, "pageToken": string, "arrayField": string // Name of paginated array field } }

Los errores se devuelven en un formato estandarizado:

{ "error": { "code": string, "message": string } }

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
  1. 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
  1. 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
  1. 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
  1. 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
  1. 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
  1. 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)

-
security - not tested
A
license - permissive license
-
quality - not tested

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.

  1. Descripción general
    1. Características
      1. Requisitos
        1. Instalación
          1. Arquitectura del proyecto
            1. Estructura del proyecto
              1. Funcionalidades principales
                1. Características del servidor
                2. Características del cliente (trabajo en progreso)
              2. Formato de respuesta
                1. Herramientas y recursos disponibles
                  1. Herramientas API
                  2. Herramientas de gestión de cuentas
                  3. Herramientas de aplicación
                  4. Herramientas de activos
                  5. Herramientas de transacción
                  6. Herramientas de gestión de claves
                  7. Herramientas de utilidad
                2. Dependencias
                  1. Licencia

                    Related MCP Servers

                    • A
                      security
                      F
                      license
                      A
                      quality
                      An 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 -
                      3
                      JavaScript
                    • A
                      security
                      F
                      license
                      A
                      quality
                      An MCP server implementation that enables interaction with the Unstructured API, providing tools to list, create, update, and manage sources, destinations, and workflows.
                      Last updated -
                      39
                      28
                      • Apple
                    • A
                      security
                      A
                      license
                      A
                      quality
                      A MCP server offering tools for cryptocurrency research and Ethereum-based automation.
                      Last updated -
                      113
                      6
                      37
                      TypeScript
                      AGPL 3.0
                    • -
                      security
                      F
                      license
                      -
                      quality
                      An 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
                      • Apple

                    View all related MCP servers

                    MCP directory API

                    We provide all the information about MCP servers via our MCP API.

                    curl -X GET 'https://glama.ai/api/mcp/v1/servers/GoPlausible/algorand-mcp'

                    If you have feedback or need assistance with the MCP directory API, please join our Discord server