Algorand MCP Server
Provides 50+ tools for comprehensive Algorand blockchain development including account management, asset operations, smart contracts, atomic transactions, swap functionality via Pera Swap, and semantic search through Algorand documentation.
README
Algorand MCP Server v0.1.1

A comprehensive Model Context Protocol (MCP) server providing 50+ tools for Algorand blockchain development, including account management, asset operations, smart contracts, API integration, swap functionality, and advanced transaction capabilities.
β New in v0.1: Added swap functionality with Pera Swap integration and a complete Raycast extension for native macOS integration!
π₯ Project Demo
Watch here: https://youtu.be/2MtLTSmOi5Y
π What's Included
This repository contains two powerful tools for Algorand development:
- π€ MCP Server - AI assistant integration with 50+ blockchain tools
- β‘ Raycast Extension - Native macOS toolbar integration for Algorand operations

Overview
This MCP server provides a complete suite of tools for AI assistants to interact with the Algorand blockchain, from basic operations to advanced smart contract development and deployment.
π€ MCP Server Tool Categories
- Basic Tools (4 tools): Echo, calculations, time, testnet funding
- Core Algorand Tools (8 tools): Account generation, payments, assets, transactions
- Swap Tools (5 tools): NEW! Asset swapping with Pera Swap integration
- Utility Tools (10 tools): Address validation, encoding, TEAL compilation, cryptography
- API Integration Tools (12 tools): Algod, Indexer, and NFD API access
- Advanced Transaction Tools (8 tools): Atomic groups, smart contracts, key registration
- ARC-26 Tools (2 tools): URI generation and QR codes
- Knowledge Tools (4 tools): Semantic search through Algorand documentation
- Wallet Management (2 tools): Secure wallet storage and retrieval
Total: 55+ tools for comprehensive Algorand development
β‘ Raycast Extension Features
- π Wallet Management: Secure wallet creation and management
- πΈ Transactions: Send ALGO and transfer assets with ease
- π Asset Swapping: NEW! DEX aggregation with real-time quotes
- πͺ Asset Operations: Create and manage ASAs (tokens)
- π Portfolio View: Detailed asset holdings and balances
- β‘ Quick Actions: Keyboard shortcuts for all operations
- π Explorer Integration: Direct links to AlgoExplorer
Architecture

Security Features
Mnemonic Phrase Protection
- Encryption: Built-in AES-256-GCM encryption for mnemonic phrases
- Secure Storage: Methods for encrypting/decrypting wallet credentials
- Memory Safety: Sensitive data is handled securely and not logged
Network Configuration
- Testnet Default: Safely defaults to Algorand testnet
- Environment-based: Network configuration through environment variables
- Production Ready: Supports mainnet for production use
Prerequisites
- Node.js 18+
- npm or yarn
- TypeScript
- Algorand testnet account (for testing)
π οΈ Installation
MCP Server Setup
-
Clone or download this project
-
Install dependencies:
npm install -
Create environment configuration:
# Create .env file with the following variables: ALGORAND_NETWORK=testnet ALGORAND_TOKEN=your_api_token ALGORAND_ALGOD=https://testnet-api.algonode.cloud ALGORAND_INDEXER=https://testnet-idx.algonode.cloud NFD_API_URL=https://api.nf.domains # Optional: For semantic search features QDRANT_URL=your_qdrant_url QDRANT_API_KEY=your_qdrant_api_key OPENAI_API_KEY=your_openai_api_key -
Build the project:
npm run build
Raycast Extension Setup
- Navigate to the extension:
cd raycast/algorand npm install npm run build - Import into Raycast:
- Open Raycast β Extensions β Import Extension
- Select the
raycast/algorandfolder - Start using Algorand commands from your toolbar!
π Detailed setup guides: See Raycast README for complete instructions.
Usage
Running the Server
# Start the MCP server
npm start
To expose the Streamable HTTP transport (required for Smithery or any remote deployment), use:
# Build and start the HTTP server locally
npm run build
npm run start:http
Development Mode
For development with automatic rebuilding:
# Build and run in development mode
npm run dev
Testing
# Test the server functionality
npm test
For manual testing of individual tools, see:
- TEST_QUERIES.md - Markdown format with detailed descriptions
- TEST_QUERIES.txt - Plain text format for easy copy-paste
Both files contain comprehensive test queries for all 47+ tools.
Deploying on Smithery
Smithery expects MCP servers to expose the Streamable HTTP transport and listen on the PORT environment variable (defaults to 8081). This repository now includes everything required for a custom-container deployment:
npm run buildβ compile the TypeScript project.docker build -t algorand-mcp .β build the container defined in the providedDockerfile.docker run -p 8081:8081 --env-file .env algorand-mcpβ test locally; ensure all MCP-related env vars are available.- Commit
Dockerfile+smithery.yaml, then connect the repo inside Smithery and trigger a deployment. The platform automatically runs the container, setsPORT=8081, and hits/mcpover Streamable HTTP. Reference
The smithery.yaml file advertises the required configuration (Algorand endpoints, API keys, etc.) so that sessions launched from Smithery can inject the right secrets. For advanced tipsβlike enabling optional session configuration fields, handling /mcp CORS headers, and troubleshooting build failuresβsee the Smithery custom-container documentation. Reference
MCP Client Configuration
For VSCode with MCP Extension
Add to your VSCode settings:
{
"mcpServers": {
"algorand-mcp-server": {
"command": "node",
"args": ["path/to/your/project/dist/index.js"]
}
}
}
For Claude Desktop
Add to your Claude Desktop configuration:
{
"mcpServers": {
"algorand-mcp-server": {
"command": "node",
"args": ["path/to/your/project/dist/index.js"]
}
}
}
For Cursor IDE
Add to your Cursor settings (Cursor > Preferences > Features > Model Context Protocol):
{
"mcpServers": {
"algorand-mcp-server": {
"command": "node",
"args": ["path/to/your/project/dist/index.js"],
"env": {
"ALGORAND_NETWORK": "testnet",
"ALGORAND_TOKEN": "your_api_token",
"ALGORAND_ALGOD": "https://testnet-api.algonode.cloud",
"ALGORAND_INDEXER": "https://testnet-idx.algonode.cloud",
"NFD_API_URL": "https://api.nf.domains"
}
}
}
}
Note: Replace path/to/your/project/dist/index.js with the actual path to your compiled server file.
Cursor IDE Usage Tips
-
Environment Variables: The
envsection in the Cursor configuration allows you to set environment variables directly in the MCP server configuration. -
Restart Required: After updating the MCP configuration in Cursor, restart the application for changes to take effect.
-
Debugging: Use the Cursor developer tools to monitor MCP server communication and troubleshoot any issues.
-
Tool Discovery: Once configured, you can access all 47+ Algorand tools directly through Cursor's AI assistant interface.
For VS Code Debugging
The project includes a .vscode/mcp.json configuration file for debugging within VS Code. You can use this with the MCP extension for VS Code.
Available Tools
Basic Tools (4 tools)
- echo: Echo back the provided message
- calculate: Perform basic mathematical calculations
- get_current_time: Get the current time in a specified timezone
- fund_testnet: Fund an Algorand testnet account using the official faucet
Core Algorand Tools (8 tools)
- generate_algorand_account: Generate a new Algorand account with address and mnemonic
- get_account_info: Get account information including balance and assets
- send_payment: Send Algo payment transaction (WARNING: Requires mnemonic phrase)
- create_asset: Create a new Algorand Standard Asset (ASA)
- opt_in_to_asset: Opt into an Algorand Standard Asset
- transfer_asset: Transfer an Algorand Standard Asset
- get_asset_info: Get information about an Algorand Standard Asset
- get_transaction: Get transaction details by transaction ID
Wallet Management (2 tools)
- store_wallet: Securely store a wallet with encrypted mnemonic
- load_wallet: Load a stored wallet and return the address
Utility Tools (10 tools)
- validate_address: Check if an Algorand address is valid
- encode_address: Encode a public key to an Algorand address
- decode_address: Decode an Algorand address to a public key
- get_application_address: Get the address for a given application ID
- verify_bytes: Verify a signature against bytes with an Algorand address
- sign_bytes: Sign bytes with a secret key
- compile_teal: Compile TEAL source code to bytecode
- disassemble_teal: Disassemble TEAL bytecode into source code
- encode_obj: Encode an object to msgpack format
- decode_obj: Decode msgpack bytes to an object
API Integration Tools (12 tools)
Algod API (5 tools)
- algod_get_account_info: Get current account balance, assets, and auth address from algod
- algod_get_transaction_info: Get transaction details by transaction ID from algod
- algod_get_asset_info: Get asset details from algod
- algod_get_application_info: Get application details from algod
- algod_get_pending_transactions: Get pending transactions from algod mempool
Indexer API (5 tools)
- indexer_lookup_account_by_id: Get account information from indexer
- indexer_lookup_asset_by_id: Get asset information from indexer
- indexer_lookup_transaction_by_id: Get transaction details from indexer
- indexer_search_for_accounts: Search for accounts with various criteria
- indexer_search_for_transactions: Search for transactions with various criteria
NFD API (3 tools)
- nfd_get_nfd: Get NFD domain information by name
- nfd_get_nfds_for_address: Get all NFD domains owned by an address
- nfd_search_nfds: Search for NFD domains
Advanced Transaction Tools (8 tools)
- create_atomic_group: Create an atomic transaction group from multiple transactions
- sign_atomic_group: Sign an atomic transaction group
- submit_atomic_group: Submit a signed atomic transaction group to the network
- create_application: Create a new smart contract application on Algorand
- call_application: Call a smart contract application on Algorand
- optin_application: Opt-in to an Algorand application
- closeout_application: Close out from an Algorand application
- create_key_registration_transaction: Create a key registration transaction for participation
- freeze_asset: Freeze or unfreeze an asset for an account
ARC-26 Tools (2 tools)
- generate_algorand_uri: Generate a URI following the Algorand ARC-26 specification
- generate_algorand_qrcode: Generate a URI and QRCode following the Algorand ARC-26 specification
Knowledge Tools (1 tool)
- search_algorand_docs: Semantic search through Algorand documentation using AI embeddings
Project Structure
βββ src/
β βββ index.ts # Main server implementation
β βββ algorand.ts # Core Algorand blockchain operations
β βββ utilityTools.ts # Address validation, encoding, TEAL compilation
β βββ apiTools.ts # Algod, Indexer, and NFD API integration
β βββ advancedTransactionTools.ts # Atomic groups, smart contracts, key registration
β βββ arc26Tools.ts # ARC-26 URI generation and QR codes
β βββ knowledgeTools.ts # Semantic search and documentation access
βββ dist/ # Compiled JavaScript output
βββ .vscode/
β βββ mcp.json # VS Code MCP configuration
βββ .github/
β βββ copilot-instructions.md # GitHub Copilot instructions
βββ package.json # Node.js package configuration (v3.0.0)
βββ tsconfig.json # TypeScript configuration
βββ ENHANCED_FEATURES.md # Detailed feature documentation
βββ MCP_SETUP.md # MCP server setup instructions
βββ TESTING.md # Testing guidelines
βββ TEST_QUERIES.md # Manual testing queries for all tools (markdown)
βββ TEST_QUERIES.txt # Manual testing queries for all tools (plain text)
βββ README.md # This file
Development Guide
Modular Architecture
The server is organized into modular tool categories:
algorand.ts: Core blockchain operations (accounts, payments, assets)utilityTools.ts: Address validation, encoding, TEAL compilationapiTools.ts: Algod, Indexer, and NFD API integrationadvancedTransactionTools.ts: Atomic groups, smart contracts, key registrationarc26Tools.ts: ARC-26 URI generation and QR codesknowledgeTools.ts: Semantic search and documentation access
Adding New Tools
- Choose the appropriate module for your tool category
- Define the tool schema in the module's tools array
- Create a Zod schema for input validation
- Implement the service method in the corresponding service class
- Add the tool handler in
index.ts - Update the module exports to include the new tool
Example Tool Implementation
// In utilityTools.ts
export const MyTool = {
name: 'my_tool',
description: 'Description of what the tool does',
inputSchema: {
type: 'object' as const,
properties: {
input: {
type: 'string',
description: 'Input parameter description',
},
},
required: ['input'],
},
};
// Add to UtilityTools array
export const UtilityTools = [
// ... existing tools
MyTool,
];
// In utilityTools.ts service class
async myToolMethod(input: string): Promise<{ result: string }> {
// Implement tool logic here
return { result: `Processed: ${input}` };
}
// In index.ts
case 'my_tool': {
const parsed = z.object({ input: z.string() }).parse(args);
const result = await utilityService.myToolMethod(parsed.input);
return {
content: [
{
type: 'text',
text: `Result: ${result.result}`,
},
],
};
}
π What's New in v3.0
π Swap Functionality
- DEX Aggregation: Powered by Pera Swap SDK for best prices
- Multi-DEX Support: Tinyman, Vestige, and more DEXs
- Real-time Quotes: Live pricing with slippage control
- Secure Execution: Client-side transaction signing
- 5 New MCP Tools: Complete swap workflow integration
β‘ Raycast Extension
- Native macOS Integration: Access Algorand from your toolbar
- Beautiful UI: Native Raycast components with rich formatting
- Keyboard Shortcuts: Quick actions for power users
- Secure Storage: Encrypted wallet management
- Portfolio View: Detailed asset holdings and balances
π οΈ Enhanced Developer Experience
- TypeScript Support: Full type safety across all tools
- Better Error Handling: More descriptive error messages
- Documentation Search: Semantic search through Algorand docs
- Asset Discovery: Search and explore available tokens
Security Considerations
- Input Validation: All tools use Zod schemas for robust input validation
- Mnemonic Protection: Built-in AES-256-GCM encryption for wallet storage
- Network Safety: Defaults to testnet for safe development
- Error Handling: Comprehensive error handling prevents sensitive data leakage
- Memory Safety: Sensitive data is handled securely and not logged
- Production Ready: Supports mainnet with proper environment configuration
Security Best Practices
- Never commit mnemonic phrases or private keys to version control
- Use environment variables for sensitive configuration
- Test thoroughly on testnet before mainnet deployment
- Implement proper access controls in production
- Monitor for unusual activity and implement rate limiting
Contributing
- Fork the repository
- Create a feature branch
- Implement your changes with proper tests
- Submit a pull request
License
ISC License - see package.json for details
Key Features
π Security First
- AES-256-GCM encryption for wallet storage
- Comprehensive input validation with Zod schemas
- Testnet-first approach for safe development
- Production-ready mainnet support
π Comprehensive Tool Suite
- 47+ tools covering all aspects of Algorand development
- Modular architecture for easy maintenance and extension
- Real-time blockchain interaction capabilities
- Advanced smart contract deployment and management
π Full API Integration
- Direct Algod API access for real-time data
- Indexer API for advanced search and analytics
- NFD (Name Service) integration for human-readable addresses
- Semantic search through Algorand documentation
π οΈ Developer Experience
- TypeScript for type safety and better development experience
- Comprehensive error handling and logging
- Easy-to-use MCP client configuration
- Extensive documentation and examples
π± Modern Standards
- ARC-26 compliant URI generation
- QR code generation for mobile wallet integration
- Atomic transaction groups for complex operations
- Smart contract deployment and interaction
Resources
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
E2B
Using MCP to run code via e2b.