Skip to main content
Glama

MCP Ethereum Address Info Server

by doronaviguy
cursor-mcp.service.ts2.99 kB
import { AddressService } from './address.service'; import { AddressResponse } from '../types'; export interface CursorMCPRequest { address?: string; context_id?: string; operation?: string; } export interface CursorMCPResponse { success: boolean; data?: any; error?: string; context_id?: string; } export class CursorMCPService { private addressService: AddressService; constructor() { this.addressService = new AddressService(); } /** * Process a Cursor MCP request * @param request The Cursor MCP request object * @returns A formatted Cursor MCP response */ async processRequest(request: CursorMCPRequest): Promise<CursorMCPResponse> { try { // Validate the request if (!request.operation) { return { success: false, error: 'Missing operation parameter', context_id: request.context_id }; } // Handle different operations switch (request.operation) { case 'get-contract-info': if (!request.address || !request.context_id) { return { success: false, error: 'Missing required parameters: address or context_id', context_id: request.context_id }; } return await this.handleGetAddressData({ address: request.address, context_id: request.context_id }); case 'ping': return { success: true, data: { status: 'ok', timestamp: Date.now() }, context_id: request.context_id }; default: return { success: false, error: `Unsupported operation: ${request.operation}`, context_id: request.context_id }; } } catch (error) { console.error('Error processing MCP request:', error); return { success: false, error: error instanceof Error ? error.message : 'Unknown error', context_id: request.context_id }; } } /** * Handle the getAddressData operation * @param request The Cursor MCP request * @returns A formatted Cursor MCP response with address data */ private async handleGetAddressData(request: { address: string, context_id: string }): Promise<CursorMCPResponse> { if (!request.address) { return { success: false, error: 'Missing address parameter', context_id: request.context_id }; } try { const addressData: AddressResponse = await this.addressService.fetchAddressData(request.address); return { success: true, data: addressData, context_id: request.context_id }; } catch (error) { console.error('Error fetching address data:', error); return { success: false, error: error instanceof Error ? error.message : 'Error fetching address data', context_id: request.context_id }; } } }

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/doronaviguy/mpc-0x'

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