Skip to main content
Glama
chainfetch

ChainFETCH MCP Server

Official
by chainfetch

get_block_summary

Generate AI-powered summaries for specific Ethereum blocks to understand blockchain activity and data insights.

Instructions

Get AI-generated summary for a specific block

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
block_numberYesThe block number to get summary for

Implementation Reference

  • Handler case for the get_block_summary tool. Executes by calling makeRequest to the ChainFETCH blocks summary API endpoint with the provided arguments.
    case 'get_block_summary': return await this.makeRequest('/api/v1/ethereum/blocks/summary', 'GET', args, null, token);
  • Schema definition for the get_block_summary tool, including name, description, and input schema requiring a block_number string.
    { name: 'get_block_summary', description: 'Get AI-generated summary for a specific block', inputSchema: { type: 'object', properties: { block_number: { type: 'string', description: 'The block number to get summary for', }, }, required: ['block_number'], }, },
  • Supporting utility method makeRequest that handles all API calls to ChainFETCH, including authentication with API token, query parameter building, and error handling. This is the core implementation behind the tool's API proxy logic.
    async makeRequest(endpoint, method = 'GET', params = {}, body = null, token = null) { const chainfetchToken = token || process.env.CHAINFETCH_API_TOKEN; if (!chainfetchToken) { throw new McpError( ErrorCode.InvalidRequest, 'CHAINFETCH_API_TOKEN is required' ); } const url = new URL(`${API_BASE_URL}${endpoint}`); // Add query parameters for GET requests if (method === 'GET' && Object.keys(params).length > 0) { Object.entries(params).forEach(([key, value]) => { if (value !== undefined && value !== null) { if (Array.isArray(value)) { value.forEach(v => url.searchParams.append(`${key}[]`, v)); } else { url.searchParams.append(key, value.toString()); } } }); } const fetchOptions = { method, headers: { 'Authorization': `Bearer ${chainfetchToken}`, 'Content-Type': 'application/json', }, }; if (body && method !== 'GET') { fetchOptions.body = JSON.stringify(body); } const response = await fetch(url.toString(), fetchOptions); if (!response.ok) { const errorText = await response.text(); throw new McpError( ErrorCode.InternalError, `API request failed: ${response.status} ${response.statusText} - ${errorText}` ); } return await response.json(); }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/chainfetch/chainfetch-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server