Skip to main content
Glama

Implementación de Algorand MCP

insignia de herrería Descargas de npm versión npm Licencia: MIT

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:

Related MCP server: Armor Crypto MCP

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 (

    • 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 (

    • 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

Latest Blog Posts

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