kanye.rest · Capability

Kanye REST — Quotes

Quotes — Kanye REST. 3 operations. Lead operation: Get Random Quote. Self-contained Naftiko capability covering one Kanye REST business surface.

Run with Naftiko Kanye RESTQuotesPersonality

What You Can Do

GET
Getrandomquote — Returns a single random Kanye West quote wrapped in a JSON object.
/v1/quotes/random
GET
Getrandomquotetext — Returns a single random Kanye West quote as plain text.
/v1/quotes/random-text
GET
Listallquotes — Returns the complete collection of Kanye West quotes.
/v1/quotes

MCP Tools

get-random-quote

Returns a single random Kanye West quote as JSON.

read-only idempotent
get-random-quote-text

Returns a single random Kanye West quote as plain text.

read-only idempotent
list-all-quotes

Returns the complete collection of Kanye West quotes.

read-only idempotent

Capability Spec

kanye-rest-quotes.yaml Raw ↑
naftiko: "1.0.0-alpha2"

info:
  label: "Kanye REST — Quotes"
  description: >-
    Quotes — Kanye REST. 3 operations. Lead operation: Get Random Quote.
    Self-contained Naftiko capability covering one Kanye REST business surface.
  tags:
    - Kanye REST
    - Quotes
    - Personality
  created: "2026-05-29"
  modified: "2026-05-29"

binds:
  - namespace: env
    keys: {}

capability:

  # ── 1. Consumes — the upstream HTTP API this capability speaks to ─────
  consumes:
    - type: http
      namespace: "kanye-rest-quotes"
      baseUri: "https://api.kanye.rest"
      description: "Kanye REST — Quotes business capability. Self-contained, no shared references. Public unauthenticated edge API hosted on Cloudflare Workers."
      resources:
        - name: "root"
          path: "/"
          operations:
            - name: "getRandomQuote"
              method: GET
              description: "Returns a single random Kanye West quote wrapped in a JSON object."
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."
        - name: "text"
          path: "/text"
          operations:
            - name: "getRandomQuoteText"
              method: GET
              description: "Returns a single random Kanye West quote as plain text."
              outputRawFormat: text
              outputParameters:
                - name: result
                  type: string
                  value: "$."
        - name: "quotes"
          path: "/quotes"
          operations:
            - name: "listAllQuotes"
              method: GET
              description: "Returns the complete collection of Kanye West quotes as a JSON array of strings."
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: array
                  value: "$."

  # ── 2. REST exposer — required default. One Spectral-compliant resource per consumed op ──
  exposes:
    - type: rest
      namespace: "kanye-rest-quotes-rest"
      port: 8080
      description: "REST adapter for Kanye REST — Quotes. One Spectral-compliant resource per consumed operation, prefixed with /v1."
      resources:
        - path: "/v1/quotes/random"
          name: "random-quote"
          description: "REST surface for retrieving a random Kanye West quote as JSON."
          operations:
            - method: GET
              name: "getRandomQuote"
              description: "Returns a single random Kanye West quote wrapped in a JSON object."
              call: "kanye-rest-quotes.getRandomQuote"
              with: {}
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/quotes/random-text"
          name: "random-quote-text"
          description: "REST surface for retrieving a random Kanye West quote as plain text."
          operations:
            - method: GET
              name: "getRandomQuoteText"
              description: "Returns a single random Kanye West quote as plain text."
              call: "kanye-rest-quotes.getRandomQuoteText"
              with: {}
              outputParameters:
                - type: object
                  mapping: "$."
        - path: "/v1/quotes"
          name: "quotes"
          description: "REST surface for retrieving the complete collection of Kanye West quotes."
          operations:
            - method: GET
              name: "listAllQuotes"
              description: "Returns the complete collection of Kanye West quotes."
              call: "kanye-rest-quotes.listAllQuotes"
              with: {}
              outputParameters:
                - type: object
                  mapping: "$."

  # ── 3. MCP exposer — required default. One verb-noun tool per consumed op ──
    - type: mcp
      namespace: "kanye-rest-quotes-mcp"
      port: 9090
      transport: http
      description: "MCP adapter for Kanye REST — Quotes. One tool per consumed operation, routed inline through this capability's consumes block."
      tools:
        - name: "get-random-quote"
          description: "Returns a single random Kanye West quote as JSON."
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: "kanye-rest-quotes.getRandomQuote"
          with: {}
          outputParameters:
            - type: object
              mapping: "$."
        - name: "get-random-quote-text"
          description: "Returns a single random Kanye West quote as plain text."
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: "kanye-rest-quotes.getRandomQuoteText"
          with: {}
          outputParameters:
            - type: object
              mapping: "$."
        - name: "list-all-quotes"
          description: "Returns the complete collection of Kanye West quotes."
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: "kanye-rest-quotes.listAllQuotes"
          with: {}
          outputParameters:
            - type: object
              mapping: "$."