Algorand MCP ServerAlgorand MCP Server

Local

API Integration

Integrate this MCP server into your applications.

Get your API Key

You'll need to login and generate a Smithery API key to connect to this server.

Installation

Install the official MCP SDKs using npm:

bash
npm install @modelcontextprotocol/sdk @smithery/sdk

TypeScript SDK

typescript

import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"
import { createSmitheryUrl } from "@smithery/sdk"

const config = {
  "NFD_API_URL": "https://api.nf.domains",
  "ALGORAND_ALGOD": "https://testnet-api.algonode.cloud",
  "ALGORAND_TOKEN": "",
  "ITEMS_PER_PAGE": 10,
  "TINYMAN_ACTIVE": false,
  "ULTRADE_ACTIVE": false,
  "VESTIGE_ACTIVE": false,
  "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_AGENT_WALLET": "",
  "ALGORAND_INDEXER_PORT": ""
}
const serverUrl = createSmitheryUrl("https://server.smithery.ai/@GoPlausible/algorand-mcp", config, "your-smithery-api-key")

const transport = new StreamableHTTPClientTransport(serverUrl)

// Create MCP client
import { Client } from "@modelcontextprotocol/sdk/client/index.js"

const client = new Client({
	name: "Test client",
	version: "1.0.0"
})
await client.connect(transport)

// Use the server tools with your LLM application
const tools = await client.listTools()
console.log(`Available tools: ${tools.map(t => t.name).join(", ")}`)

Configuration Schema

Full JSON Schema for server configuration:

json
{
  "type": "object",
  "properties": {
    "NFD_API_URL": {
      "type": "string",
      "default": "https://api.nf.domains",
      "description": "NFDomains API URL"
    },
    "ALGORAND_ALGOD": {
      "type": "string",
      "default": "https://testnet-api.algonode.cloud",
      "description": "Algod node base URL"
    },
    "ALGORAND_TOKEN": {
      "type": "string",
      "default": "",
      "description": "Algorand API token (optional)"
    },
    "ITEMS_PER_PAGE": {
      "type": "string",
      "default": 10,
      "description": "Number of items per page for paginated responses"
    },
    "TINYMAN_ACTIVE": {
      "type": "boolean",
      "default": false,
      "description": "Tinyman is active"
    },
    "ULTRADE_ACTIVE": {
      "type": "boolean",
      "default": false,
      "description": "UltraDe is active"
    },
    "VESTIGE_ACTIVE": {
      "type": "boolean",
      "default": false,
      "description": "Vestige is active"
    },
    "VESTIGE_API_URL": {
      "type": "string",
      "default": "https://api.vestigelabs.org",
      "description": "Vestige API URL"
    },
    "ALGORAND_INDEXER": {
      "type": "string",
      "default": "https://testnet-idx.algonode.cloud",
      "description": "Indexer base URL"
    },
    "ALGORAND_NETWORK": {
      "type": "string",
      "default": "testnet",
      "description": "Algorand network to connect to, e.g., testnet or mainnet"
    },
    "ALGORAND_ALGOD_API": {
      "type": "string",
      "default": "https://testnet-api.algonode.cloud/v2",
      "description": "Algod API endpoint URL"
    },
    "ALGORAND_ALGOD_PORT": {
      "type": "string",
      "default": "",
      "description": "Algod node port (optional)"
    },
    "ALGORAND_INDEXER_API": {
      "type": "string",
      "default": "https://testnet-idx.algonode.cloud/v2",
      "description": "Indexer API endpoint URL"
    },
    "ALGORAND_AGENT_WALLET": {
      "type": "string",
      "default": "",
      "description": "Algorand agent active wallet"
    },
    "ALGORAND_INDEXER_PORT": {
      "type": "string",
      "default": "",
      "description": "Indexer port (optional)"
    }
  }
}