Related MCP Server Resources

Explore more AI models, providers, and integration options:

  • Explore AI Models
  • Explore AI Providers
  • Explore MCP Servers
  • LangDB Pricing
  • Documentation
  • AI Industry Blog
  • OWASP Cheatsheets MCP Server
  • OpenSearch MCP Server
  • DeepSource MCP Server
  • Image Processor MCP Server
  • MCP Server
Back to MCP Servers
MCP Ethereum Address Info Server

MCP Ethereum Address Info Server

Public
doronaviguy/mpc-0x

Provides real-time Ethereum address information across multiple chains via Model Context Protocol with Server-Sent Events for live updates, subscription management, and health monitoring endpoints.

javascript
0 tools
May 30, 2025
Updated Jun 4, 2025

Supercharge Your AI with MCP Ethereum Address Info Server

MCP Server

Unlock the full potential of MCP Ethereum Address Info Server through LangDB's AI Gateway. Get enterprise-grade security, analytics, and seamless integration with zero configuration.

Unified API Access
Complete Tracing
Instant Setup
Get Started Now

Free tier available • No credit card required

Instant Setup
99.9% Uptime
10,000+Monthly Requests

MCP Ethereum Address Info Server

This server provides information about Ethereum addresses across multiple chains using the Model Context Protocol (MCP). It includes a Server-Sent Events (SSE) endpoint for real-time updates.

Table of Contents

  • Setup
  • Running the Server
  • Available Endpoints
  • Using the SSE Endpoint
  • Testing with Curl
  • Example Workflow

Setup

  1. Clone the repository:

    git clone cd mcp-0x-address
  2. Install dependencies:

    npm install
  3. Create a .env file with the following variables:

    MCP_PORT=3002
    

Running the Server

Start the HTTP MCP server:

npm run start:http

This will start the server on port 3002 (or the port specified in your .env file).

Available Endpoints

The server provides the following endpoints:

  • GET /health - Server health check
  • POST /mcp - MCP endpoint for tool calls
  • GET /sse - Server-Sent Events endpoint for real-time updates
  • GET /sse/clients - Get information about connected SSE clients
  • POST /sse/subscribe/:clientId - Subscribe to address updates
  • POST /sse/unsubscribe/:clientId - Unsubscribe from address updates

Using the SSE Endpoint

The SSE endpoint allows clients to receive real-time updates from the server. Here's how to use it:

  1. Connect to the SSE endpoint
  2. Get your client ID from the connection response
  3. Subscribe to specific addresses
  4. Receive real-time updates for those addresses

Testing with Curl

1. Connect to the SSE Endpoint

curl -N http://localhost:3002/sse

This will establish a connection to the SSE endpoint and start receiving events. The connection will remain open until you manually terminate it.

2. Check Connected Clients

curl http://localhost:3002/sse/clients

3. Subscribe to Address Updates

After connecting to the SSE endpoint, you'll receive a client ID. Use that ID to subscribe to address updates:

curl -X POST \ http://localhost:3002/sse/subscribe/YOUR_CLIENT_ID \ -H "Content-Type: application/json" \ -d '{"addresses": ["0x742d35Cc6634C0532925a3b844Bc454e4438f44e", "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"]}'

Replace YOUR_CLIENT_ID with the client ID you received when connecting to the SSE endpoint.

4. Unsubscribe from Address Updates

curl -X POST \ http://localhost:3002/sse/unsubscribe/YOUR_CLIENT_ID \ -H "Content-Type: application/json" \ -d '{"addresses": ["0x742d35Cc6634C0532925a3b844Bc454e4438f44e"]}'

5. Trigger an Address Update

To trigger an address update (which will be sent to subscribed clients), call the get-address-info tool:

curl -X POST \ http://localhost:3002/mcp \ -H "Content-Type: application/json" \ -d '{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "get-address-info", "arguments": { "address": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e" } } }'

6. Check Server Health

curl http://localhost:3002/health

7. Test the Ping Tool

curl -X POST \ http://localhost:3002/mcp \ -H "Content-Type: application/json" \ -d '{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "ping", "arguments": {} } }'

Example Workflow

Here's a complete workflow for testing the SSE functionality:

  1. Start the server:

    npm run start:http
  2. In a new terminal, connect to the SSE endpoint:

    curl -N http://localhost:3002/sse

    You'll receive a response like:

    data: {"type":"connection","clientId":"client-1234567890abcdef","message":"Connected to MCP SSE endpoint","timestamp":"2023-01-01T00:00:00.000Z"}
    
  3. Note the clientId from the response.

  4. In another terminal, subscribe to address updates:

    curl -X POST \ http://localhost:3002/sse/subscribe/client-1234567890abcdef \ -H "Content-Type: application/json" \ -d '{"addresses": ["0x742d35Cc6634C0532925a3b844Bc454e4438f44e"]}'
  5. Trigger an address update:

    curl -X POST \ http://localhost:3002/mcp \ -H "Content-Type: application/json" \ -d '{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "get-address-info", "arguments": { "address": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e" } } }'
  6. In the terminal where you're connected to the SSE endpoint, you'll see updates for the address.

Automated Testing Script

For a more automated test, you can use this bash script:

#!/bin/bash # Start SSE connection in the background and capture the output curl -N http://localhost:3002/sse > sse_output.txt & SSE_PID=$! # Wait a moment for the connection to establish sleep 2 # Extract the client ID from the output CLIENT_ID=$(grep -o '"clientId":"[^"]*"' sse_output.txt | head -1 | cut -d'"' -f4) if [ -z "$CLIENT_ID" ]; then echo "Failed to get client ID" kill $SSE_PID exit 1 fi echo "Connected with client ID: $CLIENT_ID" # Subscribe to an address curl -X POST \ http://localhost:3002/sse/subscribe/$CLIENT_ID \ -H "Content-Type: application/json" \ -d '{"addresses": ["0x742d35Cc6634C0532925a3b844Bc454e4438f44e"]}' echo "Subscribed to address. Waiting for updates..." echo "Press Ctrl+C to stop" # Keep the script running to see updates tail -f sse_output.txt # Clean up on exit trap "kill $SSE_PID; rm sse_output.txt" EXIT

Save this as test_sse.sh, make it executable with chmod +x test_sse.sh, and run it with ./test_sse.sh.

Publicly Shared Threads0

Discover shared experiences

Shared threads will appear here, showcasing real-world applications and insights from the community. Check back soon for updates!

Share your threads to help others
Related MCPs5
  • OWASP Cheatsheets MCP Server
    OWASP Cheatsheets MCP Server

    Minimal Model Context Protocol (MCP) server delivering OWASP Cheat Sheets via a FastAPI HTTP API wit...

    Added May 30, 2025
  • OpenSearch MCP Server
    OpenSearch MCP Server

    Model Context Protocol server enabling seamless interaction with Opensearch for document search, ind...

    6 tools
    Added May 30, 2025
  • DeepSource MCP Server
    DeepSource MCP Server

    Integrates AI assistants with code quality analysis by providing access to metrics, issues, security...

    9 tools
    Added May 30, 2025
  • Image Processor MCP Server
    Image Processor MCP Server

    A TypeScript-based Model Context Protocol server enabling creation, access, and summarization of tex...

    2 tools
    Added May 30, 2025
  • MCP Server
    MCP Server

    Provides greeting-related tools, resources, and prompts via Model Context Protocol (MCP), enabling p...

    Added May 30, 2025