YGOPRODeck · Capability

YGOPRODeck — Cards

YGOPRODeck Yu-Gi-Oh! Card Database API — Cards. 2 operations. Lead operation: Search Cards. Self-contained Naftiko capability covering one YGOPRODeck business surface.

Run with Naftiko YGOPRODeckYu-Gi-OhCards

What You Can Do

GET
Searchcards — YGOPRODeck Search Cards
/v1/cardinfo
GET
Getrandomcard — YGOPRODeck Get Random Card
/v1/randomcard

MCP Tools

search-cards

YGOPRODeck Search Cards

read-only idempotent
get-random-card

YGOPRODeck Get Random Card

read-only idempotent

Capability Spec

ygoprodeck-cards.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: YGOPRODeck — Cards
  description: 'YGOPRODeck Yu-Gi-Oh! Card Database API — Cards. 2 operations. Lead operation: Search Cards. Self-contained Naftiko capability covering one YGOPRODeck business surface.'
  tags:
    - YGOPRODeck
    - Yu-Gi-Oh
    - Cards
  created: '2026-05-30'
  modified: '2026-05-30'
binds:
  - namespace: env
    keys: {}
capability:
  consumes:
    - type: http
      namespace: ygoprodeck-cards
      baseUri: https://db.ygoprodeck.com/api/v7
      description: YGOPRODeck Yu-Gi-Oh! Card Database API — Cards business capability. Self-contained, no shared references.
      resources:
        - name: cardinfo
          path: /cardinfo.php
          operations:
            - name: searchCards
              method: GET
              description: YGOPRODeck Search Cards
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
              inputParameters:
                - name: name
                  in: query
                  type: string
                  required: false
                  description: Exact card name. Use a pipe (`|`) to query multiple names in one call (e.g. `Baby Dragon|Time Wizard`).
                - name: fname
                  in: query
                  type: string
                  required: false
                  description: Fuzzy / partial card name search.
                - name: id
                  in: query
                  type: string
                  required: false
                  description: Card passcode (8-digit numeric id). Comma-separated for multiple ids.
                - name: konami_id
                  in: query
                  type: string
                  required: false
                  description: Konami official card id (different from the printed passcode).
                - name: type
                  in: query
                  type: string
                  required: false
                  description: Card type (e.g. `Effect Monster`, `Synchro Monster`, `Spell Card`, `Trap Card`, `Link Monster`).
                - name: race
                  in: query
                  type: string
                  required: false
                  description: Monster race (for monsters) or sub-type (for Spell/Trap, e.g. `Continuous`, `Quick-Play`, `Counter`).
                - name: attribute
                  in: query
                  type: string
                  required: false
                  description: Monster attribute.
                - name: level
                  in: query
                  type: string
                  required: false
                  description: Monster level or rank. Supports comparison operators `lt`, `lte`, `gt`, `gte` (e.g. `gte4`).
                - name: link
                  in: query
                  type: integer
                  required: false
                  description: Link rating for Link Monsters.
                - name: linkmarker
                  in: query
                  type: string
                  required: false
                  description: Link marker positions (one or more, comma-separated). Values are `Top`, `Bottom`, `Left`, `Right`, `Top-Left`, `Top-Right`, `Bottom-Left`, `Bottom-Right`.
                - name: atk
                  in: query
                  type: string
                  required: false
                  description: ATK value filter. Supports comparison operators `lt`, `lte`, `gt`, `gte` (e.g. `gte2500`).
                - name: def
                  in: query
                  type: string
                  required: false
                  description: DEF value filter. Supports comparison operators `lt`, `lte`, `gt`, `gte`.
                - name: scale
                  in: query
                  type: integer
                  required: false
                  description: Pendulum scale value.
                - name: archetype
                  in: query
                  type: string
                  required: false
                  description: Archetype name (see `/archetypes.php` for the complete list).
                - name: cardset
                  in: query
                  type: string
                  required: false
                  description: Card set name (see `/cardsets.php` for the complete list).
                - name: banlist
                  in: query
                  type: string
                  required: false
                  description: Banlist type to filter against.
                - name: format
                  in: query
                  type: string
                  required: false
                  description: Tournament format legality filter.
                - name: staple
                  in: query
                  type: string
                  required: false
                  description: Pass `yes` to filter to staple cards only.
                - name: has_effect
                  in: query
                  type: boolean
                  required: false
                  description: Pass `true` or `false` to filter cards by whether they have an actual effect.
                - name: sort
                  in: query
                  type: string
                  required: false
                  description: Sort order for the result set.
                - name: misc
                  in: query
                  type: string
                  required: false
                  description: Pass `yes` to include extended metadata (views, upvotes, formats, treated_as, release dates, konami_id, md_rarity, has_effect, genesys_points).
                - name: tcgplayer_data
                  in: query
                  type: string
                  required: false
                  description: Pass `yes` to use TCGplayer card set data instead of the default.
                - name: language
                  in: query
                  type: string
                  required: false
                  description: Language code for card text. Default is English (omit). Supported alternatives are `fr`, `de`, `it`, `pt`.
                - name: startdate
                  in: query
                  type: string
                  required: false
                  description: Start date (`YYYY-MM-DD`) for release-date filtering.
                - name: enddate
                  in: query
                  type: string
                  required: false
                  description: End date (`YYYY-MM-DD`) for release-date filtering.
                - name: dateregion
                  in: query
                  type: string
                  required: false
                  description: Region whose release dates the `startdate`/`enddate` window applies to (e.g. `tcg_date`, `ocg_date`).
                - name: num
                  in: query
                  type: integer
                  required: false
                  description: Page size (results per page). Pair with `offset` for pagination.
                - name: offset
                  in: query
                  type: integer
                  required: false
                  description: Pagination offset (0-based).
        - name: randomcard
          path: /randomcard.php
          operations:
            - name: getRandomCard
              method: GET
              description: YGOPRODeck Get Random Card
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
  exposes:
    - type: rest
      namespace: ygoprodeck-cards-rest
      port: 8080
      description: REST adapter for YGOPRODeck Yu-Gi-Oh! Card Database API — Cards. One Spectral-compliant resource per consumed operation, prefixed with /v1.
      resources:
        - path: /v1/cardinfo
          name: cardinfo
          description: REST surface for cardinfo.
          operations:
            - method: GET
              name: searchCards
              description: YGOPRODeck Search Cards
              call: ygoprodeck-cards.searchCards
              outputParameters:
                - type: object
                  mapping: $.
              with:
                name: rest.name
                fname: rest.fname
                id: rest.id
                konami_id: rest.konami_id
                type: rest.type
                race: rest.race
                attribute: rest.attribute
                level: rest.level
                link: rest.link
                linkmarker: rest.linkmarker
                atk: rest.atk
                def: rest.def
                scale: rest.scale
                archetype: rest.archetype
                cardset: rest.cardset
                banlist: rest.banlist
                format: rest.format
                staple: rest.staple
                has_effect: rest.has_effect
                sort: rest.sort
                misc: rest.misc
                tcgplayer_data: rest.tcgplayer_data
                language: rest.language
                startdate: rest.startdate
                enddate: rest.enddate
                dateregion: rest.dateregion
                num: rest.num
                offset: rest.offset
        - path: /v1/randomcard
          name: randomcard
          description: REST surface for randomcard.
          operations:
            - method: GET
              name: getRandomCard
              description: YGOPRODeck Get Random Card
              call: ygoprodeck-cards.getRandomCard
              outputParameters:
                - type: object
                  mapping: $.
    - type: mcp
      namespace: ygoprodeck-cards-mcp
      port: 9090
      transport: http
      description: MCP adapter for YGOPRODeck Yu-Gi-Oh! Card Database API — Cards. One tool per consumed operation, routed inline through this capability's consumes block.
      tools:
        - name: search-cards
          description: YGOPRODeck Search Cards
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: ygoprodeck-cards.searchCards
          outputParameters:
            - type: object
              mapping: $.
          with:
            name: tools.name
            fname: tools.fname
            id: tools.id
            konami_id: tools.konami_id
            type: tools.type
            race: tools.race
            attribute: tools.attribute
            level: tools.level
            link: tools.link
            linkmarker: tools.linkmarker
            atk: tools.atk
            def: tools.def
            scale: tools.scale
            archetype: tools.archetype
            cardset: tools.cardset
            banlist: tools.banlist
            format: tools.format
            staple: tools.staple
            has_effect: tools.has_effect
            sort: tools.sort
            misc: tools.misc
            tcgplayer_data: tools.tcgplayer_data
            language: tools.language
            startdate: tools.startdate
            enddate: tools.enddate
            dateregion: tools.dateregion
            num: tools.num
            offset: tools.offset
        - name: get-random-card
          description: YGOPRODeck Get Random Card
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: ygoprodeck-cards.getRandomCard
          outputParameters:
            - type: object
              mapping: $.