Chainlens · Capability

Chainlens — Nft-Controller

Chainlens — Nft-Controller. 8 operations. Lead operation: Chainlens Retrieve NFTs.. Self-contained Naftiko capability covering one Chainlens business surface.

Run with Naftiko ChainlensNft-Controller

What You Can Do

GET
Findtokens2 — Chainlens Retrieve NFTs.
/v1/nfts
GET
Gettoken3 — Chainlens Retrieve a NFT by its address hash.
/v1/nfts/{addresshash}
GET
Findnftcollections — Chainlens Retrieve all NFTs with Metadata.
/v1/nfts/{addresshash}/collections
GET
Finderc1155transfers2 — Chainlens Retrieve transfers of an ERC1155 Token.
/v1/nfts/{addresshash}/erc1155/transfers
GET
Finderc721transfers2 — Chainlens Retrieve transfers of an ERC721 Token.
/v1/nfts/{addresshash}/erc721/transfers
GET
Gettokenholders2 — Chainlens Retrieve a list of token holders by token contract address hash.
/v1/nfts/{addresshash}/holders
GET
Findtokensbytokenid1 — Chainlens Retrieve NFT contracts by tokenId.
/v1/nfts/{addresshash}/{tokenid}
GET
Gettokenmetadata1 — Chainlens Retrieve token metadata for a given token contract address and token id.
/v1/nfts/{addresshash}/{tokenid}/metadata

MCP Tools

chainlens-retrieve-nfts

Chainlens Retrieve NFTs.

read-only idempotent
chainlens-retrieve-nft-its-address

Chainlens Retrieve a NFT by its address hash.

read-only idempotent
chainlens-retrieve-all-nfts-metadata

Chainlens Retrieve all NFTs with Metadata.

read-only idempotent
chainlens-retrieve-transfers-erc1155-token

Chainlens Retrieve transfers of an ERC1155 Token.

read-only idempotent
chainlens-retrieve-transfers-erc721-token

Chainlens Retrieve transfers of an ERC721 Token.

read-only idempotent
chainlens-retrieve-list-token-holders

Chainlens Retrieve a list of token holders by token contract address hash.

read-only idempotent
chainlens-retrieve-nft-contracts-tokenid

Chainlens Retrieve NFT contracts by tokenId.

read-only idempotent
chainlens-retrieve-token-metadata-given

Chainlens Retrieve token metadata for a given token contract address and token id.

read-only idempotent

Capability Spec

chainlens-nft-controller.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Chainlens — Nft-Controller
  description: 'Chainlens — Nft-Controller. 8 operations. Lead operation: Chainlens Retrieve NFTs.. Self-contained Naftiko
    capability covering one Chainlens business surface.'
  tags:
  - Chainlens
  - Nft-Controller
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    CHAINLENS_API_KEY: CHAINLENS_API_KEY
capability:
  consumes:
  - type: http
    namespace: chainlens-nft-controller
    baseUri: ''
    description: Chainlens — Nft-Controller business capability. Self-contained, no shared references.
    resources:
    - name: nfts
      path: /nfts
      operations:
      - name: findtokens2
        method: GET
        description: Chainlens Retrieve NFTs.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: query
          in: query
          type: string
          required: true
    - name: nfts-addressHash
      path: /nfts/{addressHash}
      operations:
      - name: gettoken3
        method: GET
        description: Chainlens Retrieve a NFT by its address hash.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: addressHash
          in: path
          type: string
          description: The address hash identifying the contract.
          required: true
    - name: nfts-addressHash-collections
      path: /nfts/{addressHash}/collections
      operations:
      - name: findnftcollections
        method: GET
        description: Chainlens Retrieve all NFTs with Metadata.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: addressHash
          in: path
          type: string
          description: The address hash identifying the contract.
          required: true
        - name: query
          in: query
          type: string
          required: true
    - name: nfts-addressHash-erc1155-transfers
      path: /nfts/{addressHash}/erc1155/transfers
      operations:
      - name: finderc1155transfers2
        method: GET
        description: Chainlens Retrieve transfers of an ERC1155 Token.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: addressHash
          in: path
          type: string
          description: The address hash identifying the token.
          required: true
        - name: query
          in: query
          type: string
          required: true
    - name: nfts-addressHash-erc721-transfers
      path: /nfts/{addressHash}/erc721/transfers
      operations:
      - name: finderc721transfers2
        method: GET
        description: Chainlens Retrieve transfers of an ERC721 Token.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: addressHash
          in: path
          type: string
          description: The address hash identifying the token.
          required: true
        - name: query
          in: query
          type: string
          required: true
    - name: nfts-addressHash-holders
      path: /nfts/{addressHash}/holders
      operations:
      - name: gettokenholders2
        method: GET
        description: Chainlens Retrieve a list of token holders by token contract address hash.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: addressHash
          in: path
          type: string
          description: The address hash identifying the contract.
          required: true
        - name: query
          in: query
          type: string
          required: true
    - name: nfts-addressHash-tokenId
      path: /nfts/{addressHash}/{tokenId}
      operations:
      - name: findtokensbytokenid1
        method: GET
        description: Chainlens Retrieve NFT contracts by tokenId.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: addressHash
          in: path
          type: string
          description: The address hash identifying the contract.
          required: true
        - name: tokenId
          in: path
          type: string
          required: true
    - name: nfts-addressHash-tokenId-metadata
      path: /nfts/{addressHash}/{tokenId}/metadata
      operations:
      - name: gettokenmetadata1
        method: GET
        description: Chainlens Retrieve token metadata for a given token contract address and token id.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: addressHash
          in: path
          type: string
          description: The address hash identifying the contract.
          required: true
        - name: tokenId
          in: path
          type: string
          required: true
  exposes:
  - type: rest
    namespace: chainlens-nft-controller-rest
    port: 8080
    description: REST adapter for Chainlens — Nft-Controller. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/nfts
      name: nfts
      description: REST surface for nfts.
      operations:
      - method: GET
        name: findtokens2
        description: Chainlens Retrieve NFTs.
        call: chainlens-nft-controller.findtokens2
        with:
          query: rest.query
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/nfts/{addresshash}
      name: nfts-addresshash
      description: REST surface for nfts-addressHash.
      operations:
      - method: GET
        name: gettoken3
        description: Chainlens Retrieve a NFT by its address hash.
        call: chainlens-nft-controller.gettoken3
        with:
          addressHash: rest.addressHash
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/nfts/{addresshash}/collections
      name: nfts-addresshash-collections
      description: REST surface for nfts-addressHash-collections.
      operations:
      - method: GET
        name: findnftcollections
        description: Chainlens Retrieve all NFTs with Metadata.
        call: chainlens-nft-controller.findnftcollections
        with:
          addressHash: rest.addressHash
          query: rest.query
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/nfts/{addresshash}/erc1155/transfers
      name: nfts-addresshash-erc1155-transfers
      description: REST surface for nfts-addressHash-erc1155-transfers.
      operations:
      - method: GET
        name: finderc1155transfers2
        description: Chainlens Retrieve transfers of an ERC1155 Token.
        call: chainlens-nft-controller.finderc1155transfers2
        with:
          addressHash: rest.addressHash
          query: rest.query
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/nfts/{addresshash}/erc721/transfers
      name: nfts-addresshash-erc721-transfers
      description: REST surface for nfts-addressHash-erc721-transfers.
      operations:
      - method: GET
        name: finderc721transfers2
        description: Chainlens Retrieve transfers of an ERC721 Token.
        call: chainlens-nft-controller.finderc721transfers2
        with:
          addressHash: rest.addressHash
          query: rest.query
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/nfts/{addresshash}/holders
      name: nfts-addresshash-holders
      description: REST surface for nfts-addressHash-holders.
      operations:
      - method: GET
        name: gettokenholders2
        description: Chainlens Retrieve a list of token holders by token contract address hash.
        call: chainlens-nft-controller.gettokenholders2
        with:
          addressHash: rest.addressHash
          query: rest.query
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/nfts/{addresshash}/{tokenid}
      name: nfts-addresshash-tokenid
      description: REST surface for nfts-addressHash-tokenId.
      operations:
      - method: GET
        name: findtokensbytokenid1
        description: Chainlens Retrieve NFT contracts by tokenId.
        call: chainlens-nft-controller.findtokensbytokenid1
        with:
          addressHash: rest.addressHash
          tokenId: rest.tokenId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/nfts/{addresshash}/{tokenid}/metadata
      name: nfts-addresshash-tokenid-metadata
      description: REST surface for nfts-addressHash-tokenId-metadata.
      operations:
      - method: GET
        name: gettokenmetadata1
        description: Chainlens Retrieve token metadata for a given token contract address and token id.
        call: chainlens-nft-controller.gettokenmetadata1
        with:
          addressHash: rest.addressHash
          tokenId: rest.tokenId
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: chainlens-nft-controller-mcp
    port: 9090
    transport: http
    description: MCP adapter for Chainlens — Nft-Controller. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: chainlens-retrieve-nfts
      description: Chainlens Retrieve NFTs.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: chainlens-nft-controller.findtokens2
      with:
        query: tools.query
      outputParameters:
      - type: object
        mapping: $.
    - name: chainlens-retrieve-nft-its-address
      description: Chainlens Retrieve a NFT by its address hash.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: chainlens-nft-controller.gettoken3
      with:
        addressHash: tools.addressHash
      outputParameters:
      - type: object
        mapping: $.
    - name: chainlens-retrieve-all-nfts-metadata
      description: Chainlens Retrieve all NFTs with Metadata.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: chainlens-nft-controller.findnftcollections
      with:
        addressHash: tools.addressHash
        query: tools.query
      outputParameters:
      - type: object
        mapping: $.
    - name: chainlens-retrieve-transfers-erc1155-token
      description: Chainlens Retrieve transfers of an ERC1155 Token.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: chainlens-nft-controller.finderc1155transfers2
      with:
        addressHash: tools.addressHash
        query: tools.query
      outputParameters:
      - type: object
        mapping: $.
    - name: chainlens-retrieve-transfers-erc721-token
      description: Chainlens Retrieve transfers of an ERC721 Token.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: chainlens-nft-controller.finderc721transfers2
      with:
        addressHash: tools.addressHash
        query: tools.query
      outputParameters:
      - type: object
        mapping: $.
    - name: chainlens-retrieve-list-token-holders
      description: Chainlens Retrieve a list of token holders by token contract address hash.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: chainlens-nft-controller.gettokenholders2
      with:
        addressHash: tools.addressHash
        query: tools.query
      outputParameters:
      - type: object
        mapping: $.
    - name: chainlens-retrieve-nft-contracts-tokenid
      description: Chainlens Retrieve NFT contracts by tokenId.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: chainlens-nft-controller.findtokensbytokenid1
      with:
        addressHash: tools.addressHash
        tokenId: tools.tokenId
      outputParameters:
      - type: object
        mapping: $.
    - name: chainlens-retrieve-token-metadata-given
      description: Chainlens Retrieve token metadata for a given token contract address and token id.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: chainlens-nft-controller.gettokenmetadata1
      with:
        addressHash: tools.addressHash
        tokenId: tools.tokenId
      outputParameters:
      - type: object
        mapping: $.