Skip to content

Tairon-ai/casper-network-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ”— Casper Network MCP Server v0.1.0

License: MIT Node Version MCP Protocol Casper Network

Production-ready Model Context Protocol (MCP) server for Casper Network blockchain

Features β€’ Quick Start β€’ Tools β€’ Prompts β€’ Security β€’ Contributing


πŸš€ Features

πŸ—οΈ Dual-Server Architecture

  • HTTP server (Express) for REST API access
  • MCP stdio server for Claude Desktop integration
  • Seamless communication between both servers
  • Process management with graceful shutdown
  • Health monitoring endpoints

πŸ› οΈ Professional Structure

  • Modular tool system with separate tools.js
  • Utility helpers in dedicated utils.js file
  • Clean separation of concerns
  • Easy to extend and maintain
  • Production-tested components

πŸ”§ Developer-Friendly

  • Simple JSON-RPC interface
  • Comprehensive error handling
  • Environment-based configuration
  • Docker containerization support
  • MCP protocol 2024-11-05 implementation
  • Zero-configuration deployment with sensible defaults

🎯 Casper Network Integration

  • Wallet creation and management
  • CSPR token transfers
  • Staking and delegation operations
  • Real-time blockchain data from mainnet
  • Curated validator database (50+ top validators)
  • Full integration with Casper JavaScript SDK

πŸ“¦ Quick Start

βœ… Prerequisites

# Required
Node.js >= 18.0.0
npm >= 9.0.0

# Casper Network API Key from cspr.cloud
# Get your free API key at: https://cspr.cloud

πŸ”‘ Configuration

Create a .env file with your Casper Network configuration:

  • CASPER_API_KEY: Your API key from cspr.cloud (required)
  • CASPER_RPC_URL: RPC endpoint (default: https://node.cspr.cloud/rpc)
  • CASPER_NETWORK_NAME: Network name (default: casper for mainnet)
  • PORT: HTTP server port (default: 8080)
  • CASPER_PRIVATE_KEY: Optional default wallet private key (PEM format)
  • CASPER_PUBLIC_KEY: Optional default wallet public key

πŸ“₯ Installation

# Clone the repository
git clone https://github.com/Tairon-ai/casper-network-mcp.git
cd casper-network-mcp

# Install dependencies
npm install

# Configure environment
cp .env.example .env
# Edit .env and add your CASPER_API_KEY from cspr.cloud

# Start the HTTP server
npm start

# MCP stdio server for Claude Desktop
npm run mcp

πŸ€– Claude Desktop Integration

Add to your Claude Desktop configuration:

{
  "mcpServers": {
    "casper-network": {
      "command": "node",
      "args": ["/path/to/casper-network-mcp/mcp/index.js"],
      "env": {
        "CASPER_API_KEY": "your_api_key_from_cspr_cloud",
        "CASPER_RPC_URL": "https://node.cspr.cloud/rpc",
        "CASPER_NETWORK_NAME": "casper"
      }
    }
  }
}

Note: Get your API key from https://cspr.cloud for mainnet access


πŸ›  Available Tools

πŸ“‹ Casper Network Blockchain Tools

Tool Description Parameters Returns
create_wallet Generate new ED25519 wallet None Public key, private key (PEM), account hash
get_balance Check CSPR balance publicKey (optional) Balance in CSPR and motes
get_account_info Get account details publicKey (optional) Account hash, keys, thresholds, purse
transfer_cspr Send CSPR tokens toPublicKey, amount, transferId (opt), fromPrivateKeyPem (opt) Deploy hash, transaction details
delegate_stake Delegate to validator validatorPublicKey, amount, delegatorPrivateKeyPem (opt) Deploy hash, staking details
undelegate_stake Undelegate from validator validatorPublicKey, amount, delegatorPrivateKeyPem (opt) Deploy hash, unbonding info
get_staking_rewards View staking info publicKey (optional) Total staked, delegations, validators
get_validator_info Get validator details validatorPublicKey Name, stake, delegators, commission

πŸ€– Prompts

πŸ’¬ Example Prompts for AI Assistants

Wallet Management:

"Create a new Casper wallet for me"
"What's my CSPR balance?"
"Check the balance of wallet 01abc123..."
"Show me my Casper account details"

Transfers:

"Send 100 CSPR to wallet 01abc123..."
"Transfer 50 CSPR to 01def456... with transfer ID 12345"

Staking:

"Delegate 1000 CSPR to validator 012bac..."
"Stake 500 CSPR with Everstake validator"
"Undelegate 500 CSPR from validator 012bac..."
"Show me my staking rewards and delegations"

Validator Info:

"Tell me about Everstake validator 012bac..."
"What's the commission rate and total stake of validator 01c377...?"
"Find validators with 0% commission"

πŸ”§ Testing Tools

# Test wallet creation
curl -X POST http://localhost:8080/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc": "2.0", "method": "tools/call", "params": {"name": "create_wallet", "arguments": {}}, "id": 1}'

# Test balance check
curl -X POST http://localhost:8080/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc": "2.0", "method": "tools/call", "params": {"name": "get_balance", "arguments": {"publicKey": "01abc..."}}, "id": 1}'

πŸ”’ Security

πŸ›‘οΈ Security Best Practices

  • Private Key Protection - Never commit .env files or private keys to version control
  • Environment Variables - Store sensitive data (API keys, private keys) in environment variables
  • API Key Security - Keep your cspr.cloud API key secure and don't share it
  • Input Validation - All public keys and amounts are validated before processing
  • Mainnet Caution - This server operates on Casper mainnet with real CSPR tokens
  • Error Handling - Errors don't expose sensitive wallet information
  • Secure Communication - All RPC calls use HTTPS to cspr.cloud

πŸš€ Deployment

🏭 Production Deployment

# Start production server
NODE_ENV=production npm start

# With PM2
pm2 start server.js --name casper-mcp

# With Docker
docker build -t casper-mcp .
docker run -d -p 8080:8080 --env-file .env casper-mcp

πŸ”‘ Environment Variables

# Casper Network Configuration
CASPER_RPC_URL=https://node.cspr.cloud/rpc
CASPER_API_KEY=your_api_key_from_cspr_cloud
CASPER_NETWORK_NAME=casper

# Optional: Default Wallet
CASPER_PRIVATE_KEY=-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----
CASPER_PUBLIC_KEY=01abc123...

# Server Configuration
PORT=8080
NODE_ENV=production

🀝 Contributing

We welcome contributions! Please read CONTRIBUTING.md for details on our development process.

# Fork the repository
git clone https://github.com/Tairon-ai/casper-network-mcp.git

# Create feature branch
git checkout -b feature/amazing-feature

# Make changes and commit
git commit -m 'feat: add amazing feature'
git push origin feature/amazing-feature

# Open Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ“š Resources


Built by Tairon.ai team with help from Claude

About

Production-ready Model Context Protocol (MCP) server for Casper Network blockchain

Topics

Resources

License

Contributing

Stars

Watchers

Forks