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