naftiko: "1.0.0-alpha2" info: label: "RubyGems.org Registry API — Versions" description: >- Versions surface — Versions. 3 operations. Lead operation: List All Versions Of A Gem. Self-contained Naftiko capability covering one RubyGems business surface. tags: - RubyGems - Registry - Versions created: "2026-05-23" modified: "2026-05-23" binds: - namespace: env keys: RUBYGEMS_API_KEY: RUBYGEMS_API_KEY capability: consumes: - type: http namespace: "rubygems-registry-versions" baseUri: "https://rubygems.org" description: "RubyGems.org Registry — Versions surface. Self-contained, no shared references." authentication: type: apikey key: Authorization value: "{{env.RUBYGEMS_API_KEY}}" placement: header resources: - name: "versions-list" path: "/api/v1/versions/{gem_name}.json" operations: - name: "listVersions" method: GET description: "List all versions of a gem." inputParameters: - name: "gem_name" in: path type: string required: true description: "Canonical gem name." outputRawFormat: json outputParameters: - name: result type: object value: "$." - name: "latest-version" path: "/api/v1/versions/{gem_name}/latest.json" operations: - name: "getLatestVersion" method: GET description: "Get latest version of a gem." inputParameters: - name: "gem_name" in: path type: string required: true description: "Canonical gem name." outputRawFormat: json outputParameters: - name: result type: object value: "$." - name: "version-detail" path: "/api/v2/rubygems/{gem_name}/versions/{version}.json" operations: - name: "getVersionDetails" method: GET description: "Get gem version details (v2 endpoint)." inputParameters: - name: "gem_name" in: path type: string required: true description: "Canonical gem name." - name: "version" in: path type: string required: true description: "Version string." - name: "platform" in: query type: string required: false description: "Optional platform identifier." outputRawFormat: json outputParameters: - name: result type: object value: "$." exposes: - type: rest namespace: "rubygems-registry-versions-rest" port: 8080 description: "REST adapter for RubyGems.org Registry — Versions." resources: - path: "/v1/gems/{gem-name}/versions" name: "versions-list" description: "REST surface for gem versions list." operations: - method: GET name: "listVersions" description: "List all versions of a gem." call: "rubygems-registry-versions.listVersions" with: gem_name: "rest.gem_name" outputParameters: - type: object mapping: "$." - path: "/v1/gems/{gem-name}/versions/latest" name: "latest-version" description: "REST surface for the latest version of a gem." operations: - method: GET name: "getLatestVersion" description: "Get latest version of a gem." call: "rubygems-registry-versions.getLatestVersion" with: gem_name: "rest.gem_name" outputParameters: - type: object mapping: "$." - path: "/v1/gems/{gem-name}/versions/{version}" name: "version-detail" description: "REST surface for a specific gem version (v2 detail)." operations: - method: GET name: "getVersionDetails" description: "Get gem version details (v2 endpoint)." call: "rubygems-registry-versions.getVersionDetails" with: gem_name: "rest.gem_name" version: "rest.version" platform: "rest.platform" outputParameters: - type: object mapping: "$." - type: mcp namespace: "rubygems-registry-versions-mcp" port: 9090 transport: http description: "MCP adapter for RubyGems.org Registry — Versions." tools: - name: "list-versions" description: "List all versions of a gem." hints: readOnly: true destructive: false idempotent: true call: "rubygems-registry-versions.listVersions" with: gem_name: "tools.gem_name" outputParameters: - type: object mapping: "$." - name: "get-latest-version" description: "Get latest version of a gem." hints: readOnly: true destructive: false idempotent: true call: "rubygems-registry-versions.getLatestVersion" with: gem_name: "tools.gem_name" outputParameters: - type: object mapping: "$." - name: "get-version-details" description: "Get gem version details (v2 endpoint)." hints: readOnly: true destructive: false idempotent: true call: "rubygems-registry-versions.getVersionDetails" with: gem_name: "tools.gem_name" version: "tools.version" platform: "tools.platform" outputParameters: - type: object mapping: "$."