Install
$ agentstack add mcp-tairon-ai-aster-mcp ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
💎 Aster MCP Server v0.1.0
[](https://opensource.org/licenses/MIT) [](https://nodejs.org) [](https://modelcontextprotocol.io) [](https://www.docker.com)
Production-ready Model Context Protocol (MCP) server for AsterDEX
[Features](#-features) • [Quick Start](#-quick-start) • [Tools](#-available-tools) • [Prompts](#-prompts) • [Security](#-security) • [Contributing](#-contributing)
🚀 Features
🏗️ Multi-Chain Support
- Ethereum - EVM-compatible smart contracts
- Arbitrum - Layer 2 scaling solution
- BNB Chain - High-performance blockchain
- Solana - Ultra-fast blockchain with low fees
- Seamless cross-chain operations
🛠️ Comprehensive Trading Tools
- Wallet creation for all supported networks
- On-chain balance checks (native & tokens)
- Market buy orders on AsterDEX
- Real-time price data
- Deposit & withdrawal operations
- Cross-chain swap & bridge in one command
🔧 Developer-Friendly
- Simple JSON-RPC interface
- Comprehensive error handling
- Environment-based per-network configuration
- Docker containerization support
- MCP protocol 2024-11-05 implementation
- Automatic token symbol resolution (USDT, ARB, etc.)
🎯 Production-Ready Architecture
- Dual-server design (HTTP + MCP stdio)
- Rate limiting built-in
- EIP-712 signatures for secure withdrawals
- Automatic ERC20 token approval handling
- Per-network wallet configuration
- Graceful error handling and logging
📦 Quick Start
✅ Prerequisites
# Required
Node.js >= 18.0.0
npm >= 9.0.0
🔑 Configuration
Create a .env file with your configuration:
Required for Trading:
- ASTERAPIKEY: Your AsterDEX API key
- ASTERAPISECRET: Your AsterDEX API secret
- ASTERAPIBASE_URL: AsterDEX API endpoint (default: https://sapi.asterdex.com)
Per-Network Wallet Configuration (for deposits/withdrawals):
- ETHEREUMWALLETPRIVATEKEY or ETHEREUMWALLET_MNEMONIC
- ARBITRUMWALLETPRIVATEKEY or ARBITRUMWALLET_MNEMONIC
- BNBWALLETPRIVATEKEY or BNBWALLET_MNEMONIC
- SOLANAWALLETPRIVATEKEY or SOLANAWALLET_MNEMONIC
RPC Endpoints (optional, defaults provided):
- ETHEREUMRPCURL (default: https://eth.llamarpc.com)
- ARBITRUMRPCURL (default: https://arbitrum-one-rpc.publicnode.com)
- BNBRPCURL (default: https://bsc-rpc.publicnode.com)
- SOLANARPCURL (default: https://solana-rpc.publicnode.com)
Debug Mode (optional):
- DEBUG_FULL - Set to
truefor detailed transaction logging including gas usage, allowances, block numbers, and tx hashes (default: false)
📥 Installation
# Clone the repository
git clone https://github.com/Tairon-ai/aster-mcp.git
cd aster-mcp
# Install dependencies
npm install
# Configure environment
cp .env.example .env
# Edit .env with your API credentials and wallet keys
# Start the HTTP server
npm start
# MCP stdio server for Claude Desktop
npm run mcp
🤖 Claude Desktop Integration
In Claude Desktop settings, go to the Developer tab and edit the configuration by adding the following:
{
"mcpServers": {
"aster-dex": {
"command": "node",
"args": ["/path/to/aster-mcp/mcp/index.js"],
"env": {
"ASTER_API_KEY": "your_api_key_here",
"ASTER_API_SECRET": "your_api_secret_here",
"ETHEREUM_WALLET_PRIVATE_KEY": "0x...",
"ARBITRUM_WALLET_PRIVATE_KEY": "0x...",
"BNB_WALLET_PRIVATE_KEY": "0x...",
"SOLANA_WALLET_PRIVATE_KEY": "base58_key_here"
}
}
}
}
🛠 Available Tools
💼 Wallet Management
| Tool | Description | Parameters | Returns | |------|-------------|------------|---------| | create_evm_wallet | Create new EVM wallet (Ethereum/Arbitrum/BNB) | network (ethereum/arbitrum/bnb) | Address, private key, mnemonic | | create_solana_wallet | Create new Solana wallet | None | Address, private key, mnemonic |
💰 Balance & Portfolio
| Tool | Description | Parameters | Returns | |------|-------------|------------|---------| | get_network_balance | Check on-chain wallet balance | network, address (optional), tokenAddress (optional) | Balance, decimals, symbol | | get_account_balance | Get AsterDEX exchange balance | None | Available & locked balances for all assets |
📊 Market Data
| Tool | Description | Parameters | Returns | |------|-------------|------------|---------| | get_price | Get current market price | symbol (e.g., ETHUSDT) | Current price & 24h stats | | get_exchange_info | Get exchange trading rules | symbol (optional) | Trading pairs, filters, limits |
🛒 Trading
| Tool | Description | Parameters | Returns | |------|-------------|------------|---------| | market_buy | Execute market buy order | symbol (e.g., BTCUSDT), quoteAmount (e.g., "100") | Order details & execution price |
📥 Deposits & Withdrawals
| Tool | Description | Parameters | Returns | |------|-------------|------------|---------| | deposit | Deposit tokens to AsterDEX | network, token, amount, privateKey (optional) | Transaction hash & status | | get_withdraw_fee | Get withdrawal fee estimate | token, network | Fee amount & network | | withdraw | Withdraw from AsterDEX to wallet | network, token, amount, toAddress (optional), privateKey (optional) | Transaction details & status |
🌉 Cross-Chain Operations
| Tool | Description | Parameters | Returns | |------|-------------|------------|---------| | swap_and_bridge | Cross-chain swap in one command | fromNetwork, fromToken, fromAmount, targetToken, toNetwork, toAddress, privateKey (optional) | Complete transaction flow details |
🤖 Prompts
💼 Wallet Management
"Create a new Ethereum wallet"
"Generate a Solana wallet for me"
"Create an Arbitrum wallet"
💰 Balance Checks
"Check my Ethereum balance"
"What's my USDT balance on Arbitrum?"
"Show balance of 0x... on Ethereum"
"Check SOL balance of [solana_address]"
📊 Exchange Balance & Info
"Show my AsterDEX account balance"
"What's my balance on the exchange?"
"Get exchange info for BTCUSDT"
"Show all available trading pairs"
💹 Price Checks
"What's the current price of BTCUSDT?"
"Get ETH price in USDT"
"Show me ASTER price"
🛒 Trading
"Buy BTC for 2 USDT"
"Market buy ETHUSDT with 1 USDT"
"Buy ASTER for 3 USDT"
"Execute market buy of 2 USDT worth of BTC"
📥 Deposits
"Deposit 1 USDT from Ethereum to AsterDEX"
"Deposit 2 SOL from Solana"
"Deposit 3 USDC from Arbitrum"
"Transfer 1.5 BNB from BNB Chain to exchange"
📤 Withdrawals
"What's the withdrawal fee for USDT on Ethereum?"
"Get withdrawal fee for BTC on Arbitrum"
"Withdraw 2 USDT to 0x... on Ethereum"
"Send 1 USDC to my Arbitrum wallet 0x..."
"Withdraw 1 USDT to my wallet on BNB Chain"
"Withdraw 0.5 ETH on Ethereum (to my env wallet)"
🌉 Cross-Chain Swaps
"Deposit 2 USDT from BNB, buy USDC, and withdraw to Arbitrum address 0x..."
"Swap 1 USDC from Ethereum to BTC and bridge to Arbitrum"
"Deposit 3 USDT from Arbitrum, swap to ASTER, withdraw to BSC 0x..."
🔧 Testing Tools
# Test with curl (HTTP endpoint)
curl -X POST http://localhost:8080/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc": "2.0", "method": "tools/call", "params": {"name": "get_price", "arguments": {"symbol": "BTCUSDT"}}, "id": 1}'
# Health check
curl http://localhost:8080/health
# Server info
curl http://localhost:8080/info
🔒 Security
🛡️ Security Best Practices
- API Key Protection - Never commit
.envfiles or API keys to version control - Per-Network Wallets - Each network has isolated wallet configuration
- Private Key Security - Private keys never leave your environment, only used for signing
- Environment Variables - All sensitive data stored in environment variables
- Input Validation - All inputs validated before processing
- EIP-712 Signatures - Secure withdrawal signatures following Ethereum standards
- Rate Limiting - Built-in rate limiting prevents API abuse
- Secure Communication - HTTPS for all external API calls
- Error Handling - Errors don't expose sensitive information
🔐 Wallet Configuration Priority
The server uses this priority order for wallet credentials:
- User-provided private key (in tool parameters)
- Network-specific private key (from
NETWORK_WALLET_PRIVATE_KEYenv var) - Network-specific mnemonic (from
NETWORK_WALLET_MNEMONICenv var)
⚠️ Important Security Notes
- Solana private keys must be in base58 format (NO 0x prefix!)
- EVM private keys must be in hex format WITH 0x prefix
- Keep separate wallets for different networks if needed
- Use hardware wallets or secure key management in production
- Never share your private keys or mnemonics
🚀 Deployment
🏭 Production Deployment
# Start production HTTP server
NODE_ENV=production npm start
# With PM2
pm2 start server.js --name aster-mcp
# With Docker
docker build -t aster-mcp .
docker run -d -p 8080:8080 --env-file .env aster-mcp
# Docker Compose
docker-compose up -d
🔑 Environment Variables
# Aster DEX API Configuration
ASTER_API_KEY=your_api_key_here
ASTER_API_SECRET=your_api_secret_here
ASTER_API_BASE_URL=https://sapi.asterdex.com
ASTER_RECV_WINDOW=5000
# Ethereum Wallet (EVM - hex format with 0x prefix)
ETHEREUM_WALLET_PRIVATE_KEY=0x_your_ethereum_private_key_here
ETHEREUM_WALLET_MNEMONIC=your twelve word ethereum mnemonic phrase here
ETHEREUM_RPC_URL=https://eth.llamarpc.com
# Arbitrum Wallet (EVM - hex format with 0x prefix)
ARBITRUM_WALLET_PRIVATE_KEY=0x_your_arbitrum_private_key_here
ARBITRUM_WALLET_MNEMONIC=your twelve word arbitrum mnemonic phrase here
ARBITRUM_RPC_URL=https://arbitrum-one-rpc.publicnode.com
# BNB Chain Wallet (EVM - hex format with 0x prefix)
BNB_WALLET_PRIVATE_KEY=0x_your_bnb_private_key_here
BNB_WALLET_MNEMONIC=your twelve word bnb mnemonic phrase here
BNB_RPC_URL=https://bsc-rpc.publicnode.com
# Solana Wallet (base58 format - NO 0x prefix!)
SOLANA_WALLET_PRIVATE_KEY=your_solana_private_key_base58_here
SOLANA_WALLET_MNEMONIC=your twelve word solana mnemonic phrase here
SOLANA_RPC_URL=https://solana-rpc.publicnode.com
# Server Configuration
PORT=8080
NODE_ENV=production
# Rate Limiting
RATE_LIMIT_REQUESTS_PER_SECOND=10
# Debug Mode (set to 'true' for detailed transaction logging)
# Enables verbose logging for deposits, approvals, and transactions
# Shows: RPC URLs, gas usage, allowances, block numbers, tx hashes
DEBUG_FULL=false
🤝 Contributing
We welcome contributions! Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our development process.
# Fork the repository
git clone https://github.com/Tairon-ai/aster-mcp.git
# Create feature branch
git checkout -b feature/amazing-feature
# Make changes and commit
git commit -m 'feat: add amazing feature'
git push origin feature/amazing-feature
# Open Pull Request
📝 Development Guidelines
- Follow existing code style and structure
- Add tests for new features
- Update documentation for API changes
- Ensure security best practices
- Test with all supported networks
📄 License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
📚 Resources
- MCP Protocol Specification
- MCP SDK Documentation
- AsterDEX Documentation
- AsterDEX Spot API
- Express.js Documentation
- ethers.js Documentation
- Solana Web3.js Documentation
🎯 Supported Networks & Chains
| Network | Chain ID | Type | Native Token | |---------|----------|------|--------------| | Ethereum | 1 | EVM | ETH | | Arbitrum | 42161 | EVM L2 | ETH | | BNB Chain | 56 | EVM | BNB | | Solana | mainnet-beta | Non-EVM | SOL |
🔗 Links
- Website: asterdex.com
- Documentation: docs.asterdex.com
- API Reference: sapi.asterdex.com
- Support: [support@asterdex.com](mailto:support@asterdex.com)
Built by Tairon.ai team with help from Claude
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: Tairon-ai
- Source: Tairon-ai/aster-mcp
- License: MIT
- Homepage: https://tairon.ai
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.