MGO — Multi-chain Gas Optimizer
Cheapest EVM chain across up to 9 networks with savings %. Free demo tools, paid tools via x402.
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
chain-ops-mgoclaude mcp add mgo-multi-chain-gas-optimizer -e 'MGO_PRIVATE_KEY=<your mgo_private_key>' -e 'MGO_MAX_PRICE=<MGO_MAX_PRICE>' -- npx -y chain-ops-mgo@1.2.0
{
"mcpServers": {
"mgo-multi-chain-gas-optimizer": {
"command": "npx",
"args": [
"-y",
"chain-ops-mgo@1.2.0"
],
"env": {
"MGO_PRIVATE_KEY": "<your mgo_private_key>",
"MGO_MAX_PRICE": "<MGO_MAX_PRICE>"
}
}
}
}
Environment variables
MGO_PRIVATE_KEYsecret Optional. 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).
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
Contents
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.
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
| Function | Price | Chains | Notes |
|---|---|---|---|
getGasDemo() | Free | 4 | Raw gas prices (native units), rate limited 10/hr |
getPrices() | Free | — | Native token USD prices (ETH, BNB, POL, AVAX, HYPE), 60s cache |
getCheapestChain() | Free | 4 | Cheapest chain for a DEX swap, USD via getPrices() |
getGasBasicWithPayment({ account }) | $0.001 USDC | 4 | Auto-pay via SDK + recommendation |
getGasPremiumWithPayment({ account }) | $0.002 USDC | 9 | Auto-pay via SDK + 9 chains incl. BNB, Polygon, Avalanche, zkSync, Hyperliquid |
getGasBasic({ paymentHeader }) | $0.001 USDC | 4 | Manual mode — bring your own x402 header |
getGasPremium({ paymentHeader }) | $0.002 USDC | 9 | Manual 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
- API: https://api.mgo.chain-ops.xyz
- Dashboard: https://mgo.chain-ops.xyz
- SDK:
@chain-ops/agent-sdk— the underlying x402 + ERC-8004 client - Remote MCP: https://api.mgo.chain-ops.xyz/mcp
- Source: https://github.com/dlrjsdl200-byte/chain-ops-mgo
- Homepage: https://chain-ops.xyz
License
MIT
Frequently asked questions
What is MGO — Multi-chain Gas Optimizer?
Cheapest EVM chain across up to 9 networks with savings %. Free demo tools, paid tools via x402.
How do I install MGO — Multi-chain Gas Optimizer?
It runs on your machine. In Claude Code: claude mcp add mgo-multi-chain-gas-optimizer -e 'MGO_PRIVATE_KEY=<your mgo_private_key>' -e 'MGO_MAX_PRICE=<MGO_MAX_PRICE>' -- npx -y chain-ops-mgo@1.2.0. For other clients, paste the JSON configuration from this page into their MCP settings.
Does MGO — Multi-chain Gas Optimizer need an API key?
Yes. It expects MGO_PRIVATE_KEY, which you set in its configuration.
Is MGO — Multi-chain Gas Optimizer open source?
Yes. Its code is on GitHub under the MIT license.
Who maintains MGO — Multi-chain Gas Optimizer?
It is published by dlrjsdl200-byte. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.