mcpField
M
MGO — Multi-chain Gas Optimizer

MGO — Multi-chain Gas Optimizer

Local
mgo.chain-ops.xyzFinance0Updated 1w ago

About MGO — Multi-chain Gas Optimizer

MGO is an MCP server and Node client for comparing gas prices across EVM chains. It offers free comparison tools and paid, x402-based recommendations for agents preparing transactions.

Key features

  1. 01Gas prices across up to 9 EVM chains
  2. 02Free demo and cheapest-chain tools
  3. 03Paid basic and premium data
  4. 04x402 payments in USDC on Base

Use cases

  1. 01Compare fees before a swap or bridge
  2. 02Choose a lower-cost chain for deployment

MCP support

Provides free and paid gas tools to MCP clients, including `get_gas_demo` and `get_cheapest_chain`. It is available as a stdio server or hosted at `https://api.mgo.chain-ops.xyz/mcp`.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"dlrjsdl200-byte-mgo": {
"command": "npx",
"args": [
"-y",
"chain-ops-mgo"
],
"env": {
"MGO_PRIVATE_KEY": "<MGO_PRIVATE_KEY>",
"MGO_MAX_PRICE": "<MGO_MAX_PRICE>"
}
}
}
}
Run commandnpx -y chain-ops-mgo
Environment variables to set
MGO_PRIVATE_KEYSecretOptional. EVM private key (0x...) holding USDC on Base; enables auto-pay for the paid tools.
MGO_MAX_PRICEOptional. Hard cap per call in micro-USDC (default 10000 = $0.01).

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmchain-ops-mgo1.2.0

Tools

4

Saved tool list · updated 1w ago

This tool takes no parameters.

Details

From the project README

chain-ops-mgo

Multi-chain Gas Optimizer — Compare real-time gas prices across 9 EVM chains and get the cheapest-chain recommendation. Pay-per-call via x402 on Base. No API key, no signup.

When to use: call it before any EVM transaction (bridge, deploy, swap) to route to the lowest-fee chain — e.g. "Use Optimism — saves 97% vs Ethereum". Built for AI agents: one USDC microtransaction per call. Ships as a Node client and a stdio MCP server.

npm version Powered by @chain-ops/agent-sdk ClawHub

MCP server (Claude Desktop, Cursor, any MCP client)

No install needed:

{
  "mcpServers": {
    "mgo-gas": {
      "command": "npx",
      "args": ["-y", "chain-ops-mgo"],
      "env": { "MGO_PRIVATE_KEY": "0x...", "MGO_MAX_PRICE": "10000" }
    }
  }
}

Tools: get_gas_demo, get_cheapest_chain (free), get_gas_basic ($0.001), get_gas_premium ($0.002). Without MGO_PRIVATE_KEY the paid tools return the x402 payment requirements instead of data. With it (plus @chain-ops/agent-sdk and viem installed) they pay automatically, capped at MGO_MAX_PRICE micro-USDC (default 10000 = $0.01). Prefer not to run anything? The same tools are hosted at https://api.mgo.chain-ops.xyz/mcp (official MCP Registry: xyz.chain-ops/mgo).

Install (library)

Free endpoints only:

npm install chain-ops-mgo

Auto-payment (recommended for paid endpoints):

npm install chain-ops-mgo @chain-ops/agent-sdk viem

Quick Start

Free — no payment
const { getCheapestChain } = require('chain-ops-mgo');

const result = await getCheapestChain();
console.log(result);
// {
//   chain: 'Optimism', chainId: 10, nativeToken: 'ETH',
//   gasPriceGwei: '0.0010',
//   dexSwapCostNative: '0.00000016',
//   dexSwapCostUsdc: 0.00039,        // from the free /prices feed; omitted if unavailable
//   savingsVs: 'Ethereum',
//   savingsPercent: '97.4%'
// }
Paid — auto-payment via SDK (recommended)
const { getGasBasicWithPayment } = require('chain-ops-mgo');

const data = await getGasBasicWithPayment({
  account: process.env.PRIVATE_KEY, // 0x...
  network: 'base',
});

console.log(data.recommendation.action);
// "Use Optimism — saves 97.4% vs Ethereum"

The SDK handles the x402 402-handshake (parse requirements, sign the EIP-3009 USDC authorization, retry). One USDC microtransaction per call ($0.001 basic, $0.002 premium), hard-capped at maxPrice (default $0.01).

Endpoints

FunctionPriceChainsNotes
getGasDemo()Free4Raw gas prices (native units), rate limited 10/hr
getPrices()Free—Native token USD prices (ETH, BNB, POL, AVAX, HYPE), 60s cache
getCheapestChain()Free4Cheapest chain for a DEX swap, USD via getPrices()
getGasBasicWithPayment({ account })$0.001 USDC4Auto-pay via SDK + recommendation
getGasPremiumWithPayment({ account })$0.002 USDC9Auto-pay via SDK + 9 chains incl. BNB, Polygon, Avalanche, zkSync, Hyperliquid
getGasBasic({ paymentHeader })$0.001 USDC4Manual mode — bring your own x402 header
getGasPremium({ paymentHeader })$0.002 USDC9Manual mode — bring your own x402 header

Auto-pay options

await getGasPremiumWithPayment({
  account: '0x...',         // private key OR a viem Account object
  network: 'base',          // currently only 'base'
  maxPrice: 5_000n,         // optional cap in micro-USDC ($0.005); default 10_000n
});

If @chain-ops/agent-sdk is not installed, the auto-pay functions throw a clear error pointing to the install command. Free functions work without it.

Manual mode (advanced)

If you build your own x402 client, you can supply a pre-built header:

const { getGasBasic } = require('chain-ops-mgo');

const data = await getGasBasic({
  paymentHeader: { 'PAYMENT-SIGNATURE': '<base64 x402 v2 payload>' }, // or 'X-PAYMENT' for v1
});

Without a payment header, paid functions throw Error: Payment required with err.status === 402 and err.paymentInfo (the decoded PAYMENT-REQUIRED header: accepts[], resource, ...).

Payment

Uses x402 protocol on Base (eip155:8453) with USDC. No API key, no subscription, no account required.

Links

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.