TheGamesDB · Capability

TheGamesDB API — Games

TheGamesDB API — Games. 6 operations. Lead operation: Fetch game(s) by name. Self-contained Naftiko capability covering one Thegamesdb business surface.

Run with Naftiko ThegamesdbGames

What You Can Do

GET
Gamesbygamename — Fetch game(s) by name
/v1/v1-1/games/bygamename
GET
Gamesbygameid — Fetch game(s) by id
/v1/v1/games/bygameid
GET
Gamesbygamenamev1 — Fetch game(s) by name
/v1/v1/games/bygamename
GET
Gamesbyplatformid — Fetch game(s) by platform id
/v1/v1/games/byplatformid
GET
Gamesimages — Fetch game(s) images by game(s) id
/v1/v1/games/images
GET
Gamesupdates — Fetch games update
/v1/v1/games/updates

MCP Tools

fetch-game-s-name

Fetch game(s) by name

read-only idempotent
fetch-game-s-id

Fetch game(s) by id

read-only idempotent
fetch-game-s-name-2

Fetch game(s) by name

read-only idempotent
fetch-game-s-platform-id

Fetch game(s) by platform id

read-only idempotent
fetch-game-s-images-game-s-id

Fetch game(s) images by game(s) id

read-only idempotent
fetch-games-update

Fetch games update

read-only idempotent

Capability Spec

thegamesdb-games.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: TheGamesDB API — Games
  description: 'TheGamesDB API — Games. 6 operations. Lead operation: Fetch game(s) by name. Self-contained Naftiko capability
    covering one Thegamesdb business surface.'
  tags:
  - Thegamesdb
  - Games
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    THEGAMESDB_API_KEY: THEGAMESDB_API_KEY
capability:
  consumes:
  - type: http
    namespace: thegamesdb-games
    baseUri: https://api.thegamesdb.net
    description: TheGamesDB API — Games business capability. Self-contained, no shared references.
    resources:
    - name: v1.1-Games-ByGameName
      path: /v1.1/Games/ByGameName
      operations:
      - name: gamesbygamename
        method: GET
        description: Fetch game(s) by name
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: apikey
          in: query
          type: string
          description: (Required)
          required: true
        - name: name
          in: query
          type: string
          description: (Required) - Search term
          required: true
        - name: fields
          in: query
          type: string
          description: '(Optional) - valid `,` delimited options: `players`, `publishers`, `genres`, `overview`, `last_updated`,
            `rating`, `platform`, `coop`, `youtube`, `os`, `process'
        - name: filter[platform]
          in: query
          type: string
          description: (Optional) - platform `id` can be obtain from the platforms api below, supports `,` delimited list
        - name: include
          in: query
          type: string
          description: '(Optional) - valid `,` delimited options: `boxart`, `platform`'
        - name: page
          in: query
          type: integer
          description: (Optional) - results page offset to return
    - name: v1-Games-ByGameID
      path: /v1/Games/ByGameID
      operations:
      - name: gamesbygameid
        method: GET
        description: Fetch game(s) by id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: apikey
          in: query
          type: string
          description: (Required)
          required: true
        - name: id
          in: query
          type: string
          description: (Required) - supports `,` delimited list
          required: true
        - name: fields
          in: query
          type: string
          description: '(Optional) - valid `,` delimited options: `players`, `publishers`, `genres`, `overview`, `last_updated`,
            `rating`, `platform`, `coop`, `youtube`, `os`, `process'
        - name: include
          in: query
          type: string
          description: '(Optional) - valid `,` delimited options: `boxart`, `platform`'
        - name: page
          in: query
          type: integer
          description: (Optional) - results page offset to return
    - name: v1-Games-ByGameName
      path: /v1/Games/ByGameName
      operations:
      - name: gamesbygamenamev1
        method: GET
        description: Fetch game(s) by name
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: apikey
          in: query
          type: string
          description: (Required)
          required: true
        - name: name
          in: query
          type: string
          description: (Required) - Search term
          required: true
        - name: fields
          in: query
          type: string
          description: '(Optional) - valid `,` delimited options: `players`, `publishers`, `genres`, `overview`, `last_updated`,
            `rating`, `platform`, `coop`, `youtube`, `os`, `process'
        - name: filter[platform]
          in: query
          type: string
          description: (Optional) - platform `id` can be obtain from the platforms api below, supports `,` delimited list
        - name: include
          in: query
          type: string
          description: '(Optional) - valid `,` delimited options: `boxart`, `platform`'
        - name: page
          in: query
          type: integer
          description: (Optional) - results page offset to return
    - name: v1-Games-ByPlatformID
      path: /v1/Games/ByPlatformID
      operations:
      - name: gamesbyplatformid
        method: GET
        description: Fetch game(s) by platform id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: apikey
          in: query
          type: string
          description: (Required)
          required: true
        - name: id
          in: query
          type: string
          description: (Required) - platform `id` can be obtain from the platforms api below, supports `,` delimited list
          required: true
        - name: fields
          in: query
          type: string
          description: '(Optional) - valid `,` delimited options: `players`, `publishers`, `genres`, `overview`, `last_updated`,
            `rating`, `platform`, `coop`, `youtube`, `os`, `process'
        - name: include
          in: query
          type: string
          description: '(Optional) - valid `,` delimited options: `boxart`, `platform`'
        - name: page
          in: query
          type: integer
          description: (Optional) - results page offset to return
    - name: v1-Games-Images
      path: /v1/Games/Images
      operations:
      - name: gamesimages
        method: GET
        description: Fetch game(s) images by game(s) id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: apikey
          in: query
          type: string
          description: (Required)
          required: true
        - name: games_id
          in: query
          type: string
          description: (Required) - game(s) `id` can be obtain from the above games api, supports `,` delimited list
          required: true
        - name: filter[type]
          in: query
          type: string
          description: '(Optional) - valid `,` delimited options: `fanart`, `banner`, `boxart`, `screenshot`, `clearlogo`,
            `titlescreen`'
        - name: page
          in: query
          type: integer
          description: (Optional) - results page offset to return
    - name: v1-Games-Updates
      path: /v1/Games/Updates
      operations:
      - name: gamesupdates
        method: GET
        description: Fetch games update
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: apikey
          in: query
          type: string
          description: (Required)
          required: true
        - name: last_edit_id
          in: query
          type: integer
          description: (Required)
          required: true
        - name: time
          in: query
          type: integer
          description: (Optional)
        - name: page
          in: query
          type: integer
          description: (Optional) - results page offset to return
  exposes:
  - type: rest
    namespace: thegamesdb-games-rest
    port: 8080
    description: REST adapter for TheGamesDB API — Games. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/v1-1/games/bygamename
      name: v1-1-games-bygamename
      description: REST surface for v1.1-Games-ByGameName.
      operations:
      - method: GET
        name: gamesbygamename
        description: Fetch game(s) by name
        call: thegamesdb-games.gamesbygamename
        with:
          apikey: rest.apikey
          name: rest.name
          fields: rest.fields
          filter[platform]: rest.filter[platform]
          include: rest.include
          page: rest.page
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/games/bygameid
      name: v1-games-bygameid
      description: REST surface for v1-Games-ByGameID.
      operations:
      - method: GET
        name: gamesbygameid
        description: Fetch game(s) by id
        call: thegamesdb-games.gamesbygameid
        with:
          apikey: rest.apikey
          id: rest.id
          fields: rest.fields
          include: rest.include
          page: rest.page
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/games/bygamename
      name: v1-games-bygamename
      description: REST surface for v1-Games-ByGameName.
      operations:
      - method: GET
        name: gamesbygamenamev1
        description: Fetch game(s) by name
        call: thegamesdb-games.gamesbygamenamev1
        with:
          apikey: rest.apikey
          name: rest.name
          fields: rest.fields
          filter[platform]: rest.filter[platform]
          include: rest.include
          page: rest.page
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/games/byplatformid
      name: v1-games-byplatformid
      description: REST surface for v1-Games-ByPlatformID.
      operations:
      - method: GET
        name: gamesbyplatformid
        description: Fetch game(s) by platform id
        call: thegamesdb-games.gamesbyplatformid
        with:
          apikey: rest.apikey
          id: rest.id
          fields: rest.fields
          include: rest.include
          page: rest.page
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/games/images
      name: v1-games-images
      description: REST surface for v1-Games-Images.
      operations:
      - method: GET
        name: gamesimages
        description: Fetch game(s) images by game(s) id
        call: thegamesdb-games.gamesimages
        with:
          apikey: rest.apikey
          games_id: rest.games_id
          filter[type]: rest.filter[type]
          page: rest.page
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/games/updates
      name: v1-games-updates
      description: REST surface for v1-Games-Updates.
      operations:
      - method: GET
        name: gamesupdates
        description: Fetch games update
        call: thegamesdb-games.gamesupdates
        with:
          apikey: rest.apikey
          last_edit_id: rest.last_edit_id
          time: rest.time
          page: rest.page
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: thegamesdb-games-mcp
    port: 9090
    transport: http
    description: MCP adapter for TheGamesDB API — Games. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: fetch-game-s-name
      description: Fetch game(s) by name
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: thegamesdb-games.gamesbygamename
      with:
        apikey: tools.apikey
        name: tools.name
        fields: tools.fields
        filter[platform]: tools.filter[platform]
        include: tools.include
        page: tools.page
      outputParameters:
      - type: object
        mapping: $.
    - name: fetch-game-s-id
      description: Fetch game(s) by id
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: thegamesdb-games.gamesbygameid
      with:
        apikey: tools.apikey
        id: tools.id
        fields: tools.fields
        include: tools.include
        page: tools.page
      outputParameters:
      - type: object
        mapping: $.
    - name: fetch-game-s-name-2
      description: Fetch game(s) by name
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: thegamesdb-games.gamesbygamenamev1
      with:
        apikey: tools.apikey
        name: tools.name
        fields: tools.fields
        filter[platform]: tools.filter[platform]
        include: tools.include
        page: tools.page
      outputParameters:
      - type: object
        mapping: $.
    - name: fetch-game-s-platform-id
      description: Fetch game(s) by platform id
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: thegamesdb-games.gamesbyplatformid
      with:
        apikey: tools.apikey
        id: tools.id
        fields: tools.fields
        include: tools.include
        page: tools.page
      outputParameters:
      - type: object
        mapping: $.
    - name: fetch-game-s-images-game-s-id
      description: Fetch game(s) images by game(s) id
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: thegamesdb-games.gamesimages
      with:
        apikey: tools.apikey
        games_id: tools.games_id
        filter[type]: tools.filter[type]
        page: tools.page
      outputParameters:
      - type: object
        mapping: $.
    - name: fetch-games-update
      description: Fetch games update
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: thegamesdb-games.gamesupdates
      with:
        apikey: tools.apikey
        last_edit_id: tools.last_edit_id
        time: tools.time
        page: tools.page
      outputParameters:
      - type: object
        mapping: $.