NFT数据扫描服务

一个基于Model Context Protocol (MCP)的服务器,提供跨多链的实时NFT区块链数据,包括市场数据、所有权信息和交易历史,适用于AI助手和开发者进行NFT市场分析和投资组合管理。

  • by agentis-dev
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 agentis-dev/nft-scanner-mcp

使用说明

NFT扫描仪MCP服务器

全面 模型上下文协议(MCP)服务器 它为跨多个网络的NFT提供实时区块链数据。专为AI助手访问实时NFT市场数据、所有权信息和交易历史而构建。

🚀 特性

实时NFT数据

  • 收集分析:底价、成交量、市值、业主数量
  • 实时元数据:令牌详细信息、属性、所有权跟踪
  • 交易历史记录:转让、销售、市场活动
  • 多链支持:以太坊、Polygon、Arbitrum、乐观主义

市场情报

  • 底价跟踪:OpenSea、LooksCare、Blur的实时价格
  • 销售历史:详细的交易数据,包括定价和时间戳
  • 收藏搜索:按名称或描述查找NFT项目
  • 钱包分析:任何地址的完整NFT组合

数据源

📊 可用工具

工具 描述 用例
getNFTCollectionDetails 完整的收集统计数据和元数据 市场研究、投资组合分析
getNFTMetadata 特定令牌详细信息和所有权 令牌验证、特征分析
getNFTTransfers 交易历史和转让 所有权跟踪、市场活动
getNFTSales 市场销售和定价数据 价格发现、市场趋势
getWalletNFTs 钱包拥有的所有NFT 投资组合管理、持有人分析
getNFTFloorPrice 各市场当前底价 价格监控、套利
searchNFTCollections 按名称/描述查找收藏 发现、研究

🛠️ 安装和设置

先决条件

  • Node.js 18+
  • npm 或 纱线
  • API密钥(请参阅下面的配置)

快速开始

  1. 克隆并安装
git clone <repository-url>
cd nft-scanner-mcp
npm install
  1. 配置API密钥
cp env.example .env
# Edit .env with your API keys
  1. 运行服务器
npm start
  1. 使用演示进行测试
npm test

🔑 API配置

必需:Alchemy API密钥

# Get free API key at: https://dashboard.alchemy.com/
ALCHEMY_API_KEY=your_alchemy_api_key_here

可选:增强型数据源

# OpenSea API (recommended for market data)
OPENSEA_API_KEY=your_opensea_api_key_here

# NFTScan API (additional validation)
NFTSCAN_API_KEY=your_nftscan_api_key_here

获取API密钥

  1. 炼金术 (必填)

    • 注册免费帐户
    • 创建新应用
    • 从仪表板复制API密钥
  2. OpenSea (推荐)

    • 申请API访问权限
    • 增强的市场数据
  3. NFTS扫描 (可选)

    • 用于验证的其他数据源

💡 使用示例

获取收藏详细信息

{
  "name": "getNFTCollectionDetails",
  "arguments": {
    "contractAddress": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
    "chain": "ethereum"
  }
}

答复:

{
  "collectionDetails": {
    "name": "Bored Ape Yacht Club",
    "totalSupply": "10000",
    "marketStats": {
      "floorPrice": 15.75,
      "totalVolume": 682544.23,
      "numOwners": 5420,
      "sevenDayVolume": 1205.67
    }
  }
}

获取NFT元数据

{
  "name": "getNFTMetadata", 
  "arguments": {
    "contractAddress": "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
    "tokenId": "1000"
  }
}

检查钱包NFT

{
  "name": "getWalletNFTs",
  "arguments": {
    "walletAddress": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
    "limit": 50
  }
}

搜索收藏

{
  "name": "searchNFTCollections",
  "arguments": {
    "query": "Azuki",
    "limit": 10
  }
}

🌐 支持的网络

网络 链ID 状态
以太坊 ethereum ✅ 全面支持
多边形 polygon ✅ 全面支持
仲裁 arbitrum ✅ 全面支持
乐观主义 optimism ✅ 全面支持

🔍 数据结构

收集详细信息响应

{
  timestamp: string;
  contractAddress: string;
  chain: string;
  collectionDetails: {
    name: string;
    description: string;
    totalSupply: number;
    symbol: string;
    contractType: string;
    verified: boolean;
    marketStats: {
      floorPrice: number;
      totalVolume: number;
      totalSales: number;
      averagePrice: number;
      numOwners: number;
      oneDayVolume: number;
      sevenDayVolume: number;
    };
    social: {
      website: string;
      discord: string;
      twitter: string;
    };
  };
}

NFT元数据响应

{
  timestamp: string;
  contractAddress: string;
  tokenId: string;
  metadata: {
    name: string;
    description: string;
    image: string;
    attributes: Array<{
      trait_type: string;
      value: string;
    }>;
    owner: string;
    tokenType: string;
  };
}

⚡ 性能和速率限制

  • 内置速率限制:每秒1个请求
  • 自动检索:最多3次重试,采用指数回退
  • 请求缓存:智能缓存可减少API调用
  • 错误处理:API不可用时性能下降

🎯 实际应用

AI助理

  • 市场分析:“BAYC目前的底价是多少?”
  • 投资组合跟踪:“显示钱包0x中的所有NFT…”
  • 收藏研究:“查找Azuki系列的相关信息”
  • 交易监控:“获取CryptoPunks的最新销售额”

对于开发者

  • NFT投资组合应用程序:实时钱包跟踪
  • 市场仪表板:实时收集统计
  • 交易机器人:底价监控
  • 分析平台:历史交易数据

🔧 发展

项目结构

nft-scanner-mcp/
├── nft-scanner-mcp-server.js    # Main MCP server
├── demo-nft-scanner-mcp.js      # Demo/testing script
├── package.json                 # Dependencies
├── env.example                  # Environment template
└── README.md                    # This file

运行测试

# Run demo with sample data
npm test

# Start server in development mode
npm run dev

添加新功能

服务器被设计为可扩展的。要添加新的NFT数据源,请执行以下操作:

  1. 在中添加新工具定义 setupToolHandlers()
  2. 实施相应的方法
  3. 更新速率限制和错误处理
  4. 在演示脚本中添加示例用法

🛡️ 错误处理

服务器包括全面的错误处理:

  • API故障:自动回退到其他数据源
  • 速率限制:具有重试逻辑的指数回退
  • 地址无效:验证和清除错误消息
  • 网络问题:优雅的降级和超时处理

📈 监控

所有请求包括:

  • 时间戳:ISO 8601格式
  • 数据源:明确数据来源
  • 请求ID:用于调试和跟踪
  • 性能指标:响应时间和成功率

🤝 贡献

  1. 分叉存储库
  2. 创建特征分支(git checkout -b feature/amazing-feature)
  3. 提交更改(git commit -m 'Add amazing feature')
  4. 推送到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

📄 许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

🔗 相关项目

📞 支持


内置于❤️ Web3社区