Navigation
MCP Ethereum Address Info Server: Verify & Analyze Blockchain Activity - MCP Implementation

MCP Ethereum Address Info Server: Verify & Analyze Blockchain Activity

Unlock reliable 0xEvm address insights with MCP's Ethereum server – verify, track, and analyze blockchain activity seamlessly for smarter DeFi and Web3 decisions.

Research And Data
4.4(98 reviews)
147 saves
68 comments

Users create an average of 46 projects per month with this tool

About MCP Ethereum Address Info Server

What is MCP Ethereum Address Info Server: Verify & Analyze Blockchain Activity?

MCP Ethereum Address Info Server is a centralized tool designed to validate and analyze blockchain transactions and activities across multiple Ethereum-based networks. It provides real-time monitoring capabilities, enabling developers and businesses to track address-specific data, verify transaction validity, and extract actionable insights from blockchain activity streams. The server supports integration with custom workflows through REST APIs and event-driven architectures.

How to use MCP Ethereum Address Info Server: Verify & Analyze Blockchain Activity?

  1. Initialize the server using the command npm run start:http
  2. Establish a Server-Sent Events (SSE) connection via HTTP GET request
  3. Subscribe to specific Ethereum addresses using the /sse/subscribe endpoint
  4. Trigger data retrieval via the /tools/call API with get-address-info method
  5. Receive real-time updates through the SSE channel for subscribed addresses

MCP Ethereum Address Info Server Features

Key Features of MCP Ethereum Address Info Server: Verify & Analyze Blockchain Activity?

  • Multi-chain compatibility with Ethereum mainnet, testnets, and L2 solutions
  • WebSockets and SSE dual connectivity options
  • Granular event filtering by transaction type, value thresholds, and address patterns
  • Automated anomaly detection with configurable alerting mechanisms
  • Role-based access control and IP whitelisting for API endpoints

Use Cases for MCP Ethereum Address Info Server

Common applications include:

  • Transaction fraud detection systems
  • User activity analytics for decentralized applications
  • Automated compliance reporting for regulatory requirements
  • Smart contract testing environments
  • Real-time blockchain data visualization dashboards

MCP Ethereum Address Info Server FAQ

FAQ: MCP Ethereum Address Info Server

Q: How do I authenticate API requests?
Use Bearer tokens generated through the authentication endpoint. Tokens expire after 24 hours and must be rotated using secure renewal workflows.

Q: Does the server support polygon network integration?
Yes, polygon and other EVM-compatible chains are supported via chain ID configuration in config/networks.js

Q: What logging mechanisms are available?
The system provides request/response logging, error tracking, and audit trails through configurable logging levels (DEBUG/INFO/WARN/ERROR).

Content

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
  1. Install dependencies:

    npm install

  2. 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"}
  1. Note the clientId from the response.

  2. 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"]}'

  3. 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"
    }
    }
    }'

  4. 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.

Related MCP Servers & Clients