naftiko: 1.0.0-alpha2 info: label: SWAPI — Planets description: >- SWAPI Planets. 2 operations (list + get). Lead operation: List All Planets. Planets featured across the Star Wars films. Self-contained Naftiko capability covering one SWAPI business surface. tags: - SWAPI - Star Wars - Planets created: '2026-05-29' modified: '2026-05-29' binds: - namespace: env keys: {} capability: consumes: - type: http namespace: swapi-planets baseUri: https://swapi.dev/api description: SWAPI — Planets business capability. Self-contained, no shared references. resources: - name: planets path: /planets/ operations: - name: listPlanets method: GET description: List All Planets inputParameters: - name: search in: query type: string required: false description: Case-insensitive partial match against the planet name. - name: page in: query type: integer required: false description: One-based page number for paginated list responses. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: getPlanet method: GET description: Get Planet By Id inputParameters: - name: id in: path type: integer required: true description: Numeric SWAPI identifier for the planet. outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest namespace: swapi-planets-rest port: 8080 description: REST adapter for SWAPI — Planets. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/planets name: planets description: REST surface for Planets. operations: - method: GET name: listPlanets description: List All Planets call: swapi-planets.listPlanets with: search: rest.search page: rest.page outputParameters: - type: object mapping: $. - path: /v1/planets/{id} name: planets-by-id description: REST surface for a single Planet. operations: - method: GET name: getPlanet description: Get Planet By Id call: swapi-planets.getPlanet with: id: rest.id outputParameters: - type: object mapping: $. - type: mcp namespace: swapi-planets-mcp port: 9090 transport: http description: MCP adapter for SWAPI — Planets. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-planets description: List All Planets hints: readOnly: true destructive: false idempotent: true call: swapi-planets.listPlanets with: search: tools.search page: tools.page outputParameters: - type: object mapping: $. - name: get-planet description: Get Planet By Id hints: readOnly: true destructive: false idempotent: true call: swapi-planets.getPlanet with: id: tools.id outputParameters: - type: object mapping: $.