naftiko: 1.0.0-alpha2 info: label: NVD CVE API — CPE description: 'NVD CVE API — CPE. 1 operations. Lead operation: Get CPE (Common Platform Enumeration) records. Self-contained Naftiko capability covering one Nvd business surface.' tags: - Nvd - CPE created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: NVD_API_KEY: NVD_API_KEY capability: consumes: - type: http namespace: cve-cpe baseUri: https://services.nvd.nist.gov/rest/json description: NVD CVE API — CPE business capability. Self-contained, no shared references. resources: - name: cpes-2.0 path: /cpes/2.0 operations: - name: getcpes method: GET description: Get CPE (Common Platform Enumeration) records outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: cpeNameId in: query type: string description: CPE UUID identifier - name: cpeMatchString in: query type: string description: CPE 2.3 match string (wildcards supported) - name: keywordSearch in: query type: string - name: keywordExactMatch in: query type: boolean - name: lastModStartDate in: query type: string - name: lastModEndDate in: query type: string - name: matchCriteriaId in: query type: string - name: resultsPerPage in: query type: integer - name: startIndex in: query type: integer authentication: type: apikey key: apiKey value: '{{env.NVD_API_KEY}}' placement: header exposes: - type: rest namespace: cve-cpe-rest port: 8080 description: REST adapter for NVD CVE API — CPE. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/cpes/2-0 name: cpes-2-0 description: REST surface for cpes-2.0. operations: - method: GET name: getcpes description: Get CPE (Common Platform Enumeration) records call: cve-cpe.getcpes with: cpeNameId: rest.cpeNameId cpeMatchString: rest.cpeMatchString keywordSearch: rest.keywordSearch keywordExactMatch: rest.keywordExactMatch lastModStartDate: rest.lastModStartDate lastModEndDate: rest.lastModEndDate matchCriteriaId: rest.matchCriteriaId resultsPerPage: rest.resultsPerPage startIndex: rest.startIndex outputParameters: - type: object mapping: $. - type: mcp namespace: cve-cpe-mcp port: 9090 transport: http description: MCP adapter for NVD CVE API — CPE. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-cpe-common-platform-enumeration description: Get CPE (Common Platform Enumeration) records hints: readOnly: true destructive: false idempotent: true call: cve-cpe.getcpes with: cpeNameId: tools.cpeNameId cpeMatchString: tools.cpeMatchString keywordSearch: tools.keywordSearch keywordExactMatch: tools.keywordExactMatch lastModStartDate: tools.lastModStartDate lastModEndDate: tools.lastModEndDate matchCriteriaId: tools.matchCriteriaId resultsPerPage: tools.resultsPerPage startIndex: tools.startIndex outputParameters: - type: object mapping: $.