Back to Browse

X402 Gas Api MCP Server

Developer ToolsLow Risk9.8MCP RegistryRemote
Free

Server data from the Official MCP Registry

Compare live gas across up to 9 EVM chains and get the cheapest one. x402 pay-per-call on Base.

About

Compare live gas across up to 9 EVM chains and get the cheapest one. x402 pay-per-call on Base.

Remote endpoints: streamable-http: https://api.mgo.chain-ops.xyz/mcp

Security Report

9.8
Low Risk9.8Low Risk

Valid MCP server (1 strong, 1 medium validity signals). 1 known CVE in dependencies Imported from the Official MCP Registry. 1 finding(s) downgraded by scanner intelligence.

4 tools verified · Open access · 2 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Found in Source Code

Found by scanning the linked source code. This listing connects to a hosted endpoint, so none of this runs on your machine: it describes what the server software does where it is hosted.

HTTP Network Access

Connects to external APIs or services over the internet.

file_system

Applies to the server that hosts this plugin, not to your machine.

env_vars

Applies to the server that hosts this plugin, not to your machine.

database

Applies to the server that hosts this plugin, not to your machine.

How to Connect

Remote Plugin

No local installation needed. Your AI client connects to the remote endpoint directly.

Add this to your MCP configuration to connect:

{
  "mcpServers": {
    "xyz-chain-ops-mgo": {
      "url": "https://api.mgo.chain-ops.xyz/mcp"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

MGO — Multi-chain Gas Optimizer

An x402-native API that compares real-time gas prices across up to 9 EVM chains and recommends the cheapest one. Built for trading agents, DeFi bots, and any AI agent that needs to optimize transaction costs.

Quick Start

# 1. Install dependencies
npm install

# 2. Set environment variables
cp .env.example .env
# Set WALLET_ADDRESS (USDC receiving wallet on Base) and CDP_API_KEY_ID/SECRET (facilitator auth)

# 3. Run locally (same entry point as production)
npm start

# 4. Test
# Open in browser: http://localhost:3000/gas/demo

Tiers

FeatureDemo (Free)Basic ($0.001)Premium ($0.002)
Chains449
Gas pricesYesYesYes
Cheapest chain recommendationNoYesYes
Savings % calculationNoYesYes
Cost savings estimateNoYesYes
BNB, Polygon, Avalanche, zkSync, HyperliquidNoNoYes
Rate limit10/hr, 100/dayUnlimitedUnlimited

Endpoints

EndpointPaymentDescription
GET /gas/demoFreeRaw gas prices only (10/hr rate limit)
GET /gas/basic$0.001 USDC (x402)4-chain comparison + recommendation + savings
GET /gas/premium$0.002 USDC (x402)9-chain full comparison
GET /pricesFreeNative token USD prices (ETH, BNB, POL, AVAX, HYPE), 60s cache
POST /mcpFree / x402MCP Streamable HTTP endpoint (tools: get_gas_demo, get_cheapest_chain, get_gas_basic, get_gas_premium)
GET /openapi.jsonFreeOpenAPI 3.1 spec
GET /llms.txt, /skill.mdFreeAI agent discovery files
GET /.well-known/x402, /.well-known/x402.json, /.well-known/mcp.json, /.well-known/agent-card.jsonFreeDiscovery metadata
GET /healthFreeServer health check

Payment Flow (x402 v2)

  1. GET /gas/basic or /gas/premium → 402 with requirements in the PAYMENT-REQUIRED header (base64 JSON). A v1-shaped copy is also in the body for legacy clients.
  2. Client signs an EIP-3009 USDC authorization on Base (eip155:8453)
  3. Resend with PAYMENT-SIGNATURE header → facilitator (Coinbase CDP) verifies → data response with PAYMENT-RESPONSE receipt → USDC settled on-chain

If the upstream RPC / price feed is unavailable the API answers 503 and no payment is settled.

// Client example (@x402/fetch, x402 v2)
const { wrapFetchWithPayment } = require("@x402/fetch");
const { x402Client } = require("@x402/core/client");
const { ExactEvmScheme } = require("@x402/evm/exact/client");
const { privateKeyToAccount } = require("viem/accounts");

const client = new x402Client().register("eip155:*", new ExactEvmScheme(privateKeyToAccount(process.env.EVM_PRIVATE_KEY)));
const paidFetch = wrapFetchWithPayment(fetch, client);
const res = await paidFetch("https://api.mgo.chain-ops.xyz/gas/basic");

MCP (Claude / Cursor / any MCP client)

Remote Streamable HTTP server, no install:

{
  "mcpServers": {
    "mgo-gas": { "url": "https://api.mgo.chain-ops.xyz/mcp" }
  }
}

Also published as npm package chain-ops-mgo and in the official MCP Registry (xyz.chain-ops/mgo). Paid tools return the decoded x402 payment requirements; pay with an x402 client against the resource URL.

Operations

  • Access log + /stats (Upstash Redis, key via STATS_KEY; send it as x-stats-key header)
  • Demo rate limit and the CoinGecko price cache are shared through the same Redis
  • Secrets never live in this repo: see .env.example

Deploy to Vercel

npm i -g vercel
vercel --prod

Platform Registration

  1. BlockRun — Register MCP server URL
  2. Dexter — One-line facilitator config
  3. x402.org — Automatic llms.txt crawling

Reviews

No reviews yet

Be the first to review this server!