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.
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
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: $.