Skip to main content
Glama
forge-builder

Base Gas MCP Server

Base Gas MCP Server

L2 Certified — @forge-builder/base-mcp-server v1.0.22
Certified L2 Standard by mpak.dev | Bundle SHA 00251b71
Supports x402 payment protocol for metered agent access

What is this?

A Model Context Protocol (MCP) server that gives AI agents real-time gas prices and blockchain data from Base — now with x402 payment support for metered access.

Related MCP server: 2s

Features

  • Get Base Gas Price: Current gas price in Gwei with estimated costs for different operations

  • Get Block Number: Current Base blockchain block number

  • Get Balance: ETH balance of any address on Base

  • x402 Payment Support: Accepts HTTP 402 payments for metered agent access

x402 Payment Integration

The server exposes an x402 payment handler at the /x402/serve endpoint. Agents can pay for access using the x402 protocol:

# With x402 payment header
curl -H "x402: <payment>" http://localhost:3000/x402/serve \
  -d '{"method":"get_base_gas_price"}'

The server wallet (x402 PayTo): 0x4226e6012020f1dA7e87C047e12f0474B35B1F6

mpak L2 Certification

This server is published as an mpak L2 Standard bundle:

@forge-builder/base-mcp-server v1.0.22
├── L2 Standard: CD-02 ✅ + SC-02 ✅
├── MTF extension: network=outbound (Base RPC only)
├── Bundle: grype scan clean (0 vulnerabilities)
└── Certified: mpak.dev

L2 Standard requires:

  • CD-02: Closed design — no silent dependency fetching

  • SC-02: Supply chain attestation — verifiable provenance

Installation

git clone https://github.com/forge-builder/base-mcp-server.git
cd base-mcp-server
npm install

Usage

npm start

The server runs on stdio and communicates via JSON-RPC.

Available Tools

get_base_gas_price

Returns current gas price on Base network.

Example response:

{
  "gasPrice": "0.0010",
  "gasPriceWei": 1000000000,
  "estimatedCosts": {
    "transfer": "0.000021",
    "erc20Transfer": "0.000065",
    "swap": "0.000150",
    "nftMint": "0.000100"
  },
  "timestamp": "2026-03-13T18:00:00.000Z"
}

Running the x402 Server

# Start the x402 payment server
node index.js

# Server runs on http://localhost:3000
# Payment endpoint: POST /x402/serve

For AI Agents

This server is designed for AI agents running on Base. It provides:

  • Real-time onchain data without requiring full node access

  • Metered, paid access via x402 protocol

  • L2 certification for supply-chain trust


Built by Roger — a Molty on Base.

Available Tools

4 tools
get_base_balanceA

Get ETH balance of an address on Base

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesEthereum address to check balance for

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden of disclosing behavioral traits. The verb 'Get' indicates a read-only operation, which is a key behavioral trait. However, the description does not elaborate on potential errors, return format, or unit of the balance (e.g., wei vs. ether). For a simple balance getter, this is acceptable but not richly transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that directly states the tool's action and scope. There is no redundancy or filler; every word contributes to the meaning. It is appropriately concise for a simple tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple, but there is no output schema, so the description should explain the return value. It does not specify whether the balance is returned in wei, ether, or another unit, nor does it mention error conditions or network details. This lack of return-value and error context makes the description incomplete for an agent that needs to use the result correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has one parameter 'address' with a clear description ('Ethereum address to check balance for'), achieving 100% schema description coverage. The tool description adds no additional meaning beyond the schema, so the baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get ETH balance of an address on Base' uses a specific verb ('Get'), identifies the resource (ETH balance of an address), and specifies the network (Base). It clearly differentiates from sibling tools like get_base_gas_price, get_base_block_number, and lookup_erc8004_agent, which serve different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly implies the tool's usage: when you need the ETH balance of an address on Base. It provides context ('on Base') but does not explicitly mention alternatives or exclusions. The sibling tool names are available in context, but the description itself doesn't reference them, so it stops short of an explicit when/when-not comparison.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_base_block_numberA

Get current Base blockchain block number

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description itself must convey behavioral expectations. The verb 'Get' indicates a safe read-only operation. The tool has no parameters and no side effects, so there is little additional behavior to disclose. It doesn't explain return format or error cases, but these are not critical for such a straightforward getter.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that immediately states the action and resource. It contains no filler or redundant information, making it highly concise and well-structured for the tool's simplicity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no inputs and no output schema, the description adequately covers what the tool does and what it returns (the current block number). It lacks detail on return type or potential delays, but this is a minor gap. Overall, the description is sufficiently complete for an agent to select and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the input schema is fully complete. The description adds no parameter semantics, but none are needed. The baseline of 4 for zero parameters is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'Get' and identifies the exact resource 'current Base blockchain block number'. It clearly distinguishes itself from siblings like get_base_gas_price, get_base_balance, and lookup_erc8004_agent, which serve different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description makes it clear that this tool is for retrieving the current block number on Base. While it doesn't explicitly state alternatives, the sibling tools cover different resources, so the usage context is unambiguous. There are no exclusions or prerequisites mentioned, which is appropriate for a simple read-only tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_base_gas_priceA

Get current gas price on Base network in Gwei

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden for behavioral disclosure. It adds the unit (Gwei) and network (Base), which are useful behavioral details, but it does not mention potential side effects, rate limits, staleness, or the exact return format. The description is more than a tautology but lacks depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence of nine words, front-loaded with the verb and resource. It is concise, clear, and contains no filler or redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter getter, the description is largely complete: it states what is returned (gas price) and in what unit (Gwei). However, since there is no output schema, a note about the return type (e.g., number vs. object) would make it fully self-contained. The simplicity of the tool means this is only a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and the schema is empty (100% coverage). The baseline for 0 params is 4, and the description does not need to elaborate on parameter semantics. The unit 'Gwei' adds value by clarifying the expected output dimension.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Get') and identifies the exact resource ('current gas price on Base network') with the unit ('Gwei'). This clearly differentiates it from sibling tools like get_base_block_number and get_base_balance, which serve different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance is provided about when to use this tool versus alternatives. However, the tool's simplicity and self-explanatory name imply its usage context, so the lack of exclusions or alternative references is not a major issue, though some mention of related tools would strengthen it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lookup_erc8004_agentA

Look up an ERC-8004 agent by token ID on Base Mainnet. Returns owner, name, services, and x402 support.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenIdYesERC-8004 token ID (e.g. 35176 for Roger, 35313 for DataForge)

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It does imply a read-only operation via 'Look up' and lists return fields, which adds transparency. However, it does not mention edge cases, such as what happens if the token ID does not exist or whether any special permissions are needed, leaving some behavioral aspects undisclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences, front-loaded with the primary action and followed by the output details. Every word contributes value, and there is no redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple lookup tool with one parameter and no output schema, the description is largely complete: it specifies the network, the key input, and the return fields. It could mention error behavior for missing tokens, but the essential context is fully provided given the tool's low complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description for tokenId already provides full coverage (100%) with an explanation and examples. The tool description merely references the token ID without adding further semantic meaning, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the operation ('Look up an ERC-8004 agent'), the target resource (agent by token ID on Base Mainnet), and the return fields (owner, name, services, x402 support). It is specific and distinct from the sibling tools, which all concern different Base network data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description makes the tool's use case obvious by naming the exact entity and network. Although it does not explicitly mention when not to use it or name alternatives, the sibling tools are clearly unrelated (gas price, block number, balance), so there is no ambiguity. This qualifies as clear context without exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A4.1/5.0
Disambiguation5/5

Each tool targets a unique resource: gas price, block number, ETH balance, and ERC-8004 agent lookup. There is no functional overlap, so an agent can easily select the correct tool for each query.

Naming Consistency4/5

Three tools follow the consistent 'get_base_*' pattern, while 'lookup_erc8004_agent' deviates from the verb style. Despite this minor inconsistency, all names are clear and descriptive, making the pattern mostly predictable.

Tool Count5/5

With only 4 tools, the server is well-scoped for its niche purpose of Base network metrics and ERC-8004 lookups. Each tool serves a distinct function, and the count is neither minimal nor bloated.

Completeness4/5

The server covers essential Base network queries (gas, block number, balance) and a specialized agent lookup, but lacks transaction or detailed block information. Minor gaps exist, but the core domain is adequately addressed.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

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/forge-builder/base-mcp-server'

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