mcpField
N
nft

nft

github.com/aibtcdevその他11151 回インストール1 日前に更新
リポジトリ

nft について

nft は、Stacks L2 上の SIP-009 NFT を照会・転送するコマンドラインスキルです。保有状況、メタデータ、所有者、コレクション情報、転送履歴を確認できます。照会にウォレットは不要ですが、転送にはロック解除済みウォレットが必要です。

主な機能

  1. 01アドレスやコレクションで保有NFTを絞り込み
  2. 02SIP-016 NFTメタデータの取得
  3. 03NFTの現在の所有者を確認
  4. 04コレクション情報とコントラクト関数の表示
  5. 05コレクションの転送履歴を閲覧
  6. 06NFTを指定アドレスへ転送

活用シーン

  1. 01アドレスが保有するNFTの確認
  2. 02NFTのメタデータと現在の所有者の照合
  3. 03コレクションの供給量と関数の確認
  4. 04コレクションの転送追跡やNFTの送付

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/aibtcdev/skills --skill nft

インストール後、Claude Code で/nftを入力して読み込まれたか確認します。

同梱ファイルAGENT.mdnft.ts

詳細

NFT スキル

Stacks L2 で SIP-009 NFT(非代替性トークン)の操作を行います。転送操作にはロック解除済みのウォレットが必要です(最初に bun run wallet/wallet.ts unlock を実行してください)。照会操作はウォレットなしで実行できます。

使用方法

bun run nft/nft.ts <subcommand> [options]

サブコマンド

get-holdings

アドレスが所有するすべての NFT を一覧表示します。

bun run nft/nft.ts get-holdings [--address <addr>] [--contract-id <id>] [--limit <n>] [--offset <n>]

オプション:

  • --address(任意)— 照会する Stacks アドレス(省略時はアクティブなウォレットを使用します)
  • --contract-id(任意)— 特定の NFT コレクションのコントラクト ID で絞り込みます
  • --limit(任意)— 結果の最大数(デフォルト:20)
  • --offset(任意)— ページネーションのオフセット(デフォルト:0)

出力:

{
  "address": "SP2...",
  "network": "mainnet",
  "total": 5,
  "nfts": [
    { "collection": "SP2....nft-contract::my-nft", "tokenId": "u1" },
    { "collection": "SP2....nft-contract::my-nft", "tokenId": "u2" }
  ]
}
get-metadata

特定の NFT のメタデータを取得します(SIP-016)。

bun run nft/nft.ts get-metadata --contract-id <id> --token-id <n>

オプション:

  • --contract-id(必須)— NFT コレクションのコントラクト ID(例:SP2....my-nft)
  • --token-id(必須)— NFT のトークン ID(整数)

出力:

{
  "contractId": "SP2....my-nft",
  "tokenId": 1,
  "network": "mainnet",
  "metadata": {
    "name": "My NFT #1",
    "description": "...",
    "image": "https://..."
  }
}
transfer

NFT(SIP-009)を受取人のアドレスに転送します。ロック解除済みのウォレットが必要です。

bun run nft/nft.ts transfer --contract-id <id> --token-id <n> --recipient <addr> [--fee low|medium|high|<microStx>]

オプション:

  • --contract-id(必須)— NFT コレクションのコントラクト ID
  • --token-id(必須)— 転送する NFT のトークン ID(整数)
  • --recipient(必須)— 送信先の Stacks アドレス
  • --fee(任意)— 手数料のプリセット(low|medium|high)または micro-STX の金額。省略時は自動で見積もられます

出力:

{
  "success": true,
  "txid": "abc123...",
  "from": "SP2...",
  "recipient": "SP3...",
  "contractId": "SP2....my-nft",
  "tokenId": 1,
  "network": "mainnet",
  "explorerUrl": "https://explorer.hiro.so/txid/abc123...?chain=mainnet"
}
get-owner

特定の NFT の現在の所有者を取得します。

bun run nft/nft.ts get-owner --contract-id <id> --token-id <n>

オプション:

  • --contract-id(必須)— NFT コレクションのコントラクト ID
  • --token-id(必須)— NFT のトークン ID(整数)

出力:

{
  "contractId": "SP2....my-nft",
  "tokenId": 1,
  "network": "mainnet",
  "owner": "SP2..."
}
get-collection-info

NFT コレクションの名前、総供給量、利用可能な関数などの情報を取得します。

bun run nft/nft.ts get-collection-info --contract-id <id>

オプション:

  • --contract-id(必須)— NFT コレクションのコントラクト ID

出力:

{
  "network": "mainnet",
  "contractId": "SP2....my-nft",
  "name": "my-nft",
  "totalSupply": 10000,
  "functions": ["transfer", "get-owner", "get-last-token-id", "get-token-uri"]
}
get-history

コレクション内の NFT の転送履歴を取得します。

bun run nft/nft.ts get-history --contract-id <id> [--limit <n>] [--offset <n>]

オプション:

  • --contract-id(必須)— NFT コレクションのコントラクト ID
  • --limit(任意)— 結果の最大数(デフォルト:20)
  • --offset(任意)— ページネーションのオフセット(デフォルト:0)

出力:

{
  "contractId": "SP2....my-nft",
  "network": "mainnet",
  "total": 150,
  "events": [
    {
      "sender": "SP2...",
      "recipient": "SP3...",
      "tokenId": "u1",
      "txId": "abc123...",
      "blockHeight": 150000
    }
  ]
}

注意事項

  • 照会操作(get-holdings、get-metadata、get-owner、get-collection-info、get-history)では、公開されている Hiro API を使用します
  • 転送操作にはロック解除済みのウォレットが必要です
  • NFT のトークン ID は通常、1 から始まる正の整数です
  • コレクションのコントラクト ID は次の形式です:SP<deployer-address>.<contract-name>

コメント