Giphy · Capability

GIPHY API — Emoji

GIPHY — Emoji. 2 operations. Lead operation: List GIPHY's animated emoji library. Self-contained Naftiko capability covering one GIPHY business surface.

Run with Naftiko GIPHYMediaEmoji

What You Can Do

GET
Listemoji — List emoji.
/v1/emoji
GET
Getemojivariations — Get emoji variations.
/v1/emoji/{gif-id}/variations

MCP Tools

list-emoji

List GIPHY animated emoji.

read-only idempotent
get-emoji-variations

Get variations of a single emoji.

read-only idempotent

Capability Spec

giphy-emoji.yaml Raw ↑
naftiko: "1.0.0-alpha2"

info:
  label: "GIPHY API — Emoji"
  description: >-
    GIPHY — Emoji. 2 operations. Lead operation: List GIPHY's animated emoji library.
    Self-contained Naftiko capability covering one GIPHY business surface.
  tags:
    - GIPHY
    - Media
    - Emoji
  created: "2026-05-30"
  modified: "2026-05-30"

binds:
  - namespace: env
    keys:
      GIPHY_API_KEY: GIPHY_API_KEY

capability:

  consumes:
    - type: http
      namespace: "giphy-emoji"
      baseUri: "https://api.giphy.com"
      description: "GIPHY API — Emoji business capability."
      authentication:
        type: apikey
        key: api_key
        value: "{{env.GIPHY_API_KEY}}"
        placement: query
      resources:
        - name: "emoji-list"
          path: "/v2/emoji"
          operations:
            - name: "listEmoji"
              method: GET
              description: "Return GIPHY's animated emoji library."
              inputParameters:
                - { name: limit, in: query, type: integer, required: false, description: "Results per page." }
                - { name: offset, in: query, type: integer, required: false, description: "Pagination offset." }
              outputRawFormat: json
              outputParameters:
                - { name: result, type: object, value: "$." }
        - name: "emoji-variations"
          path: "/v2/emoji/{gif_id}/variations"
          operations:
            - name: "getEmojiVariations"
              method: GET
              description: "Return all variations of a single emoji."
              inputParameters:
                - { name: gif_id, in: path, type: string, required: true, description: "Emoji ID." }
              outputRawFormat: json
              outputParameters:
                - { name: result, type: object, value: "$." }

  exposes:
    - type: rest
      namespace: "giphy-emoji-rest"
      port: 8080
      description: "REST adapter for GIPHY API — Emoji."
      resources:
        - path: "/v1/emoji"
          name: "emoji"
          description: "REST surface for the emoji library."
          operations:
            - method: GET
              name: "listEmoji"
              description: "List emoji."
              call: "giphy-emoji.listEmoji"
              with: { limit: "rest.limit", offset: "rest.offset" }
              outputParameters:
                - { type: object, mapping: "$." }
        - path: "/v1/emoji/{gif-id}/variations"
          name: "emoji-variations"
          description: "REST surface for emoji variations."
          operations:
            - method: GET
              name: "getEmojiVariations"
              description: "Get emoji variations."
              call: "giphy-emoji.getEmojiVariations"
              with: { gif_id: "rest.gif-id" }
              outputParameters:
                - { type: object, mapping: "$." }

    - type: mcp
      namespace: "giphy-emoji-mcp"
      port: 9090
      transport: http
      description: "MCP adapter for GIPHY API — Emoji."
      tools:
        - name: "list-emoji"
          description: "List GIPHY animated emoji."
          hints: { readOnly: true, destructive: false, idempotent: true }
          call: "giphy-emoji.listEmoji"
          with: { limit: "tools.limit", offset: "tools.offset" }
          outputParameters:
            - { type: object, mapping: "$." }
        - name: "get-emoji-variations"
          description: "Get variations of a single emoji."
          hints: { readOnly: true, destructive: false, idempotent: true }
          call: "giphy-emoji.getEmojiVariations"
          with: { gif_id: "tools.gif_id" }
          outputParameters:
            - { type: object, mapping: "$." }