mcpField
N
nftdata-mcp

nftdata-mcp

本地服务
github.com/Nomad07其他2今天更新

关于 nftdata-mcp

通过 NFT Data API 提供 OpenSea 系列市场数据的 MCP 服务,适用于需要查询系列统计信息的 MCP 客户端,并会自动在 Base 上为每次请求处理 x402 付款。

主要功能

  1. 01按 OpenSea 系列 slug 获取市场数据
  2. 02返回价格、销售额、交易量和系列数量
  3. 03自动处理 Base 上的 x402 付款
  4. 04按 slug 缓存成功结果 5 分钟

适用场景

  1. 01查询系列地板价和近期交易量
  2. 02查看系列销售数据和持有者数量

MCP 相关

服务向 MCP 客户端提供单个 `get_collection_data` 工具,用于获取 NFT Data API 的系列数据,并在 Base 上处理 x402 付款流程。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"nomad07-nftdata": {
"command": "npx",
"args": [
"-y",
"nftdata-mcp"
],
"env": {
"EVM_PRIVATE_KEY": "<EVM_PRIVATE_KEY>",
"NFTDATA_MAX_REQUESTS": "<NFTDATA_MAX_REQUESTS>"
}
}
}
}
启动命令npx -y nftdata-mcp
需要配置的环境变量
EVM_PRIVATE_KEY密钥Private key of a dedicated wallet holding a small amount of USDC on Base. Pays $0.002 per request via x402.
NFTDATA_MAX_REQUESTSMaximum signed payments per session (integer 1-1000, default 100).

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmnftdata-mcp1.0.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

nftdata-mcp

一个 MCP 服务,可将 NFT Data API 作为单个工具提供给 AI 客户端(Claude Desktop、Cursor 等)。它会自动处理 x402 支付流程。

工具

get_collection_data

通过一次调用返回 OpenSea 收藏品市场数据。

参数类型描述
collectionstringOpenSea 收藏品 slug,来自 opensea.io/collection/<slug>(例如 azuki)

返回字段:name、slug、contracts、floor_price、floor_price_currency、one_day_sales、one_day_volume、seven_day_sales、seven_day_volume、thirty_day_sales、thirty_day_volume、total_sales、total_volume、num_owners、total_supply、created_date。交易量和价格的币种会在对应的 *_currency 字段中给出(ETH、USDC、HYPE 等)。

每次调用费用为 $0.002(在 Base 上以 USDC 支付,通过 x402 完成)。

要求

  • Node.js 20+
  • 一个已充值少量 Base 上 USDC 的钱包私钥

请使用余额较少的专用钱包。切勿使用主钱包。

快速开始(npx)

添加到 claude_desktop_config.json:

{
  "mcpServers": {
    "nftdata": {
      "command": "npx",
      "args": ["-y", "nftdata-mcp"],
      "env": {
        "EVM_PRIVATE_KEY": "0x..."
      }
    }
  }
}

重启 Claude Desktop,然后可以提问,例如:“azuki 的地板价和 7 天交易量是多少?”

从源代码运行

npm install

仅为当前 shell 会话设置密钥,然后启动:

# macOS / Linux
export EVM_PRIVATE_KEY=0x...
npm start
# Windows PowerShell
$env:EVM_PRIVATE_KEY = "0x..."
npm start
:: Windows cmd
set EVM_PRIVATE_KEY=0x...
npm start

服务会在 stdin 上等待 MCP 客户端,因此手动运行时不会显示任何输出;它应由 MCP 客户端启动。

要通过 Claude Desktop 使用本地检出版本,请将 args 指向 ["tsx", "/absolute/path/to/nftdata-mcp/server.ts"],并设置 "command": "npx"。

构建

npm run build   # compiles server.ts and lib.ts to dist/
npm test        # offline unit tests, no network and no payments

配置

变量必需默认值描述
EVM_PRIVATE_KEY是–用于支付调用费用的钱包私钥(0x + 64 个十六进制字符)
NFTDATA_MAX_REQUESTS否100每个会话最多签署的支付次数。整数范围为 1–1000;其他值会导致启动时报错
NFTDATA_TIMEOUT_MS否15000请求超时时间,单位为毫秒(1000–60000)
NFTDATA_URL否https://www.nftdata.app/api/get-collection-data仅接受 NFT Data 官方端点(www.nftdata.app 或 nftdata.app);其他值会导致启动停止

行为

  • 发送 POST /api/get-collection-data,请求体为 {"collection": "<slug>"}。
  • slug 会先去除首尾空格并转换为小写,然后必须符合 ^[a-z0-9][a-z0-9_-]*$(最多 100 个字符);否则不会发送请求。
  • x402 客户端仅注册 Base 主网(eip155:8453)。签署前会检查每个支付挑战:方案为 exact,网络为 Base 主网,代币为 Base 上的 USDC,金额恰好为 2000 个最小单位($0.002),且收款方必须为 0x344143199642e87320785823c20c2df107d17534。任何不符合条件的挑战都会被拒绝,不予签署。
  • 每笔已签署的支付都会计入 NFTDATA_MAX_REQUESTS,包括之后失败或超时的请求所对应的支付。
  • 不会自动重试:一次工具调用最多尝试支付一次。
  • 按 slug 缓存成功响应 5 分钟。并发的相同调用会共用同一个进行中的请求。
  • 对 400(slug 无效)、404(未找到收藏品)、429(速率限制,附带 Retry-After)、超时及其他失败,返回通用错误;不会将服务端和支付详情传递给 MCP 客户端。

限制

  • 仅支持 Base 上的 x402。此封装尚未实现 Solana 和 MPP 支付方式。
  • 预期的收款地址硬编码在 lib.ts 中。如果 NFT Data 的收款地址发生变化,请更新 OFFICIAL_PAY_TO 并发布新版本。
  • 支付钩子(server.ts)依赖已安装的 @x402/* SDK,且不在离线测试的覆盖范围内。
  • x402 客户端库变化很快;如果导入失败,请查看当前的 x402 文档。

API 参考

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。