naftiko: 1.0.0-alpha2 info: label: HashiCorp Consul HTTP API — Config Entries description: 'HashiCorp Consul HTTP API — Config Entries. 4 operations. Lead operation: Apply a config entry. Self-contained Naftiko capability covering one Consul business surface.' tags: - Consul - Config Entries created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: CONSUL_API_KEY: CONSUL_API_KEY capability: consumes: - type: http namespace: http-config-entries baseUri: http://localhost:8500/v1 description: HashiCorp Consul HTTP API — Config Entries business capability. Self-contained, no shared references. resources: - name: config path: /config operations: - name: applyconfigentry method: PUT description: Apply a config entry outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: cas in: query type: integer - name: body in: body type: object description: Request body (JSON). required: true - name: config-kind path: /config/{kind} operations: - name: listconfigentries method: GET description: List config entries by kind outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: kind in: path type: string required: true - name: config-kind-name path: /config/{kind}/{name} operations: - name: getconfigentry method: GET description: Get a config entry outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: kind in: path type: string required: true - name: name in: path type: string required: true - name: deleteconfigentry method: DELETE description: Delete a config entry outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: kind in: path type: string required: true - name: name in: path type: string required: true - name: cas in: query type: integer authentication: type: apikey key: X-Consul-Token value: '{{env.CONSUL_API_KEY}}' placement: header exposes: - type: rest namespace: http-config-entries-rest port: 8080 description: REST adapter for HashiCorp Consul HTTP API — Config Entries. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/config name: config description: REST surface for config. operations: - method: PUT name: applyconfigentry description: Apply a config entry call: http-config-entries.applyconfigentry with: cas: rest.cas body: rest.body outputParameters: - type: object mapping: $. - path: /v1/config/{kind} name: config-kind description: REST surface for config-kind. operations: - method: GET name: listconfigentries description: List config entries by kind call: http-config-entries.listconfigentries with: kind: rest.kind outputParameters: - type: object mapping: $. - path: /v1/config/{kind}/{name} name: config-kind-name description: REST surface for config-kind-name. operations: - method: GET name: getconfigentry description: Get a config entry call: http-config-entries.getconfigentry with: kind: rest.kind name: rest.name outputParameters: - type: object mapping: $. - method: DELETE name: deleteconfigentry description: Delete a config entry call: http-config-entries.deleteconfigentry with: kind: rest.kind name: rest.name cas: rest.cas outputParameters: - type: object mapping: $. - type: mcp namespace: http-config-entries-mcp port: 9090 transport: http description: MCP adapter for HashiCorp Consul HTTP API — Config Entries. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: apply-config-entry description: Apply a config entry hints: readOnly: false destructive: false idempotent: true call: http-config-entries.applyconfigentry with: cas: tools.cas body: tools.body outputParameters: - type: object mapping: $. - name: list-config-entries-kind description: List config entries by kind hints: readOnly: true destructive: false idempotent: true call: http-config-entries.listconfigentries with: kind: tools.kind outputParameters: - type: object mapping: $. - name: get-config-entry description: Get a config entry hints: readOnly: true destructive: false idempotent: true call: http-config-entries.getconfigentry with: kind: tools.kind name: tools.name outputParameters: - type: object mapping: $. - name: delete-config-entry description: Delete a config entry hints: readOnly: false destructive: true idempotent: true call: http-config-entries.deleteconfigentry with: kind: tools.kind name: tools.name cas: tools.cas outputParameters: - type: object mapping: $.