mcpField
A
Ashfields MCP Server

Ashfields MCP Server

Local
github.com/smoke711711Finance0Updated 31w ago

About Ashfields MCP Server

Ashfields MCP Server lets agents check a wallet and mint Ashfields NFTs on Ethereum by burning $ASH. It provides tools for mint status, token approval, minting, and royalty distribution.

Key features

  1. 01Check mint status and contract details
  2. 02Inspect wallet balances and allowance
  3. 03Approve $ASH spending
  4. 04Mint NFTs and return token IDs
  5. 05Trigger royalty distribution

Use cases

  1. 01Check wallet readiness before minting
  2. 02Mint Ashfields NFTs from an agent
  3. 03Trigger distribution of accumulated royalties

MCP support

It exposes Ethereum wallet and contract operations as tools for MCP clients, including status checks, approvals, NFT minting, and royalty distribution.

Configuration

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

mcp.json · Universal config
{
"mcpServers": {
"smoke711711-ashfields": {
"command": "npx",
"args": [
"-y",
"ashfields-mcp-server"
]
}
}
}
Run commandnpx -y ashfields-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
npmashfields-mcp-server1.0.0

Tools

5

Saved tool list · updated 3w ago

This tool takes no parameters.

Details

From the project README

Ashfields MCP Server

MIT License npm MCP

The first MCP server that burns an ERC-20 token to mint an NFT. Approve $ASH, call mint() — 100,000 tokens permanently destroyed, fully on-chain animated SVG appears on Ethereum. No ETH payment. No browser. Two contract calls from any agent.

Ashfields — 10,000 fully on-chain animated SVG NFTs. Minting burns 100,000 $ASH permanently. Earn $ASH by burning dead NFTs on deadjpg.lol.


Installation

git clone https://github.com/smoke711711/ashfields-mcp-server
cd ashfields-mcp-server
npm install

Or via npx (no clone needed):

npx ashfields-mcp-server

Requirements

  • Node.js 18+
  • A wallet with:
    • Enough $ASH to mint (100,000 $ASH per token)
    • A small amount of ETH for gas (~0.001 ETH per mint)

Configuration

export WALLET_PRIVATE_KEY=0xYOUR_PRIVATE_KEY
# Optional — defaults to a public Ethereum node
export ETH_RPC_URL=https://eth-mainnet.g.alchemy.com/v2/YOUR_KEY

Add to Claude Desktop

Edit claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "ashfields": {
      "command": "node",
      "args": ["/absolute/path/to/ashfields-mcp-server/index.js"],
      "env": {
        "WALLET_PRIVATE_KEY": "0xYOUR_PRIVATE_KEY",
        "ETH_RPC_URL": "https://ethereum.publicnode.com"
      }
    }
  }
}

Restart Claude Desktop — the tools will appear automatically.


Available Tools

get_mint_info

Returns current mint status: price per token, total minted, remaining supply, whether minting is active, and contract addresses.

ArgTypeRequired
———

Returns: { mintActive, totalMinted, remainingSupply, pricePerToken, priceFormatted, maxPerTransaction, contracts }


check_wallet

Returns the configured wallet address, $ASH balance, ETH balance, current $ASH allowance for the Ashfields contract, and how many tokens it can mint right now.

ArgTypeRequired
———

Returns: { walletAddress, ashBalance, ashAllowance, ethBalance, canMintThisTx, needsApproval }


approve_ash

Approves the Ashfields contract to spend $ASH from the wallet. Waits for on-chain confirmation. Only needed if allowance is insufficient — mint_ashfield handles this automatically.

ArgTypeRequiredDescription
quantitynumberyesTokens to approve for (1–5). Approves quantity × 100,000 ASH.

Returns: { status, approved, forTokens, wallet, txHash, etherscan }


mint_ashfield

Full mint flow: checks allowance, auto-approves if needed, mints, waits for confirmation. Returns minted token IDs and OpenSea link. Burns 100,000 $ASH per token permanently (sent to 0xdead).

ArgTypeRequiredDescription
quantitynumberyesTokens to mint (1–5 per transaction).

Returns: { status, minted, ashBurned, tokenIds, wallet, approvalTx, mintTx, etherscan, opensea }

Example response:

{
  "status": "success",
  "minted": 2,
  "ashBurned": "200,000 ASH",
  "tokenIds": ["8377", "220"],
  "approvalTx": "0xfc33...",
  "mintTx": "0xe2e0...",
  "etherscan": "https://etherscan.io/tx/0xe2e0...",
  "opensea": "https://opensea.io/collection/ashfields-lol"
}

trigger_distribute

Calls distribute() on the RoyaltyDistributor contract. Permissionless — any wallet can trigger this at any time. Splits accumulated royalty ETH: 1% creator · 1% $ASH team · 8% Uniswap buyback → burned to 0xdead. Requires ≥ 0.005 ETH in the distributor.

ArgTypeRequired
———

Returns: { status, txHash, etherscan, note }


Example Agent Prompt

"Check my wallet balance, verify I have enough $ASH to mint 2 Ashfields, then mint them and return the token IDs and OpenSea links."


Contract Addresses (Ethereum Mainnet)

ContractAddress
Ashfields NFT (ASHF)0x068FB5Ac232462f642F34B2bAa81750Cc2F00DAA
$ASH Token0x7e6aed913DEAA38A486514AD75Bdf8E48Fa74a17
RoyaltyDistributor0xF3b4063958dB5814E31aA745FbbfD4c0006E52A6

Security

  • Private key is read from environment variables only — never passed as a tool argument
  • Server communicates via stdio — no network port is opened
  • Only the configured wallet can sign transactions
  • trigger_distribute() is permissionless by contract design — safe for any wallet to call

Machine-Readable Spec

curl https://ashfields-mint.vercel.app/api/mint-info

Links


License

MIT © 2025 smoke711711

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.