NFT扫描仪MCP服务器
 ](https://nodejs.org/) 
全面 模型上下文协议(MCP)服务器 它为跨多个网络的NFT提供实时区块链数据。专为AI助手访问实时NFT市场数据、所有权信息和交易历史而构建。
🚀 特性
实时NFT数据
- 收集分析:底价、成交量、市值、业主数量
- 实时元数据:令牌详细信息、属性、所有权跟踪
- 交易历史记录:转让、销售、市场活动
- 多链支持:以太坊、Polygon、Arbitrum、乐观主义
市场情报
- 底价跟踪:OpenSea、LooksCare、Blur的实时价格
- 销售历史:详细的交易数据,包括定价和时间戳
- 收藏搜索:按名称或描述查找NFT项目
- 钱包分析:任何地址的完整NFT组合
数据源
- Alchemy NFT API -主要区块链数据
- OpenSea API -市场统计和事件
- NFTScan API -附加数据验证
📊 可用工具
| 工具 | 描述 | 用例 |
|---|---|---|
getNFTCollectionDetails | 完整的收集统计数据和元数据 | 市场研究、投资组合分析 |
getNFTMetadata | 特定令牌详细信息和所有权 | 令牌验证、特征分析 |
getNFTTransfers | 交易历史和转让 | 所有权跟踪、市场活动 |
getNFTSales | 市场销售和定价数据 | 价格发现、市场趋势 |
getWalletNFTs | 钱包拥有的所有NFT | 投资组合管理、持有人分析 |
getNFTFloorPrice | 各市场当前底价 | 价格监控、套利 |
searchNFTCollections | 按名称/描述查找收藏 | 发现、研究 |
🛠️ 安装和设置
先决条件
- Node.js 18+
- npm 或 纱线
- API密钥(请参阅下面的配置)
快速开始
- 克隆并安装
git clone
cd nft-scanner-mcp
npm install- 配置API密钥
cp env.example .env
# Edit .env with your API keys- 运行服务器
npm start- 使用演示进行测试
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密钥
- 炼金术 (必填)
- 注册免费帐户 - 创建新应用 - 从仪表板复制API密钥
- OpenSea (推荐)
- 申请API访问权限 - 增强的市场数据
- 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;
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数据源,请执行以下操作:
- 在中添加新工具定义
setupToolHandlers() - 实施相应的方法
- 更新速率限制和错误处理
- 在演示脚本中添加示例用法
🛡️ 错误处理
服务器包括全面的错误处理:
- API故障:自动回退到其他数据源
- 速率限制:具有重试逻辑的指数回退
- 地址无效:验证和清除错误消息
- 网络问题:优雅的降级和超时处理
📈 监控
所有请求包括:
- 时间戳:ISO 8601格式
- 数据源:明确数据来源
- 请求ID:用于调试和跟踪
- 性能指标:响应时间和成功率
🤝 贡献
- 分叉存储库
- 创建特征分支(
git checkout -b feature/amazing-feature) - 提交更改(
git commit -m 'Add amazing feature') - 推送到分支(
git push origin feature/amazing-feature) - 打开拉取请求
📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
🔗 相关项目
- 实时加密MCP -加密货币数据
- 模型上下文协议 -MCP官方文件
- Alchemy NFT API -主要数据源
📞 支持
- 问题:
- 文档: MCP文件
- 社区: Discord 的中文翻译是“不和谐”或“纷争”。 | 推特
______________________________________________________________________
内置于❤️ Web3社区
