Hacker News · Capability

Hacker News API — Lists

Hacker News API — Lists. 6 operations. Lead operation: Get latest Ask HN stories. Self-contained Naftiko capability covering one Hacker News business surface.

Run with Naftiko Hacker NewsLists

What You Can Do

GET
Getaskstories — Get latest Ask HN stories
/v1/askstories-json
GET
Getbeststories — Get best stories
/v1/beststories-json
GET
Getjobstories — Get latest job stories
/v1/jobstories-json
GET
Getnewstories — Get new stories
/v1/newstories-json
GET
Getshowstories — Get latest Show HN stories
/v1/showstories-json
GET
Gettopstories — Get top stories
/v1/topstories-json

MCP Tools

get-latest-ask-hn-stories

Get latest Ask HN stories

read-only idempotent
get-best-stories

Get best stories

read-only idempotent
get-latest-job-stories

Get latest job stories

read-only idempotent
get-new-stories

Get new stories

read-only idempotent
get-latest-show-hn-stories

Get latest Show HN stories

read-only idempotent
get-top-stories

Get top stories

read-only idempotent

Capability Spec

hacker-news-lists.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Hacker News API — Lists
  description: 'Hacker News API — Lists. 6 operations. Lead operation: Get latest Ask HN stories. Self-contained Naftiko capability
    covering one Hacker News business surface.'
  tags:
  - Hacker News
  - Lists
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    HACKER_NEWS_API_KEY: HACKER_NEWS_API_KEY
capability:
  consumes:
  - type: http
    namespace: hacker-news-lists
    baseUri: https://hacker-news.firebaseio.com/v0
    description: Hacker News API — Lists business capability. Self-contained, no shared references.
    resources:
    - name: askstories.json
      path: /askstories.json
      operations:
      - name: getaskstories
        method: GET
        description: Get latest Ask HN stories
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: beststories.json
      path: /beststories.json
      operations:
      - name: getbeststories
        method: GET
        description: Get best stories
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: jobstories.json
      path: /jobstories.json
      operations:
      - name: getjobstories
        method: GET
        description: Get latest job stories
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: newstories.json
      path: /newstories.json
      operations:
      - name: getnewstories
        method: GET
        description: Get new stories
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: showstories.json
      path: /showstories.json
      operations:
      - name: getshowstories
        method: GET
        description: Get latest Show HN stories
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: topstories.json
      path: /topstories.json
      operations:
      - name: gettopstories
        method: GET
        description: Get top stories
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    namespace: hacker-news-lists-rest
    port: 8080
    description: REST adapter for Hacker News API — Lists. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/askstories-json
      name: askstories-json
      description: REST surface for askstories.json.
      operations:
      - method: GET
        name: getaskstories
        description: Get latest Ask HN stories
        call: hacker-news-lists.getaskstories
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/beststories-json
      name: beststories-json
      description: REST surface for beststories.json.
      operations:
      - method: GET
        name: getbeststories
        description: Get best stories
        call: hacker-news-lists.getbeststories
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/jobstories-json
      name: jobstories-json
      description: REST surface for jobstories.json.
      operations:
      - method: GET
        name: getjobstories
        description: Get latest job stories
        call: hacker-news-lists.getjobstories
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/newstories-json
      name: newstories-json
      description: REST surface for newstories.json.
      operations:
      - method: GET
        name: getnewstories
        description: Get new stories
        call: hacker-news-lists.getnewstories
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/showstories-json
      name: showstories-json
      description: REST surface for showstories.json.
      operations:
      - method: GET
        name: getshowstories
        description: Get latest Show HN stories
        call: hacker-news-lists.getshowstories
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/topstories-json
      name: topstories-json
      description: REST surface for topstories.json.
      operations:
      - method: GET
        name: gettopstories
        description: Get top stories
        call: hacker-news-lists.gettopstories
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: hacker-news-lists-mcp
    port: 9090
    transport: http
    description: MCP adapter for Hacker News API — Lists. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: get-latest-ask-hn-stories
      description: Get latest Ask HN stories
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: hacker-news-lists.getaskstories
      outputParameters:
      - type: object
        mapping: $.
    - name: get-best-stories
      description: Get best stories
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: hacker-news-lists.getbeststories
      outputParameters:
      - type: object
        mapping: $.
    - name: get-latest-job-stories
      description: Get latest job stories
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: hacker-news-lists.getjobstories
      outputParameters:
      - type: object
        mapping: $.
    - name: get-new-stories
      description: Get new stories
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: hacker-news-lists.getnewstories
      outputParameters:
      - type: object
        mapping: $.
    - name: get-latest-show-hn-stories
      description: Get latest Show HN stories
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: hacker-news-lists.getshowstories
      outputParameters:
      - type: object
        mapping: $.
    - name: get-top-stories
      description: Get top stories
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: hacker-news-lists.gettopstories
      outputParameters:
      - type: object
        mapping: $.