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.2(10 reviews)
15 saves
7 comments

80% of users reported increased productivity after just one week

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