Algorand MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| create_accountC | Create a new Algorand account |
| rekey_accountC | Rekey an Algorand account to a new address |
| mnemonic_to_mdk | Convert a mnemonic to a master derivation key |
| mdk_to_mnemonicC | Convert a master derivation key to a mnemonic |
| secret_key_to_mnemonicC | Convert a secret key to a mnemonic |
| mnemonic_to_secret_keyC | Convert a mnemonic to a secret key |
| seed_from_mnemonicC | Generate a seed from a mnemonic |
| mnemonic_from_seedC | Generate a mnemonic from a seed |
| wallet_add_accountA | Create a new Algorand account and store it securely in the OS keychain with a nickname and spending limits. Returns only address and public key. |
| wallet_remove_accountC | Remove an Algorand account from the wallet by nickname or index. |
| wallet_list_accountsB | List all wallet accounts with their nicknames, addresses, and spending limits. |
| wallet_switch_accountC | Switch the active wallet account by nickname or index. The active account is used for signing and balance queries. |
| wallet_get_infoB | Get the active wallet account info including address, public key, nickname, on-chain balance, and spending limits. |
| wallet_get_assetsC | Get all asset holdings for the active wallet account. |
| wallet_sign_transactionB | Sign a single transaction with the active wallet account. Enforces per-transaction and daily spending limits. |
| wallet_sign_transaction_groupB | Sign a group of transactions with the active wallet account. Assigns group ID automatically and enforces spending limits. |
| wallet_sign_dataB | Sign arbitrary data with the active wallet account using raw Ed25519 (noble library, no Algorand SDK prefix). Returns hex signature. |
| wallet_optin_assetB | Opt the active wallet account into an asset by ID. Creates, signs, and submits the opt-in transaction. |
| pingB | Basic protocol utility to verify server connectivity |
| validate_addressC | Check if an Algorand address is valid |
| encode_addressC | Encode a public key to an Algorand address |
| decode_addressB | Decode an Algorand address to a public key |
| get_application_addressC | Get the address for a given application ID |
| bytes_to_bigintC | Convert bytes to a BigInt |
| bigint_to_bytesC | Convert a BigInt to bytes |
| encode_uint64C | Encode a uint64 to bytes |
| decode_uint64C | Decode bytes to a uint64 |
| verify_bytesC | Verify a signature against bytes with an Algorand address |
| sign_bytesC | Sign bytes with a secret key |
| encode_objC | Encode an object to msgpack format |
| decode_objC | Decode msgpack bytes to an object |
| compile_tealC | Compile TEAL source code |
| disassemble_tealC | Disassemble TEAL bytecode back to source |
| send_raw_transactionC | Submit signed transactions to the Algorand network |
| simulate_raw_transactionsD | Simulate raw transactions |
| simulate_transactionsC | Simulate transactions with detailed configuration |
| make_payment_txnC | Create a payment transaction |
| make_keyreg_txnC | Create a key registration transaction |
| make_asset_create_txnD | Create an asset creation transaction |
| make_asset_config_txnC | Create an asset configuration transaction |
| make_asset_destroy_txnD | Create an asset destroy transaction |
| make_asset_freeze_txnC | Create an asset freeze transaction |
| make_asset_transfer_txnC | Create an asset transfer transaction |
| make_app_create_txnD | Create an application creation transaction |
| make_app_update_txnC | Create an application update transaction |
| make_app_delete_txnC | Create an application delete transaction |
| make_app_optin_txnC | Create an application opt-in transaction |
| make_app_closeout_txnC | Create an application close out transaction |
| make_app_clear_txnC | Create an application clear state transaction |
| make_app_call_txnC | Create an application call transaction |
| assign_group_idC | Assign a group ID to a list of transactions |
| sign_transactionC | Sign a transaction with a secret key |
| encode_unsigned_transactionA | Encode a transaction object into base64 unsigned transaction bytes (msgpack). Accepts output from make_*_txn or assign_group_id. |
| decode_signed_transactionA | Decode base64 signed transaction bytes back into a transaction object with signature details. Accepts the blob from sign_transaction or wallet_sign_transaction. |
| api_algod_get_account_infoB | Get current account balance, assets, and auth address from algod |
| api_algod_get_account_application_infoB | Get account-specific application information from algod |
| api_algod_get_account_asset_infoC | Get account-specific asset information from algod |
| api_algod_get_application_by_idC | Get application information |
| api_algod_get_application_boxC | Get application box by name |
| api_algod_get_application_boxesC | Get all application boxes |
| api_algod_get_asset_by_idC | Get current asset information from algod |
| api_algod_get_pending_transactionC | Get pending transaction information |
| api_algod_get_pending_transactions_by_addressC | Get pending transactions for an address |
| api_algod_get_pending_transactionsC | Get all pending transactions |
| api_algod_get_transaction_paramsC | Get suggested transaction parameters |
| api_algod_get_node_statusC | Get current node status |
| api_algod_get_node_status_after_blockB | Get node status after a specific round |
| api_indexer_lookup_account_by_idC | Get account information from indexer |
| api_indexer_lookup_account_assetsC | Get account assets |
| api_indexer_lookup_account_app_local_statesC | Get account application local states |
| api_indexer_lookup_account_created_applicationsC | Get applications created by this account |
| api_indexer_search_for_accountsC | Search for accounts with various criteria |
| api_indexer_lookup_applicationsC | Get application information from indexer |
| api_indexer_lookup_application_logsC | Get application log messages |
| api_indexer_search_for_applicationsC | Search for applications with various criteria |
| api_indexer_lookup_application_boxC | Get application box by name |
| api_indexer_lookup_application_boxesC | Get all application boxes |
| api_indexer_lookup_asset_by_idC | Get asset information and configuration |
| api_indexer_lookup_asset_balancesC | Get accounts holding this asset and their balances |
| api_indexer_lookup_asset_transactionsC | Get transactions involving this asset |
| api_indexer_search_for_assetsC | Search for assets with various criteria |
| api_indexer_lookup_transaction_by_idC | Get transaction information by ID |
| api_indexer_lookup_account_transactionsC | Get account transaction history |
| api_indexer_search_for_transactionsC | Search for transactions with various criteria |
| api_nfd_get_nfdC | Get a specific NFD by name or by its application ID |
| api_nfd_get_nfds_for_addressesC | Get NFDs for specific addresses |
| api_nfd_get_nfd_activityC | Get activity/changes for NFDs |
| api_nfd_get_nfd_analyticsC | Get analytics data for NFDs |
| api_nfd_browse_nfdsC | Browse NFDs with various filters |
| api_nfd_search_nfdsC | Search NFDs with various filters |
| api_tinyman_get_poolC | Get Tinyman pool information by asset pair |
| api_tinyman_get_liquidity_quoteC | Get quote for adding liquidity to a pool |
| api_tinyman_get_swap_quoteC | Get quote for swapping assets |
| api_tinyman_get_pool_analyticsC | Get analytics for a Tinyman pool |
| api_tinyman_get_pool_creation_quoteC | Get quote for creating a new Tinyman pool |
| api_tinyman_get_remove_liquidity_quoteC | Get quote for removing liquidity from a pool |
| api_tinyman_get_asset_optin_quoteC | Get quote for opting into a Tinyman pool token |
| api_tinyman_get_validator_optin_quoteC | Get quote for opting into Tinyman validator app |
| api_tinyman_get_validator_optout_quoteC | Get quote for opting out of Tinyman validator app |
| api_haystack_get_swap_quoteA | 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). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Algorand Knowledge Full Taxonomy | Markdown-based knowledge taxonomy |
| Algorand Request for Comments | Specifications and standards for the Algorand blockchain |
| Software Development Kits | Documentation for Algorand sdks |
| AlgoKit | Development tools and CLI for Algorand blockchain |
| AlgoKit Utils | Utility libraries for Algorand development |
| tealscript | TypeScript-like language for writing Algorand smart contracts |
| Puya | Python-based language for writing Algorand smart contracts |
| Liquid Auth | Authentication system for Algorand applications |
| Python Development | Python development resources for Algorand blockchain |
| Developer Documentation | Comprehensive developer documentation for Algorand blockchain |
| CLI Tools | Command Line Interface tools for Algorand development |
| Node Management | Documentation for running and managing Algorand nodes |
| Developer Details | Detailed technical documentation for Algorand developers |
TDQS
Scored across 120 tools
The tool set has clear groupings (Alpha Arcade, API calls, core utilities, wallet operations) with distinct purposes within each group, but there is significant overlap across groups, such as multiple swap quote tools (api_haystack_get_swap_quote, api_tinyman_get_swap_quote) and redundant encoding/decoding functions (encode_obj/decode_obj, encode_uint64/decode_uint64). This can lead to confusion for agents when selecting the appropriate tool for a given task, especially without clear domain separation in naming.
Naming conventions are highly inconsistent across the tool set. There is a mix of prefixes (alpha_, api_, wallet_), inconsistent use of underscores (e.g., api_algod_get_account_info vs. make_payment_txn), and varying verb styles (e.g., create_account vs. wallet_add_account). Some tools use full words (e.g., assign_group_id), while others are abbreviated (e.g., mdk_to_mnemonic). This lack of a unified pattern makes the tool set harder to navigate and predict.
With 120 tools, the count is extremely high and feels overwhelming for a single server. This suggests poor scoping, as many tools could be consolidated or grouped into sub-servers. The sheer volume makes it difficult for agents to efficiently discover and use the right tools, indicating a significant mismatch between the number of tools and a coherent, manageable interface.
The tool set appears highly comprehensive for the Algorand ecosystem, covering core blockchain operations (transactions, accounts), API integrations (algod, indexer, NFD, Pera, Tinyman, Haystack), Alpha Arcade trading, and wallet management. There are no obvious major gaps, as it supports a wide range of actions from basic utilities to advanced DeFi interactions, though the extreme breadth may dilute focus rather than indicate incompleteness.