Skip to main content
Glama

Rootstock MCP Server

by cuongpo
MIT License
smithery.yaml11.3 kB
name: rootstock-mcp displayName: Rootstock Blockchain MCP Server description: Model Context Protocol server for Rootstock blockchain (testnet) interactions - wallet management, tRBTC transactions, smart contract interactions, and complete ERC20/ERC721 token deployment and management on Chain ID 31 version: 1.1.0 author: Rootstock MCP Team license: MIT homepage: https://github.com/cuongpo/rootstock-mcp-server repository: https://github.com/cuongpo/rootstock-mcp-server categories: - blockchain - cryptocurrency - wallet - defi - tokens - erc20 - erc721 keywords: - rootstock - rootstock-testnet - blockchain - cryptocurrency - wallet - trbtc - smart-contracts - defi - mcp - model-context-protocol - chain-31 - erc20 - erc721 - token - token-deployment - token-minting - nft runtime: "typescript" startCommand: type: http configSchema: type: object required: ["privateKey"] properties: privateKey: type: string title: "Private Key" description: "Your funded private key for Rootstock testnet (Chain ID 31). Example: 3cf90f4acdaee72ab90c0da7eda158ec1e908a5698aaf11a99070bba5da18b17" rpcUrl: type: string title: "RPC URL" description: "Rootstock testnet RPC endpoint" default: "https://public-node.testnet.rsk.co" chainId: type: number title: "Chain ID" description: "Rootstock testnet chain ID" default: 31 networkName: type: string title: "Network Name" description: "Network display name" default: "Rootstock Testnet" explorerUrl: type: string title: "Explorer URL" description: "Block explorer URL" default: "https://explorer.testnet.rootstock.io" currencySymbol: type: string title: "Currency Symbol" description: "Native currency symbol" default: "tRBTC" environment: required: - ROOTSTOCK_RPC_URL - ROOTSTOCK_PRIVATE_KEYS optional: - ROOTSTOCK_CHAIN_ID - ROOTSTOCK_NETWORK_NAME - ROOTSTOCK_CURRENCY_SYMBOL - ROOTSTOCK_EXPLORER_URL - ROOTSTOCK_ADDRESSES - ROOTSTOCK_CURRENT_ADDRESS tools: - name: create_wallet description: Create a new Rootstock wallet with generated mnemonic category: wallet - name: import_wallet description: Import existing wallet using private key or mnemonic category: wallet - name: list_wallets description: List all available wallets category: wallet - name: get_balance description: Get wallet balance (native or ERC20 tokens) category: query - name: get_native_balance description: Get native tRBTC balance of a wallet address category: query - name: send_transaction description: Send native tokens or ERC20 tokens category: transaction - name: get_transaction description: Get transaction details by hash category: query - name: get_block description: Get block information category: query - name: get_network_info description: Get network status and information category: query - name: estimate_gas description: Estimate transaction gas costs category: utility - name: set_current_wallet description: Set active wallet for transactions category: wallet - name: get_current_wallet description: Get current active wallet info category: wallet - name: deploy_erc20_token description: Deploy new ERC20 token contracts (standard or mintable) with custom parameters category: token parameters: - name: name type: string required: true description: Token name (e.g., "My Token") - name: symbol type: string required: true description: Token symbol (e.g., "MTK") - name: decimals type: number required: false description: Token decimals (default: 18) - name: initialSupply type: string required: true description: Initial token supply - name: mintable type: boolean required: false description: Whether token should be mintable (default: false) - name: gasLimit type: string required: false description: Gas limit for deployment - name: gasPrice type: string required: false description: Gas price for deployment - name: get_token_info description: Get comprehensive ERC20 token information including name, symbol, decimals, supply, and owner category: token parameters: - name: tokenAddress type: string required: true description: ERC20 token contract address - name: mint_tokens description: Mint additional tokens for mintable ERC20 contracts (owner only) category: token parameters: - name: tokenAddress type: string required: true description: ERC20 token contract address - name: to type: string required: true description: Address to mint tokens to - name: amount type: string required: true description: Amount of tokens to mint - name: gasLimit type: string required: false description: Gas limit for minting - name: gasPrice type: string required: false description: Gas price for minting - name: deploy_erc721_token description: Deploy new ERC721 (NFT) token contracts with custom parameters category: nft parameters: - name: name type: string required: true description: NFT collection name (e.g., "My NFT Collection") - name: symbol type: string required: true description: NFT collection symbol (e.g., "MYNFT") - name: mintable type: boolean required: false description: Whether NFT should be mintable (default: false) - name: gasLimit type: string required: false description: Gas limit for deployment - name: gasPrice type: string required: false description: Gas price for deployment - name: get_nft_info description: Get comprehensive ERC721 NFT information including collection details and specific token info category: nft parameters: - name: tokenAddress type: string required: true description: ERC721 NFT contract address - name: tokenId type: string required: false description: Optional token ID to get specific token info - name: mint_nft description: Mint a new NFT for mintable ERC721 contracts (owner only) category: nft parameters: - name: tokenAddress type: string required: true description: ERC721 NFT contract address - name: to type: string required: true description: Address to mint NFT to - name: tokenId type: string required: true description: Unique token ID for the new NFT - name: tokenURI type: string required: false description: Metadata URI for the NFT (optional) - name: gasLimit type: string required: false description: Gas limit for minting - name: gasPrice type: string required: false description: Gas price for minting examples: - name: Configuration Setup description: Configure your private key for ERC20/ERC721 token deployment code: | // Required environment variables for token operations: // ROOTSTOCK_RPC_URL=https://public-node.testnet.rsk.co // ROOTSTOCK_PRIVATE_KEYS=3cf90f4acdaee72ab90c0da7eda158ec1e908a5698aaf11a99070bba5da18b17 // Optional environment variables: // ROOTSTOCK_CHAIN_ID=31 // ROOTSTOCK_CURRENT_ADDRESS=0x742d35Cc6634C0532925a3b8D4C9db96590c6C87 // Import your wallet if not configured via environment await mcp.callTool('import_wallet', { privateKey: '3cf90f4acdaee72ab90c0da7eda158ec1e908a5698aaf11a99070bba5da18b17' }); - name: Basic Wallet Operations description: Create wallet, check balance, send transaction code: | // Create a new wallet await mcp.callTool('create_wallet', { name: 'MyWallet' }); // Check native balance await mcp.callTool('get_native_balance', { address: '0x742d35Cc6634C0532925a3b8D4C9db96590c6C87' }); // Send transaction await mcp.callTool('send_transaction', { to: '0x1234567890123456789012345678901234567890', amount: '0.1' }); - name: ERC20 Token Deployment and Management description: Deploy and manage ERC20 tokens code: | // Deploy a new ERC20 token await mcp.callTool('deploy_erc20_token', { name: 'My Token', symbol: 'MTK', decimals: 18, initialSupply: '1000000', mintable: true }); // Get token information await mcp.callTool('get_token_info', { tokenAddress: '0xTokenContractAddress' }); // Mint additional tokens (for mintable tokens) await mcp.callTool('mint_tokens', { tokenAddress: '0xTokenContractAddress', to: '0x1234567890123456789012345678901234567890', amount: '1000' }); - name: ERC721 NFT Deployment and Management description: Deploy and manage ERC721 NFTs code: | // Deploy a new ERC721 NFT contract await mcp.callTool('deploy_erc721_token', { name: 'My NFT Collection', symbol: 'MYNFT', mintable: true }); // Get NFT collection information await mcp.callTool('get_nft_info', { tokenAddress: '0xNFTContractAddress' }); // Mint a new NFT await mcp.callTool('mint_nft', { tokenAddress: '0xNFTContractAddress', to: '0x1234567890123456789012345678901234567890', tokenId: '1', tokenURI: 'https://example.com/metadata/1.json' }); documentation: setup: | 1. Install Node.js 18 or higher 2. Clone the repository 3. Run `npm install` 4. Copy `.env.example` to `.env` and configure 5. Run `npm run build` 6. Start with `npm start` configuration: | Configure environment variables in `.env`: - ROOTSTOCK_RPC_URL: Blockchain RPC endpoint - ROOTSTOCK_PRIVATE_KEYS: Comma-separated private keys - ROOTSTOCK_CURRENT_ADDRESS: Default wallet address usage: | The server provides comprehensive tools for: - Wallet management (create, import, list, switch) - Balance queries (native tRBTC and ERC20 tokens) - Transaction operations (send, query, track) - ERC20 token deployment (standard and mintable contracts) - ERC721 NFT deployment (standard and mintable contracts) - Token management (info retrieval, minting, transfers) - NFT management (info retrieval, minting, transfers) - Blockchain queries (blocks, network info, gas estimation) - Explorer integration (direct links to transactions and contracts) support: documentation: https://github.com/cuongpo/rootstock-mcp-server/blob/main/README.md issues: https://github.com/cuongpo/rootstock-mcp-server/issues discussions: https://github.com/cuongpo/rootstock-mcp-server/discussions

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/cuongpo/rootstock-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server