Uses environment variables through .env files for configuration of blockchain endpoints, network parameters, and wallet credentials.
Incorporates ESLint for code quality checks in the development workflow.
Provides standardized interfaces for interacting with the Rootstock blockchain (a Bitcoin sidechain compatible with Ethereum), enabling wallet management, transaction operations, and smart contract interactions.
Leverages Ethers.js library for Rootstock blockchain interactions, supporting operations like wallet creation, token transfers, contract deployment, and blockchain queries.
Uses Node.js as the runtime environment for the MCP server, requiring version 18 or higher for proper functionality.
Integrates Prettier for consistent code formatting across the codebase.
Implemented in TypeScript 5.0+, providing type safety and improved developer experience when working with the MCP server.
🚀 Rootstock MCP Server
Model Context Protocol server for Rootstock blockchain interactions
The Rootstock MCP Server is a developer- and user-oriented backend service that enables seamless interaction with the Rootstock blockchain using the Model Context Protocol (MCP). This server provides standardized APIs for querying, transacting, and managing assets on Rootstock, making it easy for developers, users, and AI agents to build and integrate with Rootstock-based applications.
� Try It Now
Live Demo on Smithery:
- 🔧 Explore Tools: View all available tools
- 💬 Interactive Chat: Try it in the playground
�🌟 Features
Core Capabilities
- Standardized MCP Interface: Expose Rootstock blockchain operations via MCP endpoints
- Wallet Management: Create, import, and manage multiple wallets
- Transaction Operations: Send native tokens and ERC20 tokens
- ERC20 Token Deployment: Deploy standard and mintable ERC20 tokens
- Token Management: Get token information and mint tokens (for mintable contracts)
- Blockchain Queries: Query balances, transactions, blocks, and network information
- Smart Contract Interactions: Call and transact with smart contracts
- Gas Estimation: Estimate transaction costs before sending
Developer Tools
- Comprehensive Documentation: Complete API reference and examples
- TypeScript Support: Full type safety and IntelliSense
- Error Handling: Detailed error messages nd debugging information
- Flexible Configuration: Environment-based configuration system
📋 Requirements
- Node.js v18 or higher
- npm or yarn package manager
- Rootstock blockchain RPC endpoint access
🚀 Quick Start
1. Installation
Option A: Deploy to Smithery (Recommended)
Option B: Local Installation
2. Configuration
Configure your environment variables:
3. Usage
Standalone Mode
Development Mode
MCP Client Integration
Add to your MCP client configuration:
🛠️ Available Tools
Wallet Management
create_wallet
Create a new wallet with a generated mnemonic phrase.
Parameters:
name
(optional): Wallet name
Example:
import_wallet
Import an existing wallet using private key or mnemonic.
Parameters:
privateKey
(optional): Private key to importmnemonic
(optional): Mnemonic phrase to importname
(optional): Wallet name
list_wallets
List all available wallets.
set_current_wallet
Set the active wallet for transactions.
Parameters:
address
(required): Wallet address
get_current_wallet
Get current active wallet information.
Balance & Transactions
get_balance
Get wallet balance (native or ERC20 tokens).
Parameters:
address
(required): Wallet addresstokenAddress
(optional): ERC20 token contract address
send_transaction
Send native tokens or ERC20 tokens.
Parameters:
to
(required): Recipient addressamount
(required): Amount to sendtokenAddress
(optional): ERC20 token contract addressgasLimit
(optional): Gas limitgasPrice
(optional): Gas price
get_transaction
Get transaction details by hash.
Parameters:
hash
(required): Transaction hash
Blockchain Queries
get_block
Get block information.
Parameters:
blockNumber
(optional): Block numberblockHash
(optional): Block hash
get_network_info
Get current network information and status.
estimate_gas
Estimate gas cost for a transaction.
Parameters:
to
(required): Recipient addressvalue
(optional): Value to senddata
(optional): Transaction data
Smart Contracts
call_contract
Call a smart contract method (read-only).
Parameters:
contractAddress
(required): Contract addressmethodName
(required): Method nameparameters
(optional): Method parametersabi
(optional): Contract ABI
send_contract_transaction
Send a transaction to a smart contract.
Parameters:
contractAddress
(required): Contract addressmethodName
(required): Method nameparameters
(optional): Method parametersabi
(optional): Contract ABIvalue
(optional): Ether value to sendgasLimit
(optional): Gas limitgasPrice
(optional): Gas price
ERC20 Token Management
deploy_erc20_token
Deploy a new ERC20 token contract.
Parameters:
name
(required): Token name (e.g., "My Token")symbol
(required): Token symbol (e.g., "MTK")decimals
(optional): Token decimals (default: 18)initialSupply
(required): Initial token supplymintable
(optional): Whether the token should be mintable (default: false)gasLimit
(optional): Gas limitgasPrice
(optional): Gas price
Example:
get_token_info
Get information about an ERC20 token.
Parameters:
tokenAddress
(required): ERC20 token contract address
Example:
mint_tokens
Mint tokens (only for mintable tokens).
Parameters:
tokenAddress
(required): ERC20 token contract addressto
(required): Address to mint tokens toamount
(required): Amount of tokens to mintgasLimit
(optional): Gas limitgasPrice
(optional): Gas price
Example:
🏗️ Development
Project Structure
Scripts
Contributing
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature
- Commit your changes:
git commit -m 'Add amazing feature'
- Push to the branch:
git push origin feature/amazing-feature
- Open a Pull Request
🔒 Security
- Private Keys: Never commit private keys to version control
- Environment Variables: Use
.env
files for sensitive configuration - Network Security: Use HTTPS endpoints in production
- Wallet Security: Store mnemonic phrases securel
📚 Documentation
🤝 Community
- Developers: Contribute to backend or frontend development, API design, or documentation
- Testers: Help stress-test the gateway, identify bugs, and provide UX feedback
- Content Creators: Assist with user guides, tutorials, and community outreach
- Community Support: Help onboard new users and foster engagement
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- Model Context Protocol for the standardized interface
- Ethers.js for Ethereum interactions
- The Rootstock blockchain community
This server cannot be installed
A backend service that enables seamless interaction with the Rootstock blockchain using the Model Context Protocol, providing standardized APIs for querying, transacting, and managing assets on Rootstock.
Related MCP Servers
- -securityFlicense-qualityA Model Context Protocol server providing tools for querying Bitcoin blockchain data via Blockchain Data and Query APIs, supporting various BTC information retrieval functions.Last updated -Python
- -securityFlicense-qualityA Model Context Protocol server that allows AI assistants like Claude to directly query cryptocurrency and blockchain project data from RootData, including project information, organization details, and search results.Last updated -4Python
Blockscout MCP Serverofficial
AsecurityAlicenseAqualityA server that exposes blockchain data (balances, tokens, NFTs, contract metadata) via the Model Context Protocol, enabling AI agents and tools to access and analyze blockchain information contextually.Last updated -1610PythonMIT License- -securityAlicense-qualityA Model Context Protocol server that enables interaction with Bitcoin Stamps data via the Stampchain API, providing tools for querying stamp information, collections, and blockchain data without requiring authentication.Last updated -TypeScriptMIT License