mcp claude

Local 2025-09-01 01:08:12 0

An MCP server that helps users create NFT collections, deploy smart contracts to the Monad blockchain, and generate mint websites with Claude AI integration.


Model Context Protocol (MCP) kullanılarak geliştirilmiş, NFT koleksiyonları oluşturan, akıllı kontratlar deploy eden ve mint web sayfaları oluşturan bir araç.

Özellikler

  • ?️ NFT koleksiyonları oluşturma
  • ? Monad zincirine kontrat deploy etme
  • ? IPFS veya yerel depolama entegrasyonu
  • ? Otomatik mint web sayfası oluşturma
  • ? Claude AI entegrasyonu

Kurulum

  1. Repository yi klonlayın:

    git clone https://github.com/KULLANICI_ADI/REPO_ADI.git
    cd REPO_ADI

  2. Bağımlılıkları yükleyin:

    npm install

  3. .env dosyasını oluşturun:

    # Özel Anahtar (Bu değeri gerçek private key ile değiştirin)
    PRIVATE_KEY=0x...
    
    # API Port
    PORT=3000
    
    # Network
    RPC_URL=https://testnet-rpc.monad.xyz/

  4. Projeyi build edin ve başlatın:

    npm run build
    npm start

Kullanım

MCP API si şu endpoint üzerinden sunulmaktadır: http://localhost:3000/api/mcp

Örnek İstekler

  1. NFT Koleksiyonu Oluşturma:

    curl -X POST http://localhost:3000/api/mcp -H "Content-Type: application/json" -d  {
      "tool": "create-nft",
      "params": {
        "collectionName": "My NFT Collection",
        "symbol": "MNFT",
        "totalSupply": 100,
        "mintPrice": 0.05,
        "description": "Örnek NFT koleksiyonu",
        "imageZipPath": "./nft-images.zip"
      }
    } 

  2. Mint Web Sayfası Oluşturma:

    curl -X POST http://localhost:3000/api/mcp -H "Content-Type: application/json" -d  {
      "tool": "generate-website",
      "params": {
        "title": "My NFT Collection",
        "description": "Örnek NFT koleksiyonu mint sayfası",
        "collectionInfo": {
          "name": "My NFT Collection",
          "supply": 100,
          "price": "0.05",
          "contractAddress": "0x87F735a3B5a24a587c8C4588bDB3fD2c1857C40D"
        }
      }
    } 

Claude AI ile Entegrasyon

Bu MCP aracı Claude AI ile entegre çalışabilir. Claude a şu şekilde kullanım talimatları verebilirsiniz:

  1. Claude a mcp-config.json dosyasını gösterin
  2. Claude a şu talimatlara göre istek formatını oluşturmasını söyleyin:
Bu MCP aracını kullanarak bir NFT koleksiyonu oluşturmak istiyorum.
Koleksiyon adı "Claude NFT", sembolü "CNFT", toplam arzı 50, mint fiyatı 0.01 ETH olsun.
Bana doğru JSON formatında istek oluşturur musun?
  1. Claude şu formatta bir istek oluşturacaktır:
{
  "tool": "create-nft",
  "params": {
    "collectionName": "Claude NFT",
    "symbol": "CNFT",
    "totalSupply": 50,
    "mintPrice": 0.01,
    "description": "Claude tarafından oluşturulmuş NFT koleksiyonu",
    "imageZipPath": "./nft-images.zip"
  }
}

Bu isteği MCP sunucunuza gönderebilir ve sonuçları Claude ile paylaşabilirsiniz.

Cursor Entegrasyonu

MCP aracını Cursor IDE ile entegre etmek için:

  1. .cursor/mcp.json dosyasını oluşturun
  2. Cursor u yeniden başlatın
  3. MCP menüsünden aracınıza erişebilirsiniz

Sorun Giderme

  • Private key sorunları için .env dosyasını veya context parametresini kontrol edin
  • IPFS hatalarında yerel dosya sistemini kullanmayı deneyin
  • Mint işlemi başarısız olursa, Monad Explorer üzerinden işlemi kontrol edin

Lisans

MIT

Private Key Usage

When deploying NFT contracts, the tool handles private keys in the following priority:

  1. Context Object (Recommended): Pass your private key securely in the request context
  2. Environment Variable: Falls back to PRIVATE_KEY in your .env file
  3. Dummy Key: Uses a default dummy key (only works for local testing)

Example with Context:

const nftLaunchTool = new NftLaunchTool();
const context = new Map();

// Set private key securely in context
context.set( privateKey ,  your-private-key-here );

// Create NFT with the provided context
const result = await nftLaunchTool.createNft({
  collectionName:  My NFT Collection ,
  symbol:  MNFT ,
  description:  A unique collection of digital art ,
  totalSupply: 100,
  mintPrice:  0.05 ,
  imageZipPath:  ./path/to/images.zip ,
}, context);

Direct Contract Deployment:

You can also deploy a contract directly with the private key in context:

const deployResult = await nftLaunchTool.deployContract({
  collectionName:  My NFT Collection ,
  symbol:  MNFT ,
  totalSupply: 100,
  mintPrice:  0.05 ,
  metadataUri:  ipfs://QmYourMetadataCID ,
  rpcUrl:  https://mainnet.infura.io/v3/YOUR_API_KEY  // Optional - defaults to localhost:8545
}, context);

console.log(`Contract deployed at: ${deployResult.contractAddress}`);

Security Notes

  • Never hardcode private keys in your application code
  • For production use, consider using environment variables or secure secret management solutions
  • The tool will automatically warn you if a dummy private key is being used
  • Always use HTTPS when transmitting private keys in API requests
  • Consider using hardware wallets or key management services for high-value deployments
  • If no private key is provided in context or environment, a dummy key will be used (only works for local testing)