naftiko: 1.0.0-alpha2 info: label: Spaceflight News API — Articles description: 'Spaceflight News API — Articles. 2 operations. Lead operation: List Articles. Self-contained Naftiko capability covering one Spaceflight News Api business surface.' tags: - Spaceflight News Api - Articles created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: SPACEFLIGHT_NEWS_API_API_KEY: SPACEFLIGHT_NEWS_API_API_KEY capability: consumes: - type: http namespace: spaceflight-news-articles baseUri: https://api.spaceflightnewsapi.net/v4 description: Spaceflight News API — Articles business capability. Self-contained, no shared references. resources: - name: articles path: /articles/ operations: - name: listarticles method: GET description: List Articles outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: limit in: query type: integer description: Number of results to return per page (default 10, max 100) - name: offset in: query type: integer description: The initial index from which to return the results - name: search in: query type: string description: Filter articles whose title or summary contain the search term - name: news_site in: query type: string description: Filter articles by news site name (e.g., NASA, SpaceX) - name: launch in: query type: string description: Filter articles linked to a specific Launch Library 2 launch UUID - name: event in: query type: integer description: Filter articles linked to a specific Launch Library 2 event ID - name: ordering in: query type: string description: Sort field. Prefix with - for descending order (e.g., -published_at) - name: articles-id path: /articles/{id}/ operations: - name: getarticle method: GET description: Get Article outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: Unique identifier of the article required: true exposes: - type: rest namespace: spaceflight-news-articles-rest port: 8080 description: REST adapter for Spaceflight News API — Articles. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/articles name: articles description: REST surface for articles. operations: - method: GET name: listarticles description: List Articles call: spaceflight-news-articles.listarticles with: limit: rest.limit offset: rest.offset search: rest.search news_site: rest.news_site launch: rest.launch event: rest.event ordering: rest.ordering outputParameters: - type: object mapping: $. - path: /v1/articles/{id} name: articles-id description: REST surface for articles-id. operations: - method: GET name: getarticle description: Get Article call: spaceflight-news-articles.getarticle with: id: rest.id outputParameters: - type: object mapping: $. - type: mcp namespace: spaceflight-news-articles-mcp port: 9090 transport: http description: MCP adapter for Spaceflight News API — Articles. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-articles description: List Articles hints: readOnly: true destructive: false idempotent: true call: spaceflight-news-articles.listarticles with: limit: tools.limit offset: tools.offset search: tools.search news_site: tools.news_site launch: tools.launch event: tools.event ordering: tools.ordering outputParameters: - type: object mapping: $. - name: get-article description: Get Article hints: readOnly: true destructive: false idempotent: true call: spaceflight-news-articles.getarticle with: id: tools.id outputParameters: - type: object mapping: $.