hyperion-mcp-server

cuongpo/hyperion-mcp-server

3.2

If you are the rightful owner of hyperion-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The Hyperion MCP Server is a backend service designed for seamless interaction with the Hyperion blockchain using the Model Context Protocol (MCP).

Tools
  1. create_wallet

    Create a new wallet with a generated mnemonic phrase.

  2. import_wallet

    Import an existing wallet using a private key or mnemonic.

  3. list_wallets

    List all available wallets.

  4. set_current_wallet

    Set the active wallet for transactions.

  5. get_current_wallet

    Get current active wallet information.

šŸš€ Hyperion MCP Server

License: MIT Node.js TypeScript

Model Context Protocol server for Hyperion blockchain interactions

The Hyperion MCP Server is a developer- and user-oriented backend service that enables seamless interaction with the Hyperion blockchain using the Model Context Protocol (MCP). This server provides standardized APIs for querying, transacting, and managing assets on Hyperion, making it easy for developers, users, and AI agents to build and integrate with Hyperion-based applications.

🌟 Features

Core Capabilities

  • Standardized MCP Interface: Expose Hyperion 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 and debugging information
  • Flexible Configuration: Environment-based configuration system

šŸ“‹ Requirements

  • Node.js v18 or higher
  • npm or yarn package manager
  • Hyperion blockchain RPC endpoint access

šŸš€ Quick Start

1. Installation

Option A: Deploy to Smithery (Recommended)
# Install Smithery CLI
npm install -g @smithery/cli

# Login to Smithery
smithery login

# Clone and deploy
git clone https://github.com/cuongpo/hyperion-mcp-server.git
cd hyperion-mcp-server
npm run build:smithery
smithery deploy
Option B: Local Installation
# Clone the repository
git clone https://github.com/cuongpo/hyperion-mcp-server.git
cd hyperion-mcp-server

# Install dependencies
npm install

# Build the project
npm run build

2. Configuration

# Copy the example environment file
cp .env.example .env

# Edit the configuration
nano .env

Configure your environment variables:

# Hyperion Testnet Configuration
HYPERION_RPC_URL=https://hyperion-testnet.metisdevops.link
HYPERION_CHAIN_ID=133717
HYPERION_NETWORK_NAME=Hyperion Testnet
HYPERION_CURRENCY_SYMBOL=tMETIS
HYPERION_EXPLORER_URL=https://hyperion-testnet-explorer.metisdevops.link

# Wallet Configuration (comma-separated for multiple wallets)
HYPERION_PRIVATE_KEYS=your_private_key_here
HYPERION_ADDRESSES=0x742d35Cc6634C0532925a3b8D4C9db96590c6C87
HYPERION_CURRENT_ADDRESS=0x742d35Cc6634C0532925a3b8D4C9db96590c6C87

3. Usage

Standalone Mode
npm start
Development Mode
npm run dev
MCP Client Integration

Add to your MCP client configuration:

{
  "mcpServers": {
    "hyperion-mcp": {
      "command": "node",
      "args": ["path/to/hyperion-mcp-server/build/index.js"],
      "env": {
        "HYPERION_RPC_URL": "https://hyperion-testnet.metisdevops.link",
        "HYPERION_CHAIN_ID": "133717",
        "HYPERION_NETWORK_NAME": "Hyperion Testnet",
        "HYPERION_CURRENCY_SYMBOL": "tMETIS",
        "HYPERION_PRIVATE_KEYS": "your_private_key_here",
        "HYPERION_CURRENT_ADDRESS": "your_address_here"
      }
    }
  }
}

šŸ› ļø Available Tools

Wallet Management

create_wallet

Create a new wallet with a generated mnemonic phrase.

Parameters:

  • name (optional): Wallet name

Example:

{
  "name": "create_wallet",
  "arguments": {
    "name": "MyWallet"
  }
}
import_wallet

Import an existing wallet using private key or mnemonic.

Parameters:

  • privateKey (optional): Private key to import
  • mnemonic (optional): Mnemonic phrase to import
  • name (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 address
  • tokenAddress (optional): ERC20 token contract address
send_transaction

Send native tokens or ERC20 tokens.

Parameters:

  • to (required): Recipient address
  • amount (required): Amount to send
  • tokenAddress (optional): ERC20 token contract address
  • gasLimit (optional): Gas limit
  • gasPrice (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 number
  • blockHash (optional): Block hash
get_network_info

Get current network information and status.

estimate_gas

Estimate gas cost for a transaction.

Parameters:

  • to (required): Recipient address
  • value (optional): Value to send
  • data (optional): Transaction data

Smart Contracts

call_contract

Call a smart contract method (read-only).

Parameters:

  • contractAddress (required): Contract address
  • methodName (required): Method name
  • parameters (optional): Method parameters
  • abi (optional): Contract ABI
send_contract_transaction

Send a transaction to a smart contract.

Parameters:

  • contractAddress (required): Contract address
  • methodName (required): Method name
  • parameters (optional): Method parameters
  • abi (optional): Contract ABI
  • value (optional): Ether value to send
  • gasLimit (optional): Gas limit
  • gasPrice (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 supply
  • mintable (optional): Whether the token should be mintable (default: false)
  • gasLimit (optional): Gas limit
  • gasPrice (optional): Gas price

Example:

{
  "name": "deploy_erc20_token",
  "arguments": {
    "name": "My Token",
    "symbol": "MTK",
    "decimals": 18,
    "initialSupply": "1000000",
    "mintable": true
  }
}
get_token_info

Get information about an ERC20 token.

Parameters:

  • tokenAddress (required): ERC20 token contract address

Example:

{
  "name": "get_token_info",
  "arguments": {
    "tokenAddress": "0x742d35Cc6634C0532925a3b8D4C9db96590c6C87"
  }
}
mint_tokens

Mint tokens (only for mintable tokens).

Parameters:

  • tokenAddress (required): ERC20 token contract address
  • to (required): Address to mint tokens to
  • amount (required): Amount of tokens to mint
  • gasLimit (optional): Gas limit
  • gasPrice (optional): Gas price

Example:

{
  "name": "mint_tokens",
  "arguments": {
    "tokenAddress": "0x742d35Cc6634C0532925a3b8D4C9db96590c6C87",
    "to": "0x1234567890123456789012345678901234567890",
    "amount": "1000"
  }
}

šŸ—ļø Development

Project Structure

hyperion-mcp-server/
ā”œā”€ā”€ src/
│   ā”œā”€ā”€ index.ts              # Main MCP server
│   ā”œā”€ā”€ hyperion-client.ts    # Blockchain client
│   ā”œā”€ā”€ wallet-manager.ts     # Wallet management
│   └── types.ts              # Type definitions
ā”œā”€ā”€ build/                    # Compiled JavaScript
ā”œā”€ā”€ docs/                     # Documentation
ā”œā”€ā”€ examples/                 # Example code
ā”œā”€ā”€ package.json
ā”œā”€ā”€ tsconfig.json
└── README.md

Scripts

# Development
npm run dev          # Run in development mode
npm run build        # Build TypeScript
npm run start        # Run built version

# Code Quality
npm run lint         # Run ESLint
npm run format       # Format with Prettier
npm test            # Run tests

Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Commit your changes: git commit -m 'Add amazing feature'
  4. Push to the branch: git push origin feature/amazing-feature
  5. 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 securely

šŸ“š 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 file for details.

šŸ™ Acknowledgments


Made with ā¤ļø by the Hyperion MCP Team