algorand-mcp
效率与工作流by hatif03
Build and manage Algorand accounts, assets, transactions, and smart contracts in one place. Search documentation, retrieve on-chain data, and automate advanced flows including atomic groups and swaps. Secure wallets, develop safely on testnet, and switch to mainnet when ready.
什么是 algorand-mcp?
Build and manage Algorand accounts, assets, transactions, and smart contracts in one place. Search documentation, retrieve on-chain data, and automate advanced flows including atomic groups and swaps. Secure wallets, develop safely on testnet, and switch to mainnet when ready.
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:
bashnpm install -
Create environment configuration:
bash# 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:
bashnpm run build
Raycast Extension Setup
- Navigate to the extension:
bash
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
常见问题
algorand-mcp 是什么?
Build and manage Algorand accounts, assets, transactions, and smart contracts in one place. Search documentation, retrieve on-chain data, and automate advanced flows including atomic groups and swaps. Secure wallets, develop safely on testnet, and switch to mainnet when ready.
相关 Skills
技能工坊
by anthropics
覆盖 Skill 从创建到迭代优化全流程:起草能力、补测试提示、跑评测与基准方差分析,并持续改写内容和描述,提升效果与触发准确率。
✎ 技能工坊把技能从创建、迭代到评测串成闭环,方差分析加描述优化,特别适合把触发准确率打磨得更稳。
PPT处理
by anthropics
处理 .pptx 全流程:创建演示文稿、提取和解析幻灯片内容、批量修改现有文件,支持模板套用、合并拆分、备注评论与版式调整。
✎ 涉及PPTX的创建、解析、修改到合并拆分都能一站搞定,连备注、模板和评论也能处理,做演示文稿特别省心。
PDF处理
by anthropics
遇到 PDF 读写、文本表格提取、合并拆分、旋转加水印、表单填写或加解密时直接用它,也能提取图片、生成新 PDF,并把扫描件通过 OCR 变成可搜索文档。
✎ PDF杂活别再来回切工具了,文本表格提取、合并拆分到OCR识别一次搞定,连扫描件也能变可搜索。
相关 MCP Server
文件系统
编辑精选by Anthropic
Filesystem 是 MCP 官方参考服务器,让 LLM 安全读写本地文件系统。
✎ 这个服务器解决了让 Claude 直接操作本地文件的痛点,比如自动整理文档或生成代码文件。适合需要自动化文件处理的开发者,但注意它只是参考实现,生产环境需自行加固安全。
by wonderwhy-er
Desktop Commander 是让 AI 直接执行终端命令、管理文件和进程的 MCP 服务器。
✎ 这工具解决了 AI 无法直接操作本地环境的痛点,适合需要自动化脚本调试或文件批量处理的开发者。它能让你用自然语言指挥终端,但权限控制需谨慎,毕竟让 AI 执行 rm -rf 可不是闹着玩的。
by stickerdaniel
LinkedIn Profile and Job Scraper 是让 Claude 直接抓取 LinkedIn 个人资料、公司信息和职位详情的工具。
✎ 这个服务器解决了招聘和商业调研中手动复制粘贴 LinkedIn 数据的痛点,适合猎头或市场分析师快速获取候选人背景和公司动态。不过,LinkedIn 反爬机制频繁更新,数据稳定性需要持续维护,使用时建议搭配人工验证。