BSC MCP Server
by TermiX-official
Verified
https://github.com/user-attachments/assets/b3ed768a-6fd9-4b09-bcdd-dd122965f46e
# BNB Chain MCP Server
## Overview
BNB Chain MCP Server is a backend service designed to execute transactions on the Binance Smart Chain (BSC). It facilitates seamless interaction with the blockchain, including sending native BNB and BEP-20 token transfers. The server utilizes the Model Context Protocol (MCP) framework to ensure secure, structured, and efficient transactions.
### Key Functionalities:
- Retrieve and manage wallet addresses
- Fetch and list wallet balances
- Execute native BNB transfers
- Transfer BEP-20 tokens using contract addresses or symbols
- Call and interact with smart contract functions
- Securely manage BEP-20 tokens
- create bsc memecoin
- create bep20 token
## Features
- **Secure Transactions**: Supports both native BNB and BEP-20 token transfers.
- **Private Key Management**: Uses environment variables to protect sensitive data.
- **Smart Contract Interaction**: Supports function calls to BSC smart contracts.
- **Blockchain Integration**: Built on Viem for reliable BSC blockchain interaction.
- **Customizable RPC Support**: Allows configuration of RPC URLs for optimized performance.
- **Standardized MCP Integration**: Enables structured data interaction for AI-driven automation.
## Requirements
Before setting up the BNB Chain MCP Server, ensure you have the following installed:
- Node.js (v16 or later)
- npm or yarn
- A valid Binance Smart Chain (BSC) wallet private key
## Installation
Clone the repository and install dependencies:
```sh
git clone https://github.com/your-repo/bsc-mcp-server.git
cd bsc-mcp-server
npm install # or yarn install
```
## Configuration
To configure the server, create a `.env` file in the root directory and specify the following variables:
```sh
BSC_WALLET_PRIVATE_KEY=your_private_key_here
BSC_RPC_URL=https://bsc-dataseed.binance.org
MORALIS_API_KEY=your_moralis_api_key_here # Optional: Use your Moralis API key if you want to fetch token balances from Moralis
```
## Integration with Claude Desktop
Before integrating this MCP server with Claude Desktop, ensure you have the following installed:
- Claude Desktop
Then Build the server using the following command:
```sh
npm run build
```
To add this MCP server to Claude Desktop:
Create or edit the Claude Desktop configuration file at:
- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
- Windows: `%APPDATA%\Claude\claude_desktop_config.json`
- Linux: `~/.config/Claude/claude_desktop_config.json`
Add the following configuration:
```json
{
"mcpServers": {
"bsc-mcp": {
"command": "node",
"args": [
"/Users/Username/Desktop/bsc-mpc/build/index.js"
],
"env": {
"BSC_WALLET_PRIVATE_KEY": "BSC_WALLET_PRIVATE_KEY",
"BSC_RPC_URL": "BSC_RPC_URL",
"MORALIS_API_KEY": "MORALIS_API_KEY"
},
"disabled": false,
"autoApprove": []
}
}
}
```
Make sure to pass the correct location of the `index.js` file in the `command` and `args` fields.
Restart Claude Desktop for the changes to take effect.
## Usage ( For Connecting MCP HOST other than Claude )
### Start the Server
To start the MCP server, run:
```sh
npm start # or node index.js
```
### Transfer BEP-20 Tokens
Use the `transferBEP20Token` tool to send tokens by specifying the contract address or symbol:
```json
{
"recipientAddress": "0xRecipientAddress",
"amount": "10",
"token": "USDT"
}
```
## Functions
1. **Transfer Native Token (BNB) - `transferNativeToken`**
```json
{
"recipientAddress": "0xRecipientAddress",
"amount": "0.1"
}
```
2. **Transfer BEP-20 Token by Symbol or Address - `transferBEP20Token`**
```json
{
"recipientAddress": "0xRecipientAddress",
"amount": "10",
"token": "USDT"
}
```
3. **Swap Tokens via PancakeSwap - `pancakeSwap`**
```json
{
"inputToken": "TOKEN1",
"outputToken": "TOKEN2",
"amount": "100"
}
```
4. **Fetch Native and Token Balances - `getBalance`**
```json
{
"address": "0xWalletAddress"
}
```
5. **Call a Contract Function - `callContractFunction`**
```json
{
"abi": "contractABI",
"contractAddress": "0xContractAddress",
"functionName": "functionName",
"functionArgs": "arguments",
"value": "0"
}
```
6. **Create a Meme Token on Four.Meme - `createFourMeme`**
```json
{
"name": "TokenName",
"shortName": "TKN",
"imgUrl": "https://tokenimage.com",
"preSale": "1000",
"desc": "Token Description",
"twitterUrl": "https://twitter.com/token",
"telegramUrl": "https://t.me/token",
"webUrl": "https://tokenwebsite.com"
}
```
7. **Create a BEP-20 Token - `createBEP20Token`**
```json
{
"name": "TokenName",
"symbol": "TKN",
"totalSupply": "1000000"
}
```
## Model Context Protocol (MCP)
The **Model Context Protocol (MCP)** is an open standard designed to enhance the way applications interact with AI models and blockchain-based computational systems. MCP establishes structured context that improves the efficiency of automated transactions and decentralized applications.
### Benefits of MCP:
- **Standardization**: Defines a unified approach for application interactions.
- **Efficiency**: Reduces computational overhead and improves transaction speed.
- **Interoperability**: Supports integration across multiple platforms and blockchain ecosystems.
## Error Handling
When a transaction fails, the server returns an error message with details. Check the console logs for more debugging information. Common error scenarios include:
- Insufficient funds in the wallet
- Invalid recipient address
- Network congestion or RPC issues
## Security Considerations
- **Private Key Protection**: Never expose or hardcode your private key. Use environment variables.
- **RPC Provider Selection**: Choose a trusted and reliable BSC RPC provider to prevent network issues.
- **Transaction Limits**: Implement checks to avoid unintended large transfers.
## License
This project is open-source under the MIT License.
For contributions, bug reports, or feature requests, submit an issue on [GitHub](https://github.com/your-repo/bsc-mcp-server).