RubyGems · Capability

RubyGems Gems API — Versions

RubyGems Gems API — Versions. 3 operations. Lead operation: Get Versions Within A Timeframe. Self-contained Naftiko capability covering one Rubygems business surface.

Run with Naftiko RubygemsVersions

What You Can Do

GET
Gettimeframeversions — Get Versions Within A Timeframe
/v1/timeframe-versions-json
GET
Getgemversions — List Gem Versions
/v1/versions/gemname-json
GET
Getlatestgemversion — Get Latest Gem Version
/v1/versions/{gemname}/latest-json

MCP Tools

get-versions-within-timeframe

Get Versions Within A Timeframe

read-only idempotent
list-gem-versions

List Gem Versions

read-only idempotent
get-latest-gem-version

Get Latest Gem Version

read-only idempotent

Capability Spec

gems-versions.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: RubyGems Gems API — Versions
  description: 'RubyGems Gems API — Versions. 3 operations. Lead operation: Get Versions Within A Timeframe. Self-contained
    Naftiko capability covering one Rubygems business surface.'
  tags:
  - Rubygems
  - Versions
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    RUBYGEMS_API_KEY: RUBYGEMS_API_KEY
capability:
  consumes:
  - type: http
    namespace: gems-versions
    baseUri: https://rubygems.org/api/v1
    description: RubyGems Gems API — Versions business capability. Self-contained, no shared references.
    resources:
    - name: timeframe_versions.json
      path: /timeframe_versions.json
      operations:
      - name: gettimeframeversions
        method: GET
        description: Get Versions Within A Timeframe
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: from
          in: query
          type: string
          description: Start of the timeframe in ISO 8601 format (e.g., 2024-01-01T00:00:00Z). Required.
          required: true
        - name: to
          in: query
          type: string
          description: End of the timeframe in ISO 8601 format. Defaults to current time if not specified.
        - name: page
          in: query
          type: integer
          description: Page number for paginated results
    - name: versions-gemName}.json
      path: /versions/{gemName}.json
      operations:
      - name: getgemversions
        method: GET
        description: List Gem Versions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: versions-gemName-latest.json
      path: /versions/{gemName}/latest.json
      operations:
      - name: getlatestgemversion
        method: GET
        description: Get Latest Gem Version
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    authentication:
      type: apikey
      key: Authorization
      value: '{{env.RUBYGEMS_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: gems-versions-rest
    port: 8080
    description: REST adapter for RubyGems Gems API — Versions. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/timeframe-versions-json
      name: timeframe-versions-json
      description: REST surface for timeframe_versions.json.
      operations:
      - method: GET
        name: gettimeframeversions
        description: Get Versions Within A Timeframe
        call: gems-versions.gettimeframeversions
        with:
          from: rest.from
          to: rest.to
          page: rest.page
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/versions/gemname-json
      name: versions-gemname-json
      description: REST surface for versions-gemName}.json.
      operations:
      - method: GET
        name: getgemversions
        description: List Gem Versions
        call: gems-versions.getgemversions
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/versions/{gemname}/latest-json
      name: versions-gemname-latest-json
      description: REST surface for versions-gemName-latest.json.
      operations:
      - method: GET
        name: getlatestgemversion
        description: Get Latest Gem Version
        call: gems-versions.getlatestgemversion
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: gems-versions-mcp
    port: 9090
    transport: http
    description: MCP adapter for RubyGems Gems API — Versions. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: get-versions-within-timeframe
      description: Get Versions Within A Timeframe
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: gems-versions.gettimeframeversions
      with:
        from: tools.from
        to: tools.to
        page: tools.page
      outputParameters:
      - type: object
        mapping: $.
    - name: list-gem-versions
      description: List Gem Versions
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: gems-versions.getgemversions
      outputParameters:
      - type: object
        mapping: $.
    - name: get-latest-gem-version
      description: Get Latest Gem Version
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: gems-versions.getlatestgemversion
      outputParameters:
      - type: object
        mapping: $.