naftiko: 1.0.0-alpha2 info: label: News API — Sources description: 'News API — Sources. 1 operations. Lead operation: Get available news sources. Self-contained Naftiko capability covering one News Api business surface.' tags: - News Api - Sources created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: NEWS_API_API_KEY: NEWS_API_API_KEY capability: consumes: - type: http namespace: news-sources baseUri: https://newsapi.org/v2 description: News API — Sources business capability. Self-contained, no shared references. resources: - name: top-headlines-sources path: /top-headlines/sources operations: - name: getsources method: GET description: Get available news sources outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: category in: query type: string description: Filter sources by category. - name: language in: query type: string description: Filter sources by language (2-letter ISO-639-1 code). - name: country in: query type: string description: Filter sources by country (2-letter ISO 3166-1 code). authentication: type: apikey key: apiKey value: '{{env.NEWS_API_API_KEY}}' placement: query exposes: - type: rest namespace: news-sources-rest port: 8080 description: REST adapter for News API — Sources. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/top-headlines/sources name: top-headlines-sources description: REST surface for top-headlines-sources. operations: - method: GET name: getsources description: Get available news sources call: news-sources.getsources with: category: rest.category language: rest.language country: rest.country outputParameters: - type: object mapping: $. - type: mcp namespace: news-sources-mcp port: 9090 transport: http description: MCP adapter for News API — Sources. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-available-news-sources description: Get available news sources hints: readOnly: true destructive: false idempotent: true call: news-sources.getsources with: category: tools.category language: tools.language country: tools.country outputParameters: - type: object mapping: $.