Cat Facts API — Breeds

Cat Facts — Breeds. 1 operation. Lead operation: Get a List of Breeds. Self-contained Naftiko capability covering one Cat Facts business surface: a paginated catalog of cat breeds with country, origin, coat, and pattern. No authentication.

Run with Naftiko Cat FactsAnimalsBreedsCatalog

What You Can Do

GET
Getbreeds — Returns a paginated list of cat breeds.
/v1/breeds

MCP Tools

list-breeds

Returns a paginated list of cat breeds.

read-only idempotent

Capability Spec

cat-facts-catfact-breeds.yaml Raw ↑
naftiko: "1.0.0-alpha2"

info:
  label: "Cat Facts API — Breeds"
  description: >-
    Cat Facts — Breeds. 1 operation. Lead operation: Get a List of Breeds.
    Self-contained Naftiko capability covering one Cat Facts business surface:
    a paginated catalog of cat breeds with country, origin, coat, and pattern.
    No authentication.
  tags:
    - Cat Facts
    - Animals
    - Breeds
    - Catalog
  created: "2026-05-30"
  modified: "2026-05-30"

binds: []

capability:

  # ── 1. Consumes — the upstream HTTP API this capability speaks to ─────
  consumes:
    - type: http
      namespace: "cat-facts-catfact-breeds"
      baseUri: "https://catfact.ninja"
      description: "Cat Facts API — Breeds business capability. Self-contained, no shared references."
      resources:
        - name: "breeds"
          path: "/breeds"
          operations:
            - name: "getBreeds"
              method: GET
              description: "Returns a paginated list of cat breeds."
              inputParameters:
                - name: "limit"
                  in: query
                  type: integer
                  required: false
                  description: "Number of breeds to return per page."
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."

  # ── 2. REST exposer — required default. One Spectral-compliant resource per consumed op ──
  exposes:
    - type: rest
      namespace: "cat-facts-catfact-breeds-rest"
      port: 8080
      description: "REST adapter for Cat Facts API — Breeds. One Spectral-compliant resource per consumed operation, prefixed with /v1."
      resources:
        - path: "/v1/breeds"
          name: "breeds"
          description: "REST surface for the paginated breeds catalog endpoint."
          operations:
            - method: GET
              name: "getBreeds"
              description: "Returns a paginated list of cat breeds."
              call: "cat-facts-catfact-breeds.getBreeds"
              with:
                "limit": "rest.limit"
              outputParameters:
                - type: object
                  mapping: "$."

  # ── 3. MCP exposer — required default. One verb-noun tool per consumed op ──
    - type: mcp
      namespace: "cat-facts-catfact-breeds-mcp"
      port: 9090
      transport: http
      description: "MCP adapter for Cat Facts API — Breeds. One tool per consumed operation, routed inline through this capability's consumes block."
      tools:
        - name: "list-breeds"
          description: "Returns a paginated list of cat breeds."
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: "cat-facts-catfact-breeds.getBreeds"
          with:
            "limit": "tools.limit"
          outputParameters:
            - type: object
              mapping: "$."