naftiko: 1.0.0-alpha2 info: label: RubyGems Search API — Search description: 'RubyGems Search API — Search. 1 operations. Lead operation: Search For Gems. Self-contained Naftiko capability covering one Rubygems business surface.' tags: - Rubygems - Search created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: RUBYGEMS_API_KEY: RUBYGEMS_API_KEY capability: consumes: - type: http namespace: search-search baseUri: https://rubygems.org/api/v1 description: RubyGems Search API — Search business capability. Self-contained, no shared references. resources: - name: search.json path: /search.json operations: - name: searchgems method: GET description: Search For Gems outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: query in: query type: string description: The search query string to match against gem names and descriptions. required: true - name: page in: query type: integer description: Page number for paginated results. Each page returns up to 30 matching gems. exposes: - type: rest namespace: search-search-rest port: 8080 description: REST adapter for RubyGems Search API — Search. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/search-json name: search-json description: REST surface for search.json. operations: - method: GET name: searchgems description: Search For Gems call: search-search.searchgems with: query: rest.query page: rest.page outputParameters: - type: object mapping: $. - type: mcp namespace: search-search-mcp port: 9090 transport: http description: MCP adapter for RubyGems Search API — Search. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: search-gems description: Search For Gems hints: readOnly: true destructive: false idempotent: true call: search-search.searchgems with: query: tools.query page: tools.page outputParameters: - type: object mapping: $.