README.md•3.02 kB
# BSC MultiSend MCP
An MCP server that enables agents to perform bulk BNB and BEP20 token transfers on BSC.



## Features
- **distributeNative Tool**: Sends BNB to multiple addresses in a single transaction.
- Parameters:
- `receivers`: Array of BSC addresses to receive BNB.
- `amounts`: Array of BNB amounts (e.g., 0.1 BNB) to send, automatically summed for the total.
- Automatically converts amounts to wei and handles gas estimation.
- **distributeToken Tool**: Sends BEP20 tokens to multiple addresses.
- Parameters:
- `tokenAddress`: Address of the BEP20 token contract.
- `receivers`: Array of BSC addresses to receive tokens.
- `amounts`: Array of token amounts (e.g., 100.5 tokens).
- Queries token decimals, checks allowance, and auto-approves if needed.
## Prerequisites
- **Node.js**: Version 18 or higher.
- **pnpm**: For installing dependencies.
- **BNB Smart Chain Wallet**: A wallet with sufficient BNB for gas and tokens for distribution.
- **BSC RPC Endpoint**: Access to a BSC node (e.g., `https://bsc-dataseed.binance.org/`).
## Installation
1. Clone the repository:
```bash
git clone https://github.com/kukapay/bsc-multisend-mcp.git
cd bsc-multisend-mcp
```
2. Install dependencies:
```bash
pnmp install
```
3. Configure MCP client:
Claude Desktop configuration file as a reference:
```json
{
"mcpServers": {
"BSC MultiSend": {
"command": "node",
"args": [ "/path/to/bsc-multisend-mcp/index.js" ],
"env": { "PRIVATE_KEY": "your-private-key" }
}
}
}
```
Replace `/path/to/bsc-multisend-mcp` with your actual installation path, and `your-private-key` with your BSC wallet private key.
## Usage
The server offers two tools — distributeNative and distributeToken — for bulk token distribution.
### distributeNative
**Purpose**: Distributes BNB to multiple addresses in a single transaction.
Example Prompt:
```
I want to send 0.1 BNB to 0xRecipient1 and 0.2 BNB to 0xRecipient2 on BSC.
```
Expected Response:
```
BNB distribution successful. Tx Hash: 0x...
```
### distributeToken
**Purpose**: Distributes BEP20 tokens to multiple addresses. It queries the token's decimals, checks the contract's allowance, approves the contract if needed, and executes the transfer.
Example Prompt:
```
Send tokens to the following addresses on BSC using the token contract at 0xTokenAddress:
- 0xRecipient1: 100.5 tokens
- 0xRecipient2: 200 tokens
- 0xRecipient3: 50.75 tokens
- 0xRecipient4: 150 tokens
- 0xRecipient5: 75.25 tokens
```
Expected Response:
```
Token distribution successful. Tx Hash: 0x...
```
## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.