Skip to main content
Glama
dewanshparashar

Arbitrum MCP Server

arbtrace_filter

Filter transaction traces on Arbitrum networks using specific criteria to analyze blockchain activity and debug smart contracts.

Instructions

Filter traces based on specified criteria (requires trace API)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
rpcUrlNoThe RPC URL of the Arbitrum node (optional if default is set)
chainNameNoChain name (e.g., 'Xai', 'Arbitrum One') - will auto-resolve to RPC URL
filterYesFilter criteria for traces

Implementation Reference

  • MCP server tool handler for 'arbtrace_filter': resolves RPC URL using chain name or direct URL, creates NitroNodeClient instance, invokes traceFilter method with provided filter, and returns the result as formatted JSON text content.
    case "arbtrace_filter": { const rpcUrl = await this.resolveRpcUrl( (args.rpcUrl as string) || (args.chainName as string) ); const nodeClient = new NitroNodeClient(rpcUrl); const result = await nodeClient.traceFilter(args.filter); return { content: [ { type: "text", text: JSON.stringify(result, null, 2), }, ], }; }
  • src/index.ts:1378-1401 (registration)
    Tool registration in MCP server's getAvailableTools() method, including name, description, and inputSchema defining parameters: rpcUrl (optional), chainName (optional), filter (required object).
    name: "arbtrace_filter", description: "Filter traces based on specified criteria (requires trace API)", inputSchema: { type: "object" as const, properties: { rpcUrl: { type: "string", description: "The RPC URL of the Arbitrum node (optional if default is set)", }, chainName: { type: "string", description: "Chain name (e.g., 'Xai', 'Arbitrum One') - will auto-resolve to RPC URL", }, filter: { type: "object", description: "Filter criteria for traces", }, }, required: ["filter"], }, },
  • NitroNodeClient helper method traceFilter that performs the actual RPC call to 'arbtrace_filter' with the filter parameter, handles errors, and returns TraceResult.
    async traceFilter(filter: any): Promise<TraceResult> { try { const traces = await this.makeRpcCall("arbtrace_filter", [filter]); return { traces }; } catch (error) { return { traces: null, error: `Trace filter not supported on this RPC endpoint: ${ (error as Error).message }`, }; } }

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/dewanshparashar/arbitrum-mcp'

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