ethereum-validator-queue-mcp

ethereum-validator-queue-mcp

An MCP server that tracks Ethereum’s validator activation and exit queues in real time, enabling AI agents to monitor staking dynamics and network participation trends.

Category
Visit Server

README

Ethereum Validator Queue MCP

An MCP server that tracks Ethereum’s validator activation and exit queues in real time, enabling AI agents to monitor staking dynamics and network participation trends.

GitHub License Python Version Status

Features

  • Tools:
    • get_activation_queue: Retrieves statistics about the Ethereum validator activation queue, including queue length, total active validators, entering validators' balance, and estimated wait time.
    • get_exit_queue: Retrieves statistics about the Ethereum validator exit queue, including queue length, total active validators, exiting validators' balance, and estimated wait time.
    • get_validator_status: Queries the status of a specific validator by its public key, providing details such as status, effective balance, activation epoch, and exit epoch.
  • Prompt:
    • analyze_queue: A reusable prompt template for LLMs to analyze validator queue trends, including staking demand, impact on ETH price, and network security.

Installation

Prerequisites

Setup

  1. Clone the Repository:

    git clone https://github.com/kukapay/ethereum-validator-queue-mcp.git
    cd ethereum-validator-queue-mcp
    
  2. Install dependencies:

    uv sync
    
  3. Install to Claude Desktop:

    Install the server as a Claude Desktop application:

    uv run mcp install main.py --name "Ethereum Validator Queue"
    

    Configuration file as a reference:

    {
       "mcpServers": {
           "Ethereum Validator Queue": {
               "command": "uv",
               "args": [ "--directory", "/path/to/ethereum-validator-queue-mcp", "run", "main.py" ]
           }
       }
    }
    

    Replace /path/to/ethereum-validator-queue-mcp with your actual installation path.

Usage

Tools and Prompts

  • Tools:

    • get_activation_queue(): Returns activation queue stats, e.g., "Current activation queue length: 7189 validators, Total active validators: 1084363, Entering validators balance: 283043.84 ETH, Estimated wait time: Approximately 8.0 days."
    • get_exit_queue(): Returns exit queue stats, e.g., "Current exit queue length: 27152 validators, Total active validators: 1084363, Exiting validators balance: 882528.00 ETH, Estimated wait time: Approximately 30.2 days."
    • get_validator_status(pubkey): Returns validator details for a given public key (48-byte hex string starting with '0x'), e.g., "Validator 0x1234...: Status: active_online, Effective Balance: 32.00 ETH, Activation Epoch: 123456, Exit Epoch: N/A."
  • Prompt:

    • analyze_queue(): Generates a prompt for LLMs to analyze queue trends, e.g., "Analyze the current Ethereum validator queues: What do the current queue lengths indicate about staking demand? How might this impact ETH price and network security? Provide historical context if possible."

Example Interaction

Below are examples of natural language prompts you might use in an MCP-compatible client (e.g., Claude Desktop) and the corresponding outputs from the server, based on sample data.

  1. Get Activation Queue Statistics:

    • Prompt: "Show me the current Ethereum validator activation queue status."
    • Command: get_activation_queue()
    • Output:
      Current activation queue length: 7189 validators
      Total active validators: 1084363
      Entering validators balance: 283043.84 ETH
      Estimated wait time: Approximately 8.0 days (assuming ~900 activations per day)
      
  2. Get Exit Queue Statistics:

    • Prompt: "What's the status of the Ethereum validator exit queue?"
    • Command: get_exit_queue()
    • Output:
      Current exit queue length: 27152 validators
      Total active validators: 1084363
      Exiting validators balance: 882528.00 ETH
      Estimated wait time: Approximately 30.2 days (assuming ~900 exits per day)
      
  3. Get Validator Status:

    • Prompt: "Check the status of the validator with public key 0x93247f2f..."
    • Command: get_validator_status("0x93247f2f...")
    • Output (assuming sample data from the API):
      Validator 0x93247f2f...:
      Status: active_online
      Effective Balance: 32.00 ETH
      Activation Epoch: 123456
      Exit Epoch: N/A
      
  4. Analyze Queue Trends:

    • Prompt: "Analyze the current Ethereum validator queue trends."
    • Command: analyze_queue()
    • Output (prompt sent to LLM for analysis):
      Analyze the current Ethereum validator queues:
      - What do the current queue lengths indicate about staking demand?
      - How might this impact ETH price and network security?
      - Provide historical context if possible.
      
      • LLM Response (example, depends on the LLM):
        The current Ethereum validator queues show a significant exit queue (27,152 validators) compared to the activation queue (7,189 validators), indicating a higher number of validators are leaving than joining. This could suggest reduced staking demand, possibly due to market conditions or profitability concerns. The large exiting balance (882,528 ETH) may increase selling pressure on ETH, potentially impacting its price negatively in the short term. However, the network remains secure with over 1 million active validators. Historically, exit queue spikes have occurred during market downturns or after major network upgrades (e.g., Shanghai upgrade). Further analysis of staking rewards and market trends is recommended.
        

License

This project is licensed under the MIT License. See the LICENSE file for details.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured