mcpField
E
Ethereum Transaction Builder

Ethereum Transaction Builder

Local
github.com/nirholasFinance28Updated 3w ago

About Ethereum Transaction Builder

Transaction MCP Server is an MCP server for building, signing and analyzing Ethereum transactions, covering legacy, EIP-2930 and EIP-1559 types. It is aimed at developers who need offline transaction handling, decoding and gas cost estimates.

Key features

  1. 01Builds, signs and decodes transactions
  2. 02Supports legacy, EIP-2930 and EIP-1559 types
  3. 03Provides gas estimation and fee calculation tools
  4. 04Encodes ERC-20 transfers and function calls
  5. 05Signs transactions offline without network access

Use cases

  1. 01Build and sign an ETH transfer offline
  2. 02Decode a signed raw transaction
  3. 03Estimate gas cost and compare transaction contents

MCP support

This project is an MCP server that exposes transaction building, signing, decoding and analysis tools, plus chain ID and gas resources, to MCP clients.

Configuration

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

mcp.json · Universal config
{
"mcpServers": {
"nirholas-transaction": {
"command": "uvx",
"args": [
"transaction-mcp-server"
]
}
}
}
Run commanduvx transaction-mcp-server

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
pypitransaction-mcp-server1.0.0

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

Transaction MCP Server

PyPI MCP Registry

An MCP (Model Context Protocol) server providing comprehensive Ethereum transaction capabilities including building, signing, decoding, and analysis for both legacy and EIP-1559 transactions.

Features

Tools (15 total)
Transaction Building & Signing
  • build_transaction - Build an unsigned transaction
  • sign_transaction - Sign a transaction with a private key
  • build_and_sign_transaction - Build and sign in one step
Transaction Decoding
  • decode_raw_transaction - Decode a signed raw transaction
  • decode_unsigned_transaction - Decode an unsigned transaction
  • recover_transaction_signer - Recover signer from signed transaction
Transaction Analysis
  • estimate_transaction_cost - Estimate gas cost in ETH
  • validate_transaction - Validate transaction fields
  • compare_transactions - Compare two transactions
Gas Utilities
  • convert_gas_units - Convert between wei, gwei, ether
  • calculate_max_cost - Calculate maximum transaction cost
Data Encoding
  • encode_transfer - Encode ERC-20 transfer calldata
  • encode_function_call - Encode arbitrary function call
  • decode_calldata - Decode transaction input data
Serialization
  • serialize_transaction - RLP encode a transaction
Resources (4 total)
  • transaction-types - Documentation on transaction types (Legacy, EIP-2930, EIP-1559)
  • gas-estimation - Guide to gas estimation and optimization
  • chain-ids - Chain ID reference for all networks
  • eip-1559 - EIP-1559 fee mechanism explained
Prompts (4 total)
  • build_transfer_workflow - Guide through building an ETH transfer
  • token_transfer_workflow - Guide through ERC-20 token transfers
  • decode_transaction_workflow - Help decode and analyze transactions
  • gas_optimization_workflow - Optimize transaction gas costs

Installation

pip install transaction-mcp-server

Or install from source:

cd transaction-mcp-server
pip install -e .

Usage

Run the server
transaction-mcp-server
Configure in Claude Desktop
{
  "mcpServers": {
    "transaction": {
      "command": "transaction-mcp-server"
    }
  }
}

Tool Examples

Sign a Simple Transfer
# Input
{
    "to": "0x742d35Cc6634C0532925a3b844Bc9e7595f5b4E2",
    "value": "1000000000000000000",  # 1 ETH in wei
    "nonce": 0,
    "chain_id": 1,
    "max_fee_per_gas": "30000000000",
    "max_priority_fee_per_gas": "2000000000",
    "private_key": "0x..."
}

# Output
{
    "raw_transaction": "0x02f8...",
    "transaction_hash": "0x...",
    "from": "0xABC...",
    "to": "0x742...",
    "value_eth": "1.0",
    "type": "EIP-1559"
}
Decode a Transaction
# Input
{
    "raw_transaction": "0x02f8..."
}

# Output
{
    "type": "EIP-1559 (Type 2)",
    "chain_id": 1,
    "nonce": 0,
    "to": "0x742...",
    "value_wei": "1000000000000000000",
    "value_eth": "1.0",
    "max_fee_per_gas_gwei": "30.0",
    "max_priority_fee_per_gas_gwei": "2.0"
}

Transaction Types

TypeEIPDescription
Legacy (0)-Original Ethereum transactions
Access List (1)EIP-2930With access list for gas savings
Dynamic Fee (2)EIP-1559Base fee + priority fee model

Security Notes

  1. Private keys are NEVER logged or persisted
  2. Transactions are signed OFFLINE - no network connection
  3. Raw transactions must be broadcast separately
  4. For educational and development purposes only

Chain IDs

ChainID
Ethereum Mainnet1
Goerli5
Sepolia11155111
Polygon137
Arbitrum One42161
Optimism10
Base8453

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.