Algorand Remote MCP
Allows AI agents to interact with the Algorand blockchain, including wallet management, creating and submitting transactions, swapping tokens via DEX aggregators, and accessing blockchain data.
Provides secure Ed25519 key storage and transaction signing via HashiCorp Vault's Transit engine, enabling secure wallet management.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Algorand Remote MCPcheck my Algorand account balance"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Algorand Remote MCP
A Model Context Protocol (MCP) server that provides tools and resources for AI agents to interact with the Algorand blockchain. Built on Cloudflare Workers with HashiCorp Vault-based wallet management and multi-provider OAuth authentication.
Overview
Algorand Remote MCP bridges AI agents and the Algorand blockchain ecosystem through a standardized MCP interface. It enables AI systems to manage wallets, create and submit transactions, swap tokens via DEX aggregators, and access blockchain data — all without requiring deep blockchain expertise.
This is a remote MCP implementation running on Cloudflare Workers with:
HashiCorp Vault for secure Ed25519 key storage and transaction signing
Multi-provider OAuth (Google, GitHub, Twitter, LinkedIn) for user authentication
algosdk v3.5.2 for Algorand SDK operations
Haystack Router for best-price DEX aggregation across Tinyman, Pact, Folks, and LST protocols
Tinyman SDK for direct DEX swap operations
Alpha Arcade SDK for prediction market trading (orderbooks, limit/market orders, positions)
Related MCP server: Flow MCP Server
Quick Start
Prerequisites: Node.js v16+, an OAuth account (Google, GitHub, Twitter, or LinkedIn)
Add to your MCP client configuration:
{
"mcpServers": {
"algorand-remote-mcp": {
"command": "npx",
"args": [
"mcp-remote",
"https://algorandmcp.goplausible.xyz/sse"
]
}
}
}Restart your LLM agent and prompt:
Read Algorand MCP skill.Architecture
┌─────────────────────────────────────────────────────────────────────────────┐
│ AI Agents / LLM Clients │
│ (Claude, GPT, Cursor, Windsurf, etc.) │
└─────────────────────────────┬───────────────────────────────────────────────┘
│ MCP Protocol (SSE / Streamable HTTP)
▼
┌─────────────────────────────────────────────────────────────────────────────┐
│ Cloudflare Workers — Edge Runtime │
│ ┌───────────────────────────────────────────────────────────────────────┐ │
│ │ OAuthProvider Layer │ │
│ │ Google · GitHub · Twitter · LinkedIn (Multi-provider) │ │
│ └───────────────────────────┬───────────────────────────────────────────┘ │
│ ▼ │
│ ┌───────────────────────────────────────────────────────────────────────┐ │
│ │ AlgorandRemoteMCP (McpAgent / McpServer) │ │
│ │ │ │
│ │ ┌─────────────── Tool Managers ───────────────────────────────────┐ │ │
│ │ │ │ │ │
│ │ │ walletManager ─── accountManager ─── utilityManager │ │ │
│ │ │ transactionManager/ │ │ │
│ │ │ ├── generalTransaction (pay, sign, submit, keyreg) │ │ │
│ │ │ ├── assetTransactions (ASA create, optin, transfer) │ │ │
│ │ │ ├── appTransactions (create, update, delete, call) │ │ │
│ │ │ └── groupTransactions (atomic groups) │ │ │
│ │ │ algodManager ─── knowledgeManager │ │ │
│ │ │ arc26Manager ─── receiptManager ─── ap2Manager │ │ │
│ │ │ tinymanManager ─── alphaArcadeManager │ │ │
│ │ │ apiManager/ │ │ │
│ │ │ ├── algod/ (account, application, asset, txn queries) │ │ │
│ │ │ ├── indexer/ (search & lookup across all data types) │ │ │
│ │ │ ├── hayrouter/ (DEX aggregator — quote, swap, optin) │ │ │
│ │ │ └── nfd/ (Algorand Name Service lookups) │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ ┌─────────────── Resources ───────────────────────────────────────┐ │ │
│ │ │ algorand://remote-mcp-skill (Skill definition) │ │ │
│ │ │ algorand://knowledge/taxonomy (Knowledge base) │ │ │
│ │ │ algorand://knowledge/taxonomy/{cat} (Category docs) │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ ┌─────────────── Utils ───────────────────────────────────────────┐ │ │
│ │ │ ResponseProcessor (pagination, BigInt-safe JSON) │ │ │
│ │ │ vaultManager (Vault API client) │ │ │
│ │ │ Skill.js (skill content) │ │ │
│ │ └─────────────────────────────────────────────────────────────────┘ │ │
│ └───────────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────── Cloudflare Bindings ────────────────────────────────────┐ │
│ │ Durable Objects (session state) · KV (OAuth tokens, client reg) │ │
│ │ R2 Bucket (knowledge documents) · Service Bindings (Vault worker) │ │
│ └────────────────────────────────────────────────────────────────────────┘ │
└──────────┬──────────────────┬──────────────────┬──────────────────┬─────────┘
│ │ │ │
▼ ▼ ▼ ▼
┌──────────────────┐ ┌────────────────┐ ┌────────────────┐ ┌───────────────┐
│ HashiCorp Vault │ │ Algorand Node │ │ DEX & Markets │ │ External APIs│
│ (CF Worker) │ │ (Algod + │ │ │ │ │
│ │ │ Indexer) │ │ Haystack │ │ NFD API │
│ Ed25519 keypair │ │ │ │ Router │ │ Pera API │
│ generation │ │ Nodely.io / │ │ ┌──────────┐ │ │ Alpha Arcade │
│ Transit engine │ │ AlgoNode │ │ │ Tinyman │ │ │ API │
│ signing │ │ │ │ │ Pact │ │ │ │
│ No private key │ │ MainNet / │ │ │ Folks │ │ │ │
│ exposure │ │ TestNet │ │ │ LST │ │ │ │
│ │ │ │ │ └──────────┘ │ │ │
└──────────────────┘ └────────────────┘ │ │ └───────────────┘
│ Tinyman SDK │
│ Alpha Arcade │
│ SDK │
└────────────────┘Component Summary
AlgorandRemoteMCP: Main MCP agent extending McpAgent on Cloudflare Workers
OAuthProvider: Multi-provider authentication layer (Google, GitHub, Twitter, LinkedIn)
Tool Managers: 15 specialized managers covering accounts, wallets, transactions, assets, applications, APIs, DEX operations, prediction markets, ARC-26 URIs, receipts, AP2 protocol, and knowledge
Resource Providers: URI-based access to skill definition and knowledge base via R2
ResponseProcessor: Standardized response formatting with pagination and BigInt-safe serialization
HashiCorp Vault: Ed25519 keypair generation and secure signing via Transit engine — no private key exposure
Cloudflare Bindings: Durable Objects for session state, KV for OAuth, R2 for knowledge docs, Service Bindings for Vault worker
Tools
Account Management
Tool | Description |
| Create a new Algorand keypair (not wallet-linked) |
| Get address and secret key from a mnemonic |
| Get the public key for an Algorand address |
| Check account balance in ALGO |
Wallet Management
Tool | Description |
| Get account information including address, publicKey, balance, and assets (replaces |
| Get the role UUID for the configured wallet to be used to login into Hashicorp Vault with OIDC |
| Get assets held by the wallet |
| Reset wallet and generate new keys (destructive) |
| Logout from OAuth provider |
Transaction Operations
Tool | Description |
| Create a payment transaction |
| Sign a transaction using vault keys |
| Sign a transaction using a mnemonic |
| Submit a signed transaction to the network |
| Create a key registration transaction |
| Assign group ID for atomic execution |
| Create an atomic transaction group (pay, axfer, acfg, appl, afrz, keyreg) |
| Sign an atomic group using vault keys |
| Sign an atomic group using a mnemonic |
| Submit a signed atomic group |
| Submit raw signed transactions |
Asset Operations
Tool | Description |
| Create a new Algorand Standard Asset (ASA) |
| Opt-in to an ASA |
| Opt-in agent wallet to USDC (vault-signed) |
| Transfer an ASA |
Application (Smart Contract) Operations
Tool | Description |
| Create a new smart contract |
| Update an existing smart contract |
| Delete a smart contract |
| Close out from an application |
| Clear application state |
| Call a smart contract (noop, optin, closeout, clear, delete) |
| Opt-in to an application |
DEX — Haystack Router (DEX Aggregator)
Tool | Description |
| Get best-price swap quote across multiple DEXes and LST protocols |
| Execute an optimized swap: quote, vault-sign, submit, confirm |
| Check if an address needs to opt-in to an asset before swapping |
DEX — Tinyman
Tool | Description |
| Execute a swap with a fixed input amount |
| Execute a swap with a fixed output amount |
Algod API
Tool | Description |
| Get account balance, assets, and auth address |
| Get account-specific application info |
| Get account-specific asset info |
| Get application details |
| Get application box contents |
| List application boxes |
| Get application global state |
| Get asset details |
| Get asset holding for an account |
| Get pending transaction details |
| Get pending transactions from mempool |
Pera Wallet Asset Verification
Tool | Description |
| Get verification status of an asset |
| Get detailed asset information from Pera |
| Search verified assets by name, unit name, or creator |
Indexer API
Tool | Description |
| Get account assets |
| Get account app local states |
| Get applications created by an account |
| Get transactions for an account |
| Search accounts with filters |
| Get application log messages |
| Search applications |
| Get holders of a specific asset |
| Search assets |
| Get transaction details |
| Search transactions |
NFD (Algorand Name Service)
Tool | Description |
| Get NFD domain information by name |
| Get all NFD domains owned by an address |
TEAL Operations
Tool | Description |
| Compile TEAL source code |
| Disassemble TEAL bytecode |
Utility Tools
Tool | Description |
| Check if an Algorand address is valid |
| Encode a public key to an address |
| Decode an address to a public key |
| Get the address for an application ID |
| Verify a signature against bytes |
| Sign bytes with a secret key |
| Access comprehensive Algorand MCP skill |
ARC-26 URI & Receipts
Tool | Description |
| Generate an ARC-26 compliant URI |
| Generate a QR code for an Algorand URI |
| Generate a transaction receipt |
AP2 Protocol
Tool | Description |
| Create an AP2 intent, cart, or payment mandate with verifiable credentials |
Alpha Arcade (Prediction Markets)
Tool | Description |
| Fetch all live prediction markets (title, prices, volume, multi-choice options) |
| Fetch markets with liquidity rewards |
| Get full details for a single market (on-chain + API) |
| Unified YES-perspective orderbook with spread calculation |
| Fetch open orders for a wallet on a specific market |
| Fetch all YES/NO token positions across markets |
| Place a limit order (price & quantity in microunits) |
| Place a market order with auto-matching and slippage |
| Cancel an open order and refund collateral |
| Edit an existing unfilled order in-place |
| Propose a match between a maker order and your wallet |
| Split USDC into equal YES + NO outcome tokens |
| Merge YES + NO tokens back into USDC |
| Claim USDC from a resolved market by redeeming outcome tokens |
Knowledge Base
Tool | Description |
| Get markdown content for knowledge documents |
| List available knowledge documents by category |
Resources
Knowledge Resources
URI | Description |
| Full taxonomy of knowledge resources |
| Category-specific resources (arcs, sdks, algokit, puya, etc.) |
Skill
URI | Description |
| Comprehensive Algorand MCP skill |
Development
Prerequisites
Node.js v16+
Cloudflare Workers account
Algorand node access (e.g., Nodely.io / AlgoNode)
OAuth credentials (Google, GitHub, Twitter, and/or LinkedIn)
HashiCorp Vault worker for secure key management
Environment Variables
ALGORAND_NETWORK=mainnet
ALGORAND_ALGOD=https://your-algod-node.com
ALGORAND_INDEXER=https://your-indexer-node.com
ALGORAND_TOKEN=your-api-token
NFD_API_URL=https://api.nf.domains
HAYSTACK_API_KEY=your-haystack-api-key
ALPHA_API_KEY=your-alpha-arcade-api-key # Optional, enables richer market data
ALPHA_API_BASE_URL=https://platform.alphaarcade.com/api # Optional, default shown
GOOGLE_CLIENT_ID=your-google-client-id
GOOGLE_CLIENT_SECRET=your-google-client-secret
HCV_WORKER_URL=https://your-hashicorp-vault-worker.workers.devScripts
npm run dev # Start local development server
npm run type-check # Run TypeScript type checking
npm run deploy # Deploy to Cloudflare Workers
npm run format # Format code with Biome
npm run lint:fix # Lint and auto-fix with BiomeDeployment
Clone the repository
Install dependencies:
npm installConfigure environment variables in
wrangler.tomlDeploy:
npm run deploy
Usage Flows
Authentication
User authenticates via OAuth (Google, GitHub, Twitter, or LinkedIn)
Server creates or retrieves wallet credentials from HashiCorp Vault
User accesses tools and resources through the MCP interface
User can logout using
wallet_logout
Individual Transactions
Create transaction (e.g.,
sdk_txn_payment_transaction)Sign with vault (
wallet_sign_transaction) or mnemonic (sdk_sign_transaction)Submit to network (
sdk_submit_transaction)
Atomic Transaction Groups
Create group (
sdk_create_atomic_group)Sign group (
wallet_sign_atomic_grouporsdk_sign_atomic_group)Submit group (
sdk_submit_atomic_group)
DEX Swaps via Haystack Router
Get best-price quote (
haystack_get_swap_quote)Execute swap — quotes, vault-signs, submits, and confirms in one call (
haystack_execute_swap)
DEX Swaps via Tinyman
Execute fixed-input or fixed-output swap (
tinyman_fixed_input_swap/tinyman_fixed_output_swap)
Prediction Markets via Alpha Arcade
Browse markets (
alpha_get_live_markets)Check orderbook (
alpha_get_orderbook)Place order (
alpha_create_limit_orderoralpha_create_market_order)Monitor positions (
alpha_get_positions) and open orders (alpha_get_open_orders)Manage orders — amend (
alpha_amend_order) or cancel (alpha_cancel_order)Claim winnings from resolved markets (
alpha_claim)
Project Structure
src/
├── index.ts # Main entry point
├── types.ts # Type definitions
├── oauth-handler.ts # OAuth authentication handler
├── workers-oauth-utils.ts # OAuth utilities
├── resources/
│ ├── skill/ # Skill resource
│ └── knowledge/ # Knowledge base resources
├── tools/
│ ├── accountManager.ts # Account management
│ ├── algodManager.ts # Algorand node tools
│ ├── ap2Manager.ts # AP2 protocol tools
│ ├── arc26Manager.ts # ARC-26 URI and QR tools
│ ├── knowledgeManager.ts # Knowledge base tools
│ ├── receiptManager.ts # Transaction receipt tools
│ ├── tinymanManager.ts # Tinyman DEX tools
│ ├── alphaArcadeManager.ts # Alpha Arcade prediction market tools
│ ├── utilityManager.ts # Utility tools
│ ├── walletManager.ts # Wallet management tools
│ ├── apiManager/
│ │ ├── algod/ # Algod API tools (account, application, asset, transaction)
│ │ ├── hayrouter/ # Haystack Router DEX aggregator tools
│ │ ├── indexer/ # Indexer API tools (account, application, asset, transaction)
│ │ └── nfd/ # NFD name service tools
│ └── transactionManager/
│ ├── generalTransaction.ts # Payment, signing, submission, key registration
│ ├── appTransactions.ts # Application (smart contract) transactions
│ ├── assetTransactions.ts # Asset create, optin, transfer
│ └── groupTransactions.ts # Atomic transaction groups
└── utils/
├── Skill.js # Skill content
├── vaultManager.ts # HashiCorp Vault integration
└── responseProcessor.ts # Response formatting and paginationKey Dependencies
Package | Version | Purpose |
| ^3.5.2 | Algorand JavaScript SDK |
| ^2.0.5 | DEX aggregator for best-price swaps |
| ^5.1.2 | Tinyman DEX SDK |
| latest | Prediction market trading SDK |
| ^1.12.1 | MCP protocol SDK |
| ^0.0.95 | Cloudflare Agents SDK |
| ^2.1.1 | MessagePack with BigInt support |
Contributing
Fork the repository
Create your feature branch:
git checkout -b feature/my-new-featureCommit your changes:
git commit -am 'Add some feature'Push to the branch:
git push origin feature/my-new-featureSubmit a pull request
License
This project is licensed under the MIT License - see the LICENSE file for details.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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-remote-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server