FindBlock MCP

FindBlock MCP

An MCP server for retrieving block numbers by timestamp, enabling fast and precise on-chain data queries.

Category
Visit Server

README

FindBlock MCP

An MCP server for retrieving block numbers by timestamp, enabling fast and precise on-chain data queries.

GitHub License Python Version Status

Features

  • Block Timestamp Search: Find blocks before/after specific timestamps with optional inclusivity.
  • Chain Discovery: List and retrieve details for thousands of EVM chains.
  • RPC Proxying: Forward JSON-RPC calls to optimal endpoints for any chain.

Requirements

  • Python 3.10+
  • uv for dependency management (recommended)

Installation

  1. Clone & Install:

    git clone https://github.com/kukapay/findblock-mcp.git
    cd findblock-mcp
    uv sync 
    
  2. Install to Claude Desktop:

    Install the server as a Claude Desktop application:

    uv run mcp install main.py --name "Find Block"
    

    Configuration file as a reference:

    {
       "mcpServers": {
           "Find Block": {
               "command": "uv",
               "args": [ "--directory", "/path/to/findblock-mcp", "run", "main.py" ]
           }
       }
    }
    

    Replace /path/to/findblock-mcp with your actual installation path.

Usage

Once installed (e.g., in Claude Desktop), interact with the tools via natural language prompts. The LLM will automatically discover and invoke them. Below are detailed tool descriptions with parameters and examples.

Tools

1. find_block_before(chain_id: int, timestamp: int, inclusive: bool = False)

Locates the block immediately before (or at, if inclusive=True) a given UNIX timestamp. Returns Markdown-formatted block details including number, timestamp, hash, and parent hash.

Parameters:

  • chain_id (int, required): The EVM Chain ID.
  • timestamp (int, required): UNIX timestamp (seconds since epoch).
  • inclusive (bool, optional, default=False): Include the block at the exact timestamp if it matches.

Example Prompt:

Find the last Ethereum block before January 1, 2024.

Expected Output:

### Block Details (Before Timestamp)
- **Number:** 19300000
- **Timestamp:** 1704067199 (UNIX)
- **Hash:** `0xabc123...def456`
- **Parent Hash:** `0xdef789...ghi012`

2. find_block_after(chain_id: int, timestamp: int, inclusive: bool = False)

Locates the block immediately after (or at, if inclusive=True) a given UNIX timestamp. Returns Markdown-formatted block details including number, timestamp, hash, and parent hash.

Parameters:

  • chain_id (int, required): The EVM Chain ID.
  • timestamp (int, required): UNIX timestamp (seconds since epoch).
  • inclusive (bool, optional, default=False): Include the block at the exact timestamp if it matches.

Example Prompt:

What's the first Polygon block after March 15, 2023, 12:00 UTC?

Expected Output:

### Block Details (After Timestamp)
- **Number:** 45000000
- **Timestamp:** 1678867201 (UNIX)
- **Hash:** `0x123abc...456def`
- **Parent Hash:** `0x789ghi...012jkl`

3. list_chains()

Retrieves a list of all available EVM chains supported by FindBlock, formatted as a Markdown bullet list with chain names and IDs.

Parameters:

  • None

Example Prompt:

Show me a list of popular EVM chains I can query.

Expected Output:

### Available Chains

- **Ethereum** (Chain ID: 1)
- **Binance Smart Chain** (Chain ID: 56)
- **Polygon** (Chain ID: 137)
- **Avalanche C-Chain** (Chain ID: 43114)
- ... (truncated for brevity; full list includes 1,000+ chains)

4. get_chain(chain_id: int)

Fetches detailed information for a specific EVM chain by its Chain ID, returned as Markdown with name and ID.

Parameters:

  • chain_id (int, required): The EVM Chain ID (e.g., 1 for Ethereum Mainnet).

Example Prompt:

Tell me about Ethereum Mainnet.

Expected Output:

### Chain Details

- **Name:** Ethereum
- **Chain ID:** 1

5. rpc_call(chain_id: int, method: str, params: List[Any] = [], request_id: int = 1)

Proxies an EVM JSON-RPC request to the best-performing RPC endpoint for the specified chain. Supports any standard EVM method (e.g., eth_blockNumber, eth_getBalance). Returns Markdown with success results or error details.

Parameters:

  • chain_id (int, required): The EVM Chain ID.
  • method (str, required): The JSON-RPC method name.
  • params (List[Any], optional, default=[]): Array of parameters for the method.
  • request_id (int, optional, default=1): Unique ID for the request.

Example Prompt:

What's the current block number on Binance Smart Chain?

Expected Output (success case):

### RPC Result

**ID:** 42
**Result:** 
"0x1a2b3c4d"

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