Ashfields MCP Server
Burn $ASH to mint on-chain NFTs on Ethereum. No browser. Two agent tool calls.
Installation
Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).
ashfields-mcp-serverclaude mcp add ashfields-mcp-server -- npx -y ashfields-mcp-server@1.0.0
{
"mcpServers": {
"ashfields-mcp-server": {
"command": "npx",
"args": [
"-y",
"ashfields-mcp-server@1.0.0"
]
}
}
}
Documentation
Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.
Sommaire
Ashfields MCP Server
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.
| Arg | Type | Required |
|---|---|---|
| — | — | — |
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.
| Arg | Type | Required |
|---|---|---|
| — | — | — |
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.
| Arg | Type | Required | Description |
|---|---|---|---|
quantity | number | yes | Tokens 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).
| Arg | Type | Required | Description |
|---|---|---|---|
quantity | number | yes | Tokens 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.
| Arg | Type | Required |
|---|---|---|
| — | — | — |
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)
| Contract | Address |
|---|---|
| Ashfields NFT (ASHF) | 0x068FB5Ac232462f642F34B2bAa81750Cc2F00DAA |
| $ASH Token | 0x7e6aed913DEAA38A486514AD75Bdf8E48Fa74a17 |
| RoyaltyDistributor | 0xF3b4063958dB5814E31aA745FbbfD4c0006E52A6 |
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
Questions fréquentes
Qu'est-ce que Ashfields MCP Server ?
Burn $ASH to mint on-chain NFTs on Ethereum. No browser. Two agent tool calls.
Comment installer Ashfields MCP Server ?
Il s'exécute sur votre machine. Dans Claude Code : claude mcp add ashfields-mcp-server -- npx -y ashfields-mcp-server@1.0.0. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.
Faut-il une clé API pour Ashfields MCP Server ?
Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.
Ashfields MCP Server est-il open source ?
Oui. Son code est sur GitHub sous licence MIT.
Qui maintient Ashfields MCP Server ?
Il est publié par smoke711711. AI.tn le référence sans le maintenir ni le recommander.
Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.