naftiko: 1.0.0-alpha2 info: label: NordVPN Public API — Catalog description: 'NordVPN Public API — Catalog. 3 operations. Lead operation: List available countries. Self-contained Naftiko capability covering one Vpn business surface.' tags: - Vpn - Catalog created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: VPN_API_KEY: VPN_API_KEY capability: consumes: - type: http namespace: vpn-catalog baseUri: https://api.nordvpn.com description: NordVPN Public API — Catalog business capability. Self-contained, no shared references. resources: - name: v1-servers-countries path: /v1/servers/countries operations: - name: get method: GET description: List available countries outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-servers-groups path: /v1/servers/groups operations: - name: get method: GET description: List server groups (categories) outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-technologies path: /v1/technologies operations: - name: get method: GET description: List supported VPN technologies outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest namespace: vpn-catalog-rest port: 8080 description: REST adapter for NordVPN Public API — Catalog. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/servers/countries name: v1-servers-countries description: REST surface for v1-servers-countries. operations: - method: GET name: get description: List available countries call: vpn-catalog.get outputParameters: - type: object mapping: $. - path: /v1/v1/servers/groups name: v1-servers-groups description: REST surface for v1-servers-groups. operations: - method: GET name: get description: List server groups (categories) call: vpn-catalog.get outputParameters: - type: object mapping: $. - path: /v1/v1/technologies name: v1-technologies description: REST surface for v1-technologies. operations: - method: GET name: get description: List supported VPN technologies call: vpn-catalog.get outputParameters: - type: object mapping: $. - type: mcp namespace: vpn-catalog-mcp port: 9090 transport: http description: MCP adapter for NordVPN Public API — Catalog. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-available-countries description: List available countries hints: readOnly: true destructive: false idempotent: true call: vpn-catalog.get outputParameters: - type: object mapping: $. - name: list-server-groups-categories description: List server groups (categories) hints: readOnly: true destructive: false idempotent: true call: vpn-catalog.get outputParameters: - type: object mapping: $. - name: list-supported-vpn-technologies description: List supported VPN technologies hints: readOnly: true destructive: false idempotent: true call: vpn-catalog.get outputParameters: - type: object mapping: $.