Skip to main content
Glama
README.md
# 0G MCP Server ๐Ÿš€

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?logo=typescript&logoColor=white)](https://www.typescriptlang.org/)
[![0G Network](https://img.shields.io/badge/0G-Network-blue)](https://0g.ai/)

A **Model Context Protocol (MCP) server** for seamless AI agent integration with the **0G blockchain network**. This server enables AI assistants to query blockchain data, check balances, retrieve transactions, and perform blockchain operations through natural language.

> ๐ŸŒŸ **Tested and Production Ready** - Successfully connects to live 0G testnet with real-time data

## โœจ Features

- ๐Ÿ” **Balance Queries** - Check wallet balances on 0G mainnet/testnet
- ๐Ÿ“Š **Transaction Lookup** - Get detailed transaction information by hash
- ๐Ÿงฑ **Block Information** - Retrieve block details by number or hash
- ๐Ÿ“ˆ **Network Statistics** - Live gas prices and network metrics
- โ›ฝ **Gas Estimation** - Calculate transaction costs
- ๐ŸŒ **Multi-network Support** - Seamless mainnet/testnet switching
- ๐Ÿค– **AI-First Design** - Built specifically for AI agent interactions

## ๐Ÿš€ Quick Start

### Prerequisites
- Node.js 18+ 
- npm or yarn
- An MCP-compatible client (Claude Desktop, etc.)

### 1. Installation

```bash
# Clone the repository
git clone https://github.com/yourusername/0g-mcp-server.git
cd 0g-mcp-server

# Install dependencies
npm install

# Build the project
npm run build
```

### 2. Test the Server

```bash
# Run the test suite
node test-server.js

# Expected output:
# โœ… Server initialization successful
# โœ… All 5 blockchain tools registered
# โœ… Live connection to 0G testnet confirmed
```

### 3. Configure Your MCP Client

#### For Claude Desktop:

1. Open your Claude Desktop configuration file:
   - **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
   - **Windows**: `%APPDATA%/Claude/claude_desktop_config.json`

2. Add the 0G MCP server:

```json
{
  "mcpServers": {
    "0g-blockchain": {
      "command": "node",
      "args": ["/full/path/to/0g-mcp-server/dist/index.js"]
    }
  }
}
```

3. Restart Claude Desktop

#### For Other MCP Clients:

Refer to your client's documentation for MCP server configuration.

### 4. Start Using!

Once configured, you can interact with the 0G blockchain through natural language:

```
"Check the balance of address 0x1234... on 0G testnet"
"Get details for transaction 0xabcd... on 0G mainnet"
"What's the current gas price on 0G network?"
"Show me block 4259504 information"
```

## ๐Ÿ› ๏ธ Available Tools

| Tool | Description | Required Parameters | Optional Parameters |
|------|-------------|-------------------|--------------------|
| `get_balance` | Get wallet balance | `address` | `network` (mainnet/testnet) |
| `get_transaction` | Transaction details by hash | `txHash` | `network` |
| `get_block` | Block information | `blockIdentifier` | `network` |
| `get_network_info` | Network statistics | - | `network` |
| `estimate_gas` | Gas cost estimation | `to` | `value`, `data`, `network` |

## ๐Ÿ’ก Usage Examples

### Development Mode
```bash
npm run dev
```

### Production Mode
```bash
npm start
```

### Manual Testing
```bash
# Test specific functionality
node test-server.js

# Check server health
curl -X POST http://localhost:3000/health
```

## ๐ŸŒ Network Configuration

| Network | RPC Endpoint | Chain ID | Explorer |
|---------|--------------|----------|----------|
| **Mainnet** | `https://evmrpc-mainnet.0g.ai` | TBD | [chainscan.0g.ai](https://chainscan.0g.ai) |
| **Testnet** | `https://evmrpc-testnet.0g.ai` | TBD | [chainscan.0g.ai](https://chainscan.0g.ai) |

## ๐Ÿ”ง Advanced Configuration

### Environment Variables

Create a `.env` file for custom configuration:

```env
# Custom RPC endpoints (optional)
ZG_MAINNET_RPC=https://your-custom-mainnet-rpc.com
ZG_TESTNET_RPC=https://your-custom-testnet-rpc.com

# Default network
DEFAULT_NETWORK=testnet

# Request timeout (ms)
REQUEST_TIMEOUT=30000
```

### Custom Client Integration

```typescript
import { ZGMCPServer } from './src/index.js';

const server = new ZGMCPServer({
  defaultNetwork: 'mainnet',
  customRpcEndpoints: {
    mainnet: 'https://your-rpc.com',
    testnet: 'https://your-testnet-rpc.com'
  }
});

await server.run();
```

## ๐Ÿงช Testing

The server includes comprehensive testing:

```bash
# Run all tests
npm test

# Test specific functionality
node test-server.js

# Test with live network
npm run test:live
```

**Test Coverage:**
- โœ… MCP protocol compliance
- โœ… All blockchain tools
- โœ… Network connectivity
- โœ… Error handling
- โœ… Live data retrieval

## ๐Ÿค Contributing

We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.

### Development Setup

```bash
# Fork and clone the repo
git clone https://github.com/yourusername/0g-mcp-server.git

# Install dependencies
npm install

# Start development server
npm run dev

# Run tests
npm test
```

## ๐Ÿ“š About 0G Network

**0G** is a modular AI-first blockchain that revolutionizes decentralized AI:

- ๐Ÿง  **AI-Optimized Storage** - Ultra-low cost data storage for AI models
- โšก **High-Performance Execution** - Scalable compute for AI workloads  
- ๐Ÿ”’ **Trustless AI Inference** - Cryptographically verifiable AI operations
- ๐Ÿ—๏ธ **Modular Architecture** - Pick only the components you need

**Learn More:**
- ๐Ÿ“– [Official Documentation](https://docs.0g.ai/)
- ๐ŸŒ [0G Website](https://0g.ai/)
- ๐Ÿ’ฌ [Community Discord](https://discord.gg/0g)
- ๐Ÿฆ [Twitter](https://twitter.com/0G_labs)

## ๐Ÿ“„ License

MIT License - see [LICENSE](LICENSE) file for details.

## ๐Ÿ†˜ Support

- ๐Ÿ› **Issues**: [GitHub Issues](https://github.com/yourusername/0g-mcp-server/issues)
- ๐Ÿ’ฌ **Discussions**: [GitHub Discussions](https://github.com/yourusername/0g-mcp-server/discussions)
- ๐Ÿ“ง **Email**: support@yourproject.com

---

<div align="center">
  <strong>Built with โค๏ธ for the 0G ecosystem</strong><br>
  <sub>Empowering AI agents with blockchain capabilities</sub>
</div>

TDQS

A3.7/5.0

Scored across 5 tools

Disambiguation5/5

Each tool targets a distinct aspect of the 0G network: balance, transaction, block, network info, and gas estimation. There is no overlap, making it straightforward for an agent to select the right tool.

Naming Consistency5/5

All tool names follow a clear verb_noun pattern in snake_case: get_balance, get_transaction, get_block, get_network_info, and estimate_gas. The slight deviation of estimate_ instead of get_ is semantically appropriate and does not break consistency.

Tool Count5/5

With 5 tools, the server is well-scoped for a read-only network query interface. Each tool earns its place, and the count is neither too sparse nor overwhelming.

Completeness4/5

The set covers essential read operations for a blockchain-like network. However, the presence of estimate_gas implies transaction preparation, yet there is no send_transaction tool, which is a notable gap for a complete workflow.

Maintenance

ActivityInactive
ResponsivenessNo issues