Cataas · Capability
Cataas API — Cats
Cats surface of the Cataas (Cat as a Service) API. 7 operations. Lead operation: CATAAS Get a Random Cat Image. Self-contained Naftiko capability covering one Cataas business surface.
What You Can Do
GET
Getrandomcat
— CATAAS Get a Random Cat Image
/v1/cat
GET
Getrandomcatbytag
— CATAAS Get a Random Cat Image by Tag
/v1/cat/{tag}
GET
Getrandomcatgif
— CATAAS Get a Random Cat GIF
/v1/cat/gif
GET
Getrandomcatsays
— CATAAS Get a Random Cat Image with Text Overlay
/v1/cat/says/{text}
GET
Getrandomcatbytagsays
— CATAAS Get a Random Tagged Cat with Text Overlay
/v1/cat/{tag}/says/{text}
GET
Getcatbyid
— CATAAS Get a Specific Cat Image by Id
/v1/cat/{id}
GET
Getcatbyidsays
— CATAAS Get a Specific Cat with Text Overlay
/v1/cat/{id}/says/{text}
MCP Tools
getrandomcat
CATAAS Get a Random Cat Image
read-only
idempotent
getrandomcatbytag
CATAAS Get a Random Cat Image by Tag
read-only
idempotent
getrandomcatgif
CATAAS Get a Random Cat GIF
read-only
idempotent
getrandomcatsays
CATAAS Get a Random Cat Image with Text Overlay
read-only
idempotent
getrandomcatbytagsays
CATAAS Get a Random Tagged Cat with Text Overlay
read-only
idempotent
getcatbyid
CATAAS Get a Specific Cat Image by Id
read-only
idempotent
getcatbyidsays
CATAAS Get a Specific Cat with Text Overlay
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Cataas API — Cats
description: 'Cats surface of the Cataas (Cat as a Service) API. 7 operations. Lead operation: CATAAS Get a Random Cat Image. Self-contained Naftiko capability covering one Cataas business surface.'
tags:
- Cataas
- Cats
created: '2026-05-30'
modified: '2026-05-30'
capability:
consumes:
- type: http
namespace: cataas-cats
baseUri: https://cataas.com
description: Cataas API — Cats business capability. Self-contained, no shared references.
resources:
- name: cat
path: /cat
operations:
- name: getRandomCat
method: GET
description: CATAAS Get a Random Cat Image
inputParameters:
- name: json
in: query
type: boolean
required: false
description: When `true`, return a JSON metadata document instead of the binary image.
- name: html
in: query
type: boolean
required: false
description: When `true`, return an HTML page that embeds the image.
- name: type
in: query
type: string
required: false
description: Sized variant of the image.
- name: width
in: query
type: integer
required: false
description: Resize the image to the specified width in pixels (max 1000).
- name: height
in: query
type: integer
required: false
description: Resize the image to the specified height in pixels (max 1000).
- name: fit
in: query
type: string
required: false
description: Resize strategy when both width and height are provided.
- name: position
in: query
type: string
required: false
description: Position of the cropped image when `fit=cover` or `fit=contain`.
- name: filter
in: query
type: string
required: false
description: Visual filter applied to the image.
- name: blur
in: query
type: number
required: false
description: Blur radius when `filter=blur`.
- name: brightness
in: query
type: number
required: false
description: Brightness multiplier for `filter=custom`.
- name: lightness
in: query
type: number
required: false
description: Lightness offset for `filter=custom`.
- name: saturation
in: query
type: number
required: false
description: Saturation multiplier for `filter=custom`.
- name: hue
in: query
type: integer
required: false
description: Hue rotation in degrees for `filter=custom`.
- name: r
in: query
type: integer
required: false
description: Red channel multiplier (0-255) for `filter=custom`.
- name: g
in: query
type: integer
required: false
description: Green channel multiplier (0-255) for `filter=custom`.
- name: b
in: query
type: integer
required: false
description: Blue channel multiplier (0-255) for `filter=custom`.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: cat-tag
path: /cat/{tag}
operations:
- name: getRandomCatByTag
method: GET
description: CATAAS Get a Random Cat Image by Tag
inputParameters:
- name: tag
in: path
type: string
required: true
description: 'One tag or several comma-separated tags. Example: `cute` or `cute,orange`.'
- name: json
in: query
type: boolean
required: false
description: When `true`, return a JSON metadata document instead of the binary image.
- name: html
in: query
type: boolean
required: false
description: When `true`, return an HTML page that embeds the image.
- name: type
in: query
type: string
required: false
description: Sized variant of the image.
- name: width
in: query
type: integer
required: false
description: Resize the image to the specified width in pixels (max 1000).
- name: height
in: query
type: integer
required: false
description: Resize the image to the specified height in pixels (max 1000).
- name: fit
in: query
type: string
required: false
description: Resize strategy when both width and height are provided.
- name: position
in: query
type: string
required: false
description: Position of the cropped image when `fit=cover` or `fit=contain`.
- name: filter
in: query
type: string
required: false
description: Visual filter applied to the image.
- name: blur
in: query
type: number
required: false
description: Blur radius when `filter=blur`.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: cat-gif
path: /cat/gif
operations:
- name: getRandomCatGif
method: GET
description: CATAAS Get a Random Cat GIF
inputParameters:
- name: json
in: query
type: boolean
required: false
description: When `true`, return a JSON metadata document instead of the binary image.
- name: html
in: query
type: boolean
required: false
description: When `true`, return an HTML page that embeds the image.
- name: width
in: query
type: integer
required: false
description: Resize the image to the specified width in pixels (max 1000).
- name: height
in: query
type: integer
required: false
description: Resize the image to the specified height in pixels (max 1000).
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: cat-says-text
path: /cat/says/{text}
operations:
- name: getRandomCatSays
method: GET
description: CATAAS Get a Random Cat Image with Text Overlay
inputParameters:
- name: text
in: path
type: string
required: true
description: Text to overlay onto the image.
- name: fontSize
in: query
type: integer
required: false
description: Font size in pixels for `/says/` text overlays.
- name: fontColor
in: query
type: string
required: false
description: Font color name or hex value (e.g., `red`, `#ffffff`).
- name: fontBackground
in: query
type: string
required: false
description: Background color behind the overlay text.
- name: json
in: query
type: boolean
required: false
description: When `true`, return a JSON metadata document instead of the binary image.
- name: html
in: query
type: boolean
required: false
description: When `true`, return an HTML page that embeds the image.
- name: type
in: query
type: string
required: false
description: Sized variant of the image.
- name: filter
in: query
type: string
required: false
description: Visual filter applied to the image.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: cat-tag-says-text
path: /cat/{tag}/says/{text}
operations:
- name: getRandomCatByTagSays
method: GET
description: CATAAS Get a Random Tagged Cat with Text Overlay
inputParameters:
- name: tag
in: path
type: string
required: true
description: One or more comma-separated tags.
- name: text
in: path
type: string
required: true
description: Text to overlay onto the image.
- name: fontSize
in: query
type: integer
required: false
description: Font size in pixels for `/says/` text overlays.
- name: fontColor
in: query
type: string
required: false
description: Font color name or hex value (e.g., `red`, `#ffffff`).
- name: fontBackground
in: query
type: string
required: false
description: Background color behind the overlay text.
- name: json
in: query
type: boolean
required: false
description: When `true`, return a JSON metadata document instead of the binary image.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: cat-id
path: /cat/{id}
operations:
- name: getCatById
method: GET
description: CATAAS Get a Specific Cat Image by Id
inputParameters:
- name: id
in: path
type: string
required: true
description: Catalog id of the cat document.
- name: json
in: query
type: boolean
required: false
description: When `true`, return a JSON metadata document instead of the binary image.
- name: html
in: query
type: boolean
required: false
description: When `true`, return an HTML page that embeds the image.
- name: type
in: query
type: string
required: false
description: Sized variant of the image.
- name: filter
in: query
type: string
required: false
description: Visual filter applied to the image.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: cat-id-says-text
path: /cat/{id}/says/{text}
operations:
- name: getCatByIdSays
method: GET
description: CATAAS Get a Specific Cat with Text Overlay
inputParameters:
- name: id
in: path
type: string
required: true
description: Catalog id of the cat document.
- name: text
in: path
type: string
required: true
description: Text to overlay onto the image.
- name: fontSize
in: query
type: integer
required: false
description: Font size in pixels for `/says/` text overlays.
- name: fontColor
in: query
type: string
required: false
description: Font color name or hex value (e.g., `red`, `#ffffff`).
- name: fontBackground
in: query
type: string
required: false
description: Background color behind the overlay text.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
exposes:
- type: rest
namespace: cataas-cats-rest
port: 8080
description: REST adapter for Cataas API — Cats. One Spectral-compliant resource per consumed operation, prefixed with /v1.
resources:
- path: /v1/cat
name: v1-cat
description: REST surface for /v1/cat.
operations:
- method: GET
name: getRandomCat
description: CATAAS Get a Random Cat Image
call: cataas-cats.getRandomCat
with:
json: rest.json
html: rest.html
type: rest.type
width: rest.width
height: rest.height
fit: rest.fit
position: rest.position
filter: rest.filter
blur: rest.blur
brightness: rest.brightness
lightness: rest.lightness
saturation: rest.saturation
hue: rest.hue
r: rest.r
g: rest.g
b: rest.b
outputParameters:
- type: object
mapping: $.
- path: /v1/cat/{tag}
name: v1-cat-tag
description: REST surface for /v1/cat/{tag}.
operations:
- method: GET
name: getRandomCatByTag
description: CATAAS Get a Random Cat Image by Tag
call: cataas-cats.getRandomCatByTag
with:
tag: rest.tag
json: rest.json
html: rest.html
type: rest.type
width: rest.width
height: rest.height
fit: rest.fit
position: rest.position
filter: rest.filter
blur: rest.blur
outputParameters:
- type: object
mapping: $.
- path: /v1/cat/gif
name: v1-cat-gif
description: REST surface for /v1/cat/gif.
operations:
- method: GET
name: getRandomCatGif
description: CATAAS Get a Random Cat GIF
call: cataas-cats.getRandomCatGif
with:
json: rest.json
html: rest.html
width: rest.width
height: rest.height
outputParameters:
- type: object
mapping: $.
- path: /v1/cat/says/{text}
name: v1-cat-says-text
description: REST surface for /v1/cat/says/{text}.
operations:
- method: GET
name: getRandomCatSays
description: CATAAS Get a Random Cat Image with Text Overlay
call: cataas-cats.getRandomCatSays
with:
text: rest.text
fontSize: rest.fontSize
fontColor: rest.fontColor
fontBackground: rest.fontBackground
json: rest.json
html: rest.html
type: rest.type
filter: rest.filter
outputParameters:
- type: object
mapping: $.
- path: /v1/cat/{tag}/says/{text}
name: v1-cat-tag-says-text
description: REST surface for /v1/cat/{tag}/says/{text}.
operations:
- method: GET
name: getRandomCatByTagSays
description: CATAAS Get a Random Tagged Cat with Text Overlay
call: cataas-cats.getRandomCatByTagSays
with:
tag: rest.tag
text: rest.text
fontSize: rest.fontSize
fontColor: rest.fontColor
fontBackground: rest.fontBackground
json: rest.json
outputParameters:
- type: object
mapping: $.
- path: /v1/cat/{id}
name: v1-cat-id
description: REST surface for /v1/cat/{id}.
operations:
- method: GET
name: getCatById
description: CATAAS Get a Specific Cat Image by Id
call: cataas-cats.getCatById
with:
id: rest.id
json: rest.json
html: rest.html
type: rest.type
filter: rest.filter
outputParameters:
- type: object
mapping: $.
- path: /v1/cat/{id}/says/{text}
name: v1-cat-id-says-text
description: REST surface for /v1/cat/{id}/says/{text}.
operations:
- method: GET
name: getCatByIdSays
description: CATAAS Get a Specific Cat with Text Overlay
call: cataas-cats.getCatByIdSays
with:
id: rest.id
text: rest.text
fontSize: rest.fontSize
fontColor: rest.fontColor
fontBackground: rest.fontBackground
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: cataas-cats-mcp
port: 9090
transport: http
description: MCP adapter for Cataas API — Cats. One tool per consumed operation, routed inline through this capability's consumes block.
tools:
- name: getrandomcat
description: CATAAS Get a Random Cat Image
hints:
readOnly: true
destructive: false
idempotent: true
call: cataas-cats.getRandomCat
with:
json: tools.json
html: tools.html
type: tools.type
width: tools.width
height: tools.height
fit: tools.fit
position: tools.position
filter: tools.filter
blur: tools.blur
brightness: tools.brightness
lightness: tools.lightness
saturation: tools.saturation
hue: tools.hue
r: tools.r
g: tools.g
b: tools.b
outputParameters:
- type: object
mapping: $.
- name: getrandomcatbytag
description: CATAAS Get a Random Cat Image by Tag
hints:
readOnly: true
destructive: false
idempotent: true
call: cataas-cats.getRandomCatByTag
with:
tag: tools.tag
json: tools.json
html: tools.html
type: tools.type
width: tools.width
height: tools.height
fit: tools.fit
position: tools.position
filter: tools.filter
blur: tools.blur
outputParameters:
- type: object
mapping: $.
- name: getrandomcatgif
description: CATAAS Get a Random Cat GIF
hints:
readOnly: true
destructive: false
idempotent: true
call: cataas-cats.getRandomCatGif
with:
json: tools.json
html: tools.html
width: tools.width
height: tools.height
outputParameters:
- type: object
mapping: $.
- name: getrandomcatsays
description: CATAAS Get a Random Cat Image with Text Overlay
hints:
readOnly: true
destructive: false
idempotent: true
call: cataas-cats.getRandomCatSays
with:
text: tools.text
fontSize: tools.fontSize
fontColor: tools.fontColor
fontBackground: tools.fontBackground
json: tools.json
html: tools.html
type: tools.type
filter: tools.filter
outputParameters:
- type: object
mapping: $.
- name: getrandomcatbytagsays
description: CATAAS Get a Random Tagged Cat with Text Overlay
hints:
readOnly: true
destructive: false
idempotent: true
call: cataas-cats.getRandomCatByTagSays
with:
tag: tools.tag
text: tools.text
fontSize: tools.fontSize
fontColor: tools.fontColor
fontBackground: tools.fontBackground
json: tools.json
outputParameters:
- type: object
mapping: $.
- name: getcatbyid
description: CATAAS Get a Specific Cat Image by Id
hints:
readOnly: true
destructive: false
idempotent: true
call: cataas-cats.getCatById
with:
id: tools.id
json: tools.json
html: tools.html
type: tools.type
filter: tools.filter
outputParameters:
- type: object
mapping: $.
- name: getcatbyidsays
description: CATAAS Get a Specific Cat with Text Overlay
hints:
readOnly: true
destructive: false
idempotent: true
call: cataas-cats.getCatByIdSays
with:
id: tools.id
text: tools.text
fontSize: tools.fontSize
fontColor: tools.fontColor
fontBackground: tools.fontBackground
outputParameters:
- type: object
mapping: $.