MCP.so
Sign In

Algorand MCP Implementation

@GoPlausible

About Algorand MCP Implementation

Algorand Local Model Context Protocol (Server & Client)

Config

Add this server to your MCP-compatible client using the configuration below.

{
  "mcpServers": {
    "algorand-mcp": {
      "command": "npx",
      "args": [
        "@goplausible/algorand-mcp"
      ]
    }
  }
}

Tools

119

Create a new Algorand account

Rekey an Algorand account to a new address

Convert a mnemonic to a master derivation key

Convert a master derivation key to a mnemonic

Convert a secret key to a mnemonic

Convert a mnemonic to a secret key

Generate a seed from a mnemonic

Generate a mnemonic from a seed

Create a new Algorand account, store it in the agent-wallet database with a nickname, and auto-switch to it if it is the first account. Returns address, public key, nickname, and index. The mnemonic is held internally by the MCP server and never returned to the agent.

Remove an Algorand account from the wallet by nickname or index.

List wallet accounts with their nicknames and addresses. By default returns only ACTIVE accounts (signable). Pass { archived: true } to return ARCHIVED accounts instead — these are accounts whose mnemonic could not be recovered from the OS keychain at startup (e.g., wallet.db moved to a new machine without keychain, or fresh Docker install over an existing DB). Archived rows stay in the DB for forensics but cannot sign; their nicknames are freed for reuse by new active accounts.

Switch the active wallet account by nickname or index. The active account is used for signing and balance queries.

Get info for the ACTIVE wallet account (an account whose private key this MCP server owns in the OS keychain). Returns nickname, address, public key, network, on-chain balance, min-balance, opted-in apps/assets counts. Use this when you want to know the state of "the wallet you control." For an arbitrary on-chain account that this wallet does NOT own, use api_algod_get_account_info instead.

Get all ASA holdings for the ACTIVE wallet account (an account whose private key this MCP server owns). Returns the wallet nickname, address, network, and the assets array. Use this when listing holdings of "the wallet you control." For asset holdings of an arbitrary on-chain account, use api_algod_get_account_info (returns full account including assets) or api_algod_get_account_asset_info (single asset).

Sign a single transaction with the active wallet account.

Sign a group of transactions with the active wallet account. Assigns group ID automatically.

Sign arbitrary data with the active wallet account using raw Ed25519 (noble library, no Algorand SDK prefix). Returns hex signature.

Opt the active wallet account into an asset by ID. Creates, signs, and submits the opt-in transaction.

Probe an x402-protected HTTP endpoint and return its payment requirements (the `accepts` array from the 402 response) without paying. Use this to inspect cost and supported networks/assets before calling `make_http_request_with_x402`.

Call an x402-protected HTTP endpoint with automatic USDC/ALGO payment from the active wallet. If `paymentRequirements` is not supplied, this tool runs discovery internally (one extra request). Builds an atomic 2-transaction group (facilitator fee-payer + wallet payment), signs the payment leg with the wallet, and resends with the `PAYMENT-SIGNATURE` header.

Browse paid API resources cataloged in the Bazaar (the discovery directory hosted by the configured facilitator). Returns a compact summary per resource by default; pass `full: true` for the verbatim facilitator response. Supports filtering by `network`, `method`, `merchantId`, plus standard `limit`/`offset` pagination.

Search Bazaar paid API resources by keyword. Hits the same /discovery/resources endpoint as bazaar_list but with the `search` query forwarded to the facilitator. Additional filters (`scheme`, `maxUsdPrice`, `asset`, `payTo`, `extensions`, `includeTestnets`) are applied client-side after the response. Defaults to mainnet-only.

Fetch full details for a single Bazaar resource by its exact `resource` URL. Internally calls /discovery/resources?search=<url> and exact-matches against resourceUrl. Returns the verbatim resource record (accepts[], discoveryInfo / extensions, popularity counters) or an error if no match is found.

Basic protocol utility to verify server connectivity

Check if an Algorand address is valid

Encode a public key to an Algorand address

Decode an Algorand address to a public key

Get the address for a given application ID

Convert bytes to a BigInt

Convert a BigInt to bytes

Encode a uint64 to bytes

Decode bytes to a uint64

Verify a signature against bytes with an Algorand address

Sign bytes with a secret key

Encode an object to msgpack format

Decode msgpack bytes to an object

Compile TEAL source code

Disassemble TEAL bytecode back to source

Submit signed transactions to the Algorand network

Simulate already-encoded, optionally-signed transactions (base64 bytes). Use this when you have raw txn bytes ready and only need a pass/fail + log/cost result — no execution tracing, no extra opcode budget, no unnamed-resource handling. For a richer simulation (trace, extra budget, unsigned txns, multiple groups), use simulate_transactions.

Simulate one or more transaction groups built from decoded transaction objects, with a full SimulateRequest config (allowEmptySignatures, allowMoreLogging, allowUnnamedResources, execTraceConfig, extraOpcodeBudget, round). Use this when you need execution traces, extra opcode budget, to simulate unsigned txns, or to opt into Algorand v9+ simulate features. For a quick pass/fail check on pre-encoded bytes, use simulate_raw_transactions instead.

Create a payment transaction

Create a key registration transaction

Create an asset creation transaction

Create an asset configuration transaction

Create an asset destroy transaction

Create an asset freeze transaction

Create an asset transfer transaction

Create an application creation transaction

Create an application update transaction

Create an application delete transaction

Create an application opt-in transaction

Create an application close out transaction

Create an application clear state transaction

Create an application call transaction

Assign a group ID to a list of transactions

Sign a transaction with a secret key

Encode a transaction object into base64 unsigned transaction bytes (msgpack). Accepts output from make_*_txn or assign_group_id.

Decode base64 signed transaction bytes back into a transaction object with signature details. Accepts the blob from sign_transaction or wallet_sign_transaction.

Get current account balance, assets, and auth address from algod

Get account-specific application information from algod

Get account-specific asset information from algod

Get application information

Get application box by name

Get all application boxes

Get current asset information from algod

Get pending transaction information

Get pending transactions for an address

Get all pending transactions

Get suggested transaction parameters

Get current node status

Get node status after a specific round

Get applications created by this account

Search for accounts with various criteria

Get application log messages

Search for applications with various criteria

Get accounts holding this asset and their balances

Get transactions involving this asset

Search for assets with various criteria

Get transaction information by ID

Get account transaction history

Search for transactions with various criteria

Get a specific NFD by name or by its application ID

Get NFDs for specific addresses

Get activity/changes for NFDs

Get analytics data for NFDs

Browse NFDs with various filters

Search NFDs with various filters

Get Tinyman pool information by asset pair

Get quote for adding liquidity to a pool

Get quote for swapping assets

Get analytics for a Tinyman pool

Get quote for creating a new Tinyman pool

Get quote for removing liquidity from a pool

Get quote for opting into a Tinyman pool token

Get quote for opting into Tinyman validator app

Get quote for opting out of Tinyman validator app

Get an optimized swap quote from Haystack Router — a DEX aggregator that finds the best swap route across multiple Algorand DEXes (Tinyman V2, Pact, Folks) and LST protocols (tALGO, xALGO). Returns the best-price quote with route details, USD values, and price impact. Use this to preview a swap before executing. All amounts are in base units (e.g., 1000000 = 1 ALGO).

Execute an optimized token swap via Haystack Router — gets the best route across multiple DEXes (Tinyman V2, Pact, Folks) and LST protocols, then signs and submits the atomic transaction group using the active wallet account. This is an all-in-one tool: quote → sign → submit → confirm. All amounts are in base units (e.g., 1000000 = 1 ALGO).

Check if an Algorand address needs to opt into an asset before swapping. Returns true if opt-in is needed, false otherwise. Always returns false for ALGO (ASA 0). Use before executing a swap to determine if wallet_optin_asset should be called first.

Get the verification status of an Algorand mainnet asset from Pera Wallet. Returns verification tier (verified, trusted, suspicious, unverified) and explorer URL.

Get detailed information about an Algorand mainnet asset from Pera Wallet, including name, unit name, decimals, total supply, USD value, logo, verification tier, and collectible status.

Search Pera Wallet verified Algorand mainnet assets by name, unit name, or keyword. Returns matching assets with verification status, USD value, and logo.

Fetch all live Alpha Arcade prediction markets. Returns summary: id, title, marketAppId, prices, volume. Multi-choice markets have an options[] array — use options[].marketAppId for trading.

Fetch Alpha Arcade markets with liquidity rewards (totalRewards, rewardsPaidOut, etc.). Same shape as alpha_get_live_markets but includes reward info. Requires ALPHA_API_KEY.

Fetch full details for a single Alpha Arcade prediction market. Pass marketAppId (numeric, always required) and optionally marketId (UUID) for richer API data.

Fetch the on-chain orderbook as a unified YES-perspective view. Merges all 4 sides (YES bids/asks + NO bids/asks). Includes spread calculation.

Fetch all open orders for a wallet on a specific Alpha Arcade market. Uses your active MCP wallet if walletAddress is not provided.

Fetch all YES/NO token positions for a wallet across all Alpha Arcade markets. Uses your active MCP wallet if walletAddress is not provided.

Place a limit order on an Alpha Arcade prediction market. Price and quantity in microunits (500000 = $0.50, 1000000 = 1 share). Locks ~0.957 ALGO collateral. Returns escrowAppId — save it for cancel_order.

Place a market order with auto-matching on Alpha Arcade. Price, quantity, and slippage in microunits. Returns escrowAppId, matched quantity, and actual fill price.

Cancel an open Alpha Arcade order. Requires escrowAppId and orderOwner. Refunds USDC/tokens and ~0.957 ALGO collateral.

Edit an existing unfilled Alpha Arcade order in-place (change price, quantity, or slippage). Faster than cancel + recreate.

Propose a match between an existing maker order and your wallet as taker on Alpha Arcade.

Split USDC into equal YES and NO outcome tokens on Alpha Arcade. 1 USDC (1000000 microunits) = 1 YES + 1 NO.

Merge equal YES and NO outcome tokens back into USDC on Alpha Arcade. 1 YES + 1 NO = 1 USDC.

Claim USDC from a resolved Alpha Arcade market by redeeming outcome tokens. Winning = 1:1 USDC.

Generate an Algorand URI and QR code according to ARC-26 specification

Get markdown content for specified knowledge documents

Overview

What is Algorand MCP Server?

Algorand MCP Server is a Model Context Protocol (MCP) server that provides AI agents and LLMs with full access to the Algorand blockchain. Built by GoPlausible, it enables developers to integrate account management, transactions, smart contracts, DEX trading, and blockchain queries into MCP-compatible clients like Claude Desktop, Cursor, and Windsurf.

How to use Algorand MCP Server?

Install globally with npm install -g @goplausible/algorand-mcp or run via npx @goplausible/algorand-mcp. Configure it as an MCP server in any compatible client using stdio transport with the command npx @goplausible/algorand-mcp. No environment variables are required; network selection (mainnet, testnet, localnet) and pagination are handled per tool call.

Key features of Algorand MCP Server

  • Agent wallet with mnemonic storage in local SQLite
  • Transaction building, signing, and atomic groups
  • Full Algod and Indexer API access
  • DEX integration with Tinyman and Haystack Router
  • Per-tool-call network selection and pagination
  • NFDomains and x402 micropayments support

Use cases of Algorand MCP Server

  • Create and manage Algorand wallets with agent-driven account generation
  • Build, sign, and submit payments and asset transfers via natural language
  • Query account information and transaction history using Algod and Indexer
  • Execute atomic swaps or DEX trades through Tinyman and Haystack Router
  • Participate in prediction markets on Alpha Arcade via MCP tools

FAQ from Algorand MCP Server

Does the server

Comments

More Other MCP servers