MCP HubMCP Hub
GoPlausible

algorand-mcp

by: GoPlausible

Algorand Model Context Protocol (Server & Client)

27created 10/03/2025
Visit
Algorand
Protocol

πŸ“ŒOverview

Purpose: To standardize the interaction between applications and large language models (LLMs) through the Model Context Protocol (MCP) specifically tailored for Algorand blockchain interactions.

Overview: The Algorand MCP implementation provides an open protocol that allows applications to deliver contextual information to LLMs, enhancing their usability and performance. This repository contains both a server and a client package, designed for efficient interactions with the Algorand blockchain.

Key Features:

  • Complete Algorand Blockchain Interaction Capabilities: Provides robust tools for managing blockchain interactions, including transaction creation and submission, and extensive querying of blockchain state.

  • Extensive Wallet Management System: Facilitates efficient wallet management and secure transaction signing, supporting both local and external wallets.

  • Comprehensive Transaction Handling: Streamlines the process for creating, signing, and submitting transactions while ensuring a standardized response format.

  • Rich Blockchain State Querying: Offers utilities for querying real-time and historical blockchain data, utilizing built-in resource tools for enhanced functionality.

  • Built-in Security Features: Ensures secure handling of credentials and wallet information, crucial for protecting user assets.

  • Support for Claude Desktop and Cursor Integration: Compatible with popular client-side applications, ensuring widespread usability across platforms.


Algorand MCP Implementation

Overview

Model Context Protocol (MCP) is an open protocol that standardizes how applications provide context to large language models (LLMs). MCP defines specification standards to give LLMs tools, resources, and instructions to enhance their usefulness and effectiveness.

This repository implements MCP for Algorand blockchain interactions. It includes:

  • A production-ready server package for blockchain interactions (Node.js only)
  • A work-in-progress client package for wallet management and transaction signing (supports browser and Node.js)

Packages in this repository:

  • Algorand MCP Server - Full Algorand MCP server implementation.
  • Algorand MCP Client - Client-side wallet management and transaction signing, for other agent hosts integration.

NPM:

Smithery:

Features

  • Complete Algorand documentation integration including ARCs, SDKs, and tools
  • Comprehensive blockchain interaction capabilities
  • Extensive wallet management and transaction handling
  • Rich blockchain state querying
  • Built-in security features
  • Support for Claude Desktop and Cursor integration

Requirements

  • Node.js v23.6.1 or later
  • npm v10.2.4 or later

Installation

Via NPM

npm install algorand-mcp

Via Smithery

For Claude Desktop:

npx -y @smithery/cli@latest install @GoPlausible/algorand-mcp --client claude --config "{\"NFD_API_KEY\":\"\",\"NFD_API_URL\":\"https://api.nf.domains\",\"ALGORAND_ALGOD\":\"https://testnet-api.algonode.cloud\",\"ALGORAND_TOKEN\":\"\",\"ITEMS_PER_PAGE\":\"10\",\"VESTIGE_API_KEY\":\"\",\"VESTIGE_API_URL\":\"https://api.vestigelabs.org\",\"ALGORAND_INDEXER\":\"https://testnet-idx.algonode.cloud\",\"ALGORAND_NETWORK\":\"testnet\",\"ALGORAND_ALGOD_API\":\"https://testnet-api.algonode.cloud/v2\",\"ALGORAND_ALGOD_PORT\":\"\",\"ALGORAND_INDEXER_API\":\"https://testnet-idx.algonode.cloud/v2\",\"ALGORAND_INDEXER_PORT\":\"\"}"

For Cursor:

npx -y @smithery/cli@latest install @GoPlausible/algorand-mcp --client cursor --config "{\"NFD_API_KEY\":\"\",\"NFD_API_URL\":\"https://api.nf.domains\",\"ALGORAND_ALGOD\":\"https://testnet-api.algonode.cloud\",\"ALGORAND_TOKEN\":\"\",\"ITEMS_PER_PAGE\":\"10\",\"VESTIGE_API_KEY\":\"\",\"VESTIGE_API_URL\":\"https://api.vestigelabs.org\",\"ALGORAND_INDEXER\":\"https://testnet-idx.algonode.cloud\",\"ALGORAND_NETWORK\":\"testnet\",\"ALGORAND_ALGOD_API\":\"https://testnet-api.algonode.cloud/v2\",\"ALGORAND_ALGOD_PORT\":\"\",\"ALGORAND_INDEXER_API\":\"https://testnet-idx.algonode.cloud/v2\",\"ALGORAND_INDEXER_PORT\":\"\"}"

IMPORTANT: When using Smithery UI to copy the command, set ITEMS_PER_PAGE before clicking connect to ensure all environment variables are included.

Project Architecture

The project has a modular architecture with two main packages:

  1. Server Package (@algorand-mcp/server)

    • MCP tools and resources
    • Blockchain interactions
    • Transaction creation/submission
    • Blockchain queries
  2. Client Package (@algorand-mcp/client)

    • Wallet connections and transaction signing
    • Supports local and external wallets
    • Cross-platform (browser/Node.js)
    • Secure credential management
    • Work in progress (server package operates independently)

Project Structure

algorand-mcp/
β”œβ”€β”€ packages/
β”‚   β”œβ”€β”€ client/                    # Client Package
β”‚   └── server/                    # Server Package with resources, tools, and API management
β”œβ”€β”€ package.json                   # Root package file
└── tsconfig.json                  # Root TypeScript configuration

Core Functionalities

Server Features

  • Account management and asset operations
  • Application interactions
  • Transaction creation and submission
  • Blockchain state queries with pagination
  • NFDomains and Vestige DeFi analytics integration
  • Tinyman AMM and Ultrade DEX integration
  • Knowledge taxonomy resources with comprehensive Algorand documentation

Client Features (WIP)

  • Local wallet with secure storage
  • External wallet support (Pera, Defly, Daffi)
  • Transaction signing and session management
  • Universal ES module support

Response Format

Successful responses:

{
  "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
  }
}

Error responses:

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

Available Tools and Resources

The implementation includes 125 tools and resources:

  • 40 base tools for account, asset, application, and transaction management
  • 30 API tools covering algod and indexer APIs
  • 6 NFDomains tools for name services
  • 28 Vestige tools for DeFi analytics
  • 9 Tinyman tools for automated market maker (AMM) interactions
  • 12 Ultrade tools for decentralized exchange (DEX) functionality

API Tools

Algod API Tools

  • Get account info, application data, asset data, and pending transactions
  • Retrieve transaction parameters, node status, and application boxes

Indexer API Tools

  • Lookup accounts, assets, applications, and transactions with extensive search capabilities

NFDomains API Tools

  • Fetch NFD information, activity, analytics, and browse/search NFDs

Vestige API Tools

Includes view, swap, and currency tools to retrieve data about:

  • Networks, protocols, assets, pools, vaults, balances, swaps, and currency prices
  • Best swap data and aggregator statistics

Tinyman API Tools

  • Access pool info, analytics, quotes for liquidity and swaps, and validator opt-in/out quotes

Ultrade API Tools

  • Wallet management (sign in, keys, trades, withdrawals)
  • Market data (symbols, prices, order book, trades, history, fees)
  • Order management (create, cancel, fetch)
  • System information (time, maintenance, version)

Account Management Tools

  • Create accounts, validate and encode/decode addresses, rekey accounts

Application Tools

  • Create, update, delete, opt-in/out, clear, and call applications
  • Compile and disassemble TEAL code

Asset Tools

  • Create, configure, destroy, freeze, and transfer assets

Transaction Tools

  • Submit/send transactions, simulate transactions, create payment transactions, sign, and group transactions

Key Management Tools

  • Mnemonic and key conversions, seeds generation, and signing bytes

Utility Tools

  • Convert between bytes and BigInt, encode/decode uint64, generate Algorand URIs and QR codes per ARC-26

Dependencies

  • algosdk (Algorand JavaScript SDK)
  • @perawallet/connect (Pera Wallet connector)
  • @blockshake/defly-connect (Defly Wallet connector)
  • @daffiwallet/connect (Daffi Wallet connector)

License

MIT