BSC MCP Server

by ArcReactor9
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Provides tools for interacting with the Binance Smart Chain network, allowing access to blockchain data including block details, transaction information, wallet balances, BEP-20 token balances, and the ability to create Four.meme tokens on BSC.

  • Serves as the runtime environment for the MCP server, enabling server-side JavaScript execution for blockchain interactions and API requests to the BSC network.

BSC MCP Server

A Model Context Protocol (MCP) server for interacting with the Binance Smart Chain (BSC) network. This server enables LLMs to access blockchain data and perform queries on the BSC network.

Features

  • Get current block number
  • Retrieve block details by number or hash
  • Fetch transaction details
  • Get transaction receipts
  • Check wallet BNB balance
  • Check BEP-20 token balances
  • Create Four.meme tokens on BSC

Prerequisites

  • Node.js (v16 or higher)
  • npm or yarn

Installation

# Clone the repository git clone https://github.com/ArcReactor9/BSC_MCP_SERVICES.git cd BSC_MCP_SERVICES # Install dependencies npm install # Build the project npm run build

Usage

Configuration

By default, the server connects to the BSC mainnet. You can customize the RPC URL and set the private key (required for token creation) using environment variables:

# Windows set BSC_RPC_URL=https://your-custom-bsc-rpc-url set BSC_PRIVATE_KEY=your-private-key # Linux/macOS export BSC_RPC_URL=https://your-custom-bsc-rpc-url export BSC_PRIVATE_KEY=your-private-key

Running the STDIO Server

The STDIO server is designed to be integrated with LLM clients that support the MCP protocol:

npm run start # or node dist/index.js

Running the HTTP/SSE Server

The HTTP/SSE server allows connections over HTTP using Server-Sent Events:

npm run start:http # or node dist/server-http.js

By default, the server runs on port 3000. You can customize the port using the PORT environment variable.

Client Examples

Several client implementations are provided to demonstrate how to use the BSC MCP server:

# Standard MCP client example npm run client # or node dist/client-example.js # HTTP client example npm run client:http # or node dist/client-http-example.js # Simple HTTP client example npm run client:simple # or node dist/simple-http-client.js

API Endpoints (HTTP Server)

The HTTP server exposes the following endpoints:

EndpointMethodDescription
/GETServer status check
/mcp/helloPOSTGet server information and available tools
/mcp/tools/:toolNamePOSTCall a specific tool with arguments
/mcp/sseGETServer-Sent Events (SSE) endpoint for streaming connections

MCP Tools

This server exposes the following MCP tools:

Tool NameParametersDescription
get-block-numberNoneReturns the current BSC block number
get-blockblockHashOrNumber: string or numberReturns block details for the given block hash or number
get-transactiontxHash: stringReturns transaction details for the given transaction hash
get-transaction-receipttxHash: stringReturns transaction receipt for the given transaction hash
get-balanceaddress: stringReturns BNB balance for the given wallet address
get-token-balancetokenAddress: string, walletAddress: stringReturns BEP-20 token balance for the given token and wallet address
create-four-meme-tokenname: string, symbol: string, initialSupply: number, decimals: number, ownerAddress: stringCreates a new Four.meme token with specified parameters

Creating Four.meme Tokens

The BSC MCP server includes functionality to create new Four.meme tokens on the Binance Smart Chain. This allows users to easily deploy custom meme tokens with the following parameters:

  • name: The full name of the token (e.g., "Four Meme Token")
  • symbol: The token symbol (e.g., "4MEME")
  • initialSupply: The initial token supply to mint
  • decimals: The number of decimal places for the token (typically 18)
  • ownerAddress: The BSC address that will receive the initial token supply

Example using HTTP Client

// Example of creating a Four.meme token using the HTTP client const client = new SimpleHttpClient('http://localhost:3000'); // Create a Four.meme token const tokenResponse = await client.createFourMemeToken( 'Four Pepe', // Token name '4PEPE', // Token symbol 420690000000, // Initial supply (before decimals) 18, // Decimals '0xYourWalletAddress' // Owner address ); console.log('Token creation response:', tokenResponse);

Integration with MCP.so

To properly display this service on mcp.so, please ensure that your repository contains the following:

  1. A well-documented README.md (this file)
  2. Code examples demonstrating how to use the tools
  3. Clearly defined tool specifications

Development

Project Structure

BSC_MCP_SERVICES/ ├── dist/ # Compiled JavaScript files ├── src/ # TypeScript source code │ ├── bsc-service.ts # BSC interaction service │ ├── index.ts # STDIO server implementation │ ├── server-http.ts # HTTP/SSE server implementation │ └── ... # Client examples and utilities ├── package.json # Project dependencies and scripts └── README.md # Project documentation (this file)

Building the Project

npm run build

License

ISC

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Troubleshooting

Token Creation Issues

  • Ensure the BSC_PRIVATE_KEY environment variable is set correctly
  • Verify you have enough BNB to cover the gas fees for token deployment
  • Check that the owner address is a valid BSC address

Connection Issues

  • Verify the RPC URL is correct and accessible
  • Check network connectivity
  • Ensure the server is running on the expected port

Support

For any questions or support, please open an issue on the GitHub repository.