naftiko: 1.0.0-alpha2 info: label: Hoverfly Admin API — Hoverfly description: 'Hoverfly Admin API — Hoverfly. 14 operations. Lead operation: Get Hoverfly configuration. Self-contained Naftiko capability covering one Hoverfly business surface.' tags: - Hoverfly created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: HOVERFLY_API_KEY: HOVERFLY_API_KEY capability: consumes: - type: http namespace: hoverfly-hoverfly baseUri: http://localhost:8888 description: Hoverfly Admin API — Hoverfly business capability. Self-contained, no shared references. resources: - name: api-v2-hoverfly path: /api/v2/hoverfly operations: - name: gethoverfly method: GET description: Get Hoverfly configuration outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v2-hoverfly-cors path: /api/v2/hoverfly/cors operations: - name: getcors method: GET description: Get CORS settings outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v2-hoverfly-destination path: /api/v2/hoverfly/destination operations: - name: getdestination method: GET description: Get destination outputRawFormat: json outputParameters: - name: result type: object value: $. - name: setdestination method: PUT description: Set destination outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-hoverfly-middleware path: /api/v2/hoverfly/middleware operations: - name: getmiddleware method: GET description: Get middleware outputRawFormat: json outputParameters: - name: result type: object value: $. - name: setmiddleware method: PUT description: Update middleware outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-hoverfly-mode path: /api/v2/hoverfly/mode operations: - name: getmode method: GET description: Get mode outputRawFormat: json outputParameters: - name: result type: object value: $. - name: setmode method: PUT description: Set mode outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-v2-hoverfly-pac path: /api/v2/hoverfly/pac operations: - name: getpac method: GET description: Get PAC file outputRawFormat: json outputParameters: - name: result type: object value: $. - name: setpac method: PUT description: Set PAC file outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: deletepac method: DELETE description: Delete PAC file outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v2-hoverfly-upstream-proxy path: /api/v2/hoverfly/upstream-proxy operations: - name: getupstreamproxy method: GET description: Get upstream proxy outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v2-hoverfly-usage path: /api/v2/hoverfly/usage operations: - name: getusage method: GET description: Get usage metrics outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v2-hoverfly-version path: /api/v2/hoverfly/version operations: - name: getversion method: GET description: Get version outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest namespace: hoverfly-hoverfly-rest port: 8080 description: REST adapter for Hoverfly Admin API — Hoverfly. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/v2/hoverfly name: api-v2-hoverfly description: REST surface for api-v2-hoverfly. operations: - method: GET name: gethoverfly description: Get Hoverfly configuration call: hoverfly-hoverfly.gethoverfly outputParameters: - type: object mapping: $. - path: /v1/api/v2/hoverfly/cors name: api-v2-hoverfly-cors description: REST surface for api-v2-hoverfly-cors. operations: - method: GET name: getcors description: Get CORS settings call: hoverfly-hoverfly.getcors outputParameters: - type: object mapping: $. - path: /v1/api/v2/hoverfly/destination name: api-v2-hoverfly-destination description: REST surface for api-v2-hoverfly-destination. operations: - method: GET name: getdestination description: Get destination call: hoverfly-hoverfly.getdestination outputParameters: - type: object mapping: $. - method: PUT name: setdestination description: Set destination call: hoverfly-hoverfly.setdestination with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/hoverfly/middleware name: api-v2-hoverfly-middleware description: REST surface for api-v2-hoverfly-middleware. operations: - method: GET name: getmiddleware description: Get middleware call: hoverfly-hoverfly.getmiddleware outputParameters: - type: object mapping: $. - method: PUT name: setmiddleware description: Update middleware call: hoverfly-hoverfly.setmiddleware with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/hoverfly/mode name: api-v2-hoverfly-mode description: REST surface for api-v2-hoverfly-mode. operations: - method: GET name: getmode description: Get mode call: hoverfly-hoverfly.getmode outputParameters: - type: object mapping: $. - method: PUT name: setmode description: Set mode call: hoverfly-hoverfly.setmode with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v2/hoverfly/pac name: api-v2-hoverfly-pac description: REST surface for api-v2-hoverfly-pac. operations: - method: GET name: getpac description: Get PAC file call: hoverfly-hoverfly.getpac outputParameters: - type: object mapping: $. - method: PUT name: setpac description: Set PAC file call: hoverfly-hoverfly.setpac with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletepac description: Delete PAC file call: hoverfly-hoverfly.deletepac outputParameters: - type: object mapping: $. - path: /v1/api/v2/hoverfly/upstream-proxy name: api-v2-hoverfly-upstream-proxy description: REST surface for api-v2-hoverfly-upstream-proxy. operations: - method: GET name: getupstreamproxy description: Get upstream proxy call: hoverfly-hoverfly.getupstreamproxy outputParameters: - type: object mapping: $. - path: /v1/api/v2/hoverfly/usage name: api-v2-hoverfly-usage description: REST surface for api-v2-hoverfly-usage. operations: - method: GET name: getusage description: Get usage metrics call: hoverfly-hoverfly.getusage outputParameters: - type: object mapping: $. - path: /v1/api/v2/hoverfly/version name: api-v2-hoverfly-version description: REST surface for api-v2-hoverfly-version. operations: - method: GET name: getversion description: Get version call: hoverfly-hoverfly.getversion outputParameters: - type: object mapping: $. - type: mcp namespace: hoverfly-hoverfly-mcp port: 9090 transport: http description: MCP adapter for Hoverfly Admin API — Hoverfly. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-hoverfly-configuration description: Get Hoverfly configuration hints: readOnly: true destructive: false idempotent: true call: hoverfly-hoverfly.gethoverfly outputParameters: - type: object mapping: $. - name: get-cors-settings description: Get CORS settings hints: readOnly: true destructive: false idempotent: true call: hoverfly-hoverfly.getcors outputParameters: - type: object mapping: $. - name: get-destination description: Get destination hints: readOnly: true destructive: false idempotent: true call: hoverfly-hoverfly.getdestination outputParameters: - type: object mapping: $. - name: set-destination description: Set destination hints: readOnly: false destructive: false idempotent: true call: hoverfly-hoverfly.setdestination with: body: tools.body outputParameters: - type: object mapping: $. - name: get-middleware description: Get middleware hints: readOnly: true destructive: false idempotent: true call: hoverfly-hoverfly.getmiddleware outputParameters: - type: object mapping: $. - name: update-middleware description: Update middleware hints: readOnly: false destructive: false idempotent: true call: hoverfly-hoverfly.setmiddleware with: body: tools.body outputParameters: - type: object mapping: $. - name: get-mode description: Get mode hints: readOnly: true destructive: false idempotent: true call: hoverfly-hoverfly.getmode outputParameters: - type: object mapping: $. - name: set-mode description: Set mode hints: readOnly: false destructive: false idempotent: true call: hoverfly-hoverfly.setmode with: body: tools.body outputParameters: - type: object mapping: $. - name: get-pac-file description: Get PAC file hints: readOnly: true destructive: false idempotent: true call: hoverfly-hoverfly.getpac outputParameters: - type: object mapping: $. - name: set-pac-file description: Set PAC file hints: readOnly: false destructive: false idempotent: true call: hoverfly-hoverfly.setpac with: body: tools.body outputParameters: - type: object mapping: $. - name: delete-pac-file description: Delete PAC file hints: readOnly: false destructive: true idempotent: true call: hoverfly-hoverfly.deletepac outputParameters: - type: object mapping: $. - name: get-upstream-proxy description: Get upstream proxy hints: readOnly: true destructive: false idempotent: true call: hoverfly-hoverfly.getupstreamproxy outputParameters: - type: object mapping: $. - name: get-usage-metrics description: Get usage metrics hints: readOnly: true destructive: false idempotent: true call: hoverfly-hoverfly.getusage outputParameters: - type: object mapping: $. - name: get-version description: Get version hints: readOnly: true destructive: false idempotent: true call: hoverfly-hoverfly.getversion outputParameters: - type: object mapping: $.