naftiko: "1.0.0-alpha2" info: title: Gravitee Alert Engine Bridge description: >- Configures Gravitee Alert Engine triggers (latency, error-rate, quota, anomaly, AI-token-spend) and bridges fired alerts back into Naftiko's notification + observability pipeline. Lets a Naftiko capability declare alerting intent once and have both Gravitee Alert Engine and Naftiko-side webhooks react to the same signals. tags: - Naftiko - Gravitee - Partnership - Alerts - Notifications - Observability created: '2026-05-15' modified: '2026-05-15' binds: - namespace: gravitee-env description: Gravitee APIM Management endpoint + token. keys: GRAVITEE_APIM_BASE: GRAVITEE_APIM_BASE GRAVITEE_APIM_TOKEN: GRAVITEE_APIM_TOKEN capability: consumes: - namespace: gravitee type: http baseUri: '{{GRAVITEE_APIM_BASE}}' authentication: type: bearer token: '{{GRAVITEE_APIM_TOKEN}}' resources: - name: alert-triggers path: '/management/v2/environments/{{env_id}}/alert-triggers' operations: - name: list-alert-triggers method: GET inputParameters: - { name: env_id, in: path, required: true } - name: create-alert-trigger method: POST inputParameters: - { name: env_id, in: path, required: true } - name: alert-trigger path: '/management/v2/environments/{{env_id}}/alert-triggers/{{trigger_id}}' operations: - name: get-alert-trigger method: GET inputParameters: - { name: env_id, in: path, required: true } - { name: trigger_id, in: path, required: true } - name: update-alert-trigger method: PUT inputParameters: - { name: env_id, in: path, required: true } - { name: trigger_id, in: path, required: true } - name: delete-alert-trigger method: DELETE inputParameters: - { name: env_id, in: path, required: true } - { name: trigger_id, in: path, required: true } - name: alert-events path: '/management/v2/environments/{{env_id}}/alert-events' operations: - name: list-alert-events method: GET inputParameters: - { name: env_id, in: path, required: true } - { name: since, in: query, required: false } - { name: trigger_id, in: query, required: false } - name: notifications path: '/management/v2/environments/{{env_id}}/notifiers' operations: - name: list-notifiers method: GET inputParameters: - { name: env_id, in: path, required: true } - name: create-notifier method: POST inputParameters: - { name: env_id, in: path, required: true } exposes: - type: rest address: 0.0.0.0 port: 8080 namespace: gravitee-alert-engine-bridge-rest description: REST surface for managing Gravitee Alert Engine triggers + events. resources: - name: alert-triggers path: '/environments/{env_id}/alert-triggers' operations: - name: list-alert-triggers method: GET inputParameters: - { name: env_id, in: path, type: string, required: true } call: gravitee.list-alert-triggers - name: create-alert-trigger method: POST inputParameters: - { name: env_id, in: path, type: string, required: true } call: gravitee.create-alert-trigger - name: alert-trigger path: '/environments/{env_id}/alert-triggers/{trigger_id}' operations: - name: get-alert-trigger method: GET inputParameters: - { name: env_id, in: path, type: string, required: true } - { name: trigger_id, in: path, type: string, required: true } call: gravitee.get-alert-trigger - name: update-alert-trigger method: PUT inputParameters: - { name: env_id, in: path, type: string, required: true } - { name: trigger_id, in: path, type: string, required: true } call: gravitee.update-alert-trigger - name: delete-alert-trigger method: DELETE inputParameters: - { name: env_id, in: path, type: string, required: true } - { name: trigger_id, in: path, type: string, required: true } call: gravitee.delete-alert-trigger - name: alert-events path: '/environments/{env_id}/alert-events' operations: - name: list-alert-events method: GET inputParameters: - { name: env_id, in: path, type: string, required: true } - { name: since, in: query, type: string, required: false } - { name: trigger_id, in: query, type: string, required: false } call: gravitee.list-alert-events - name: notifiers path: '/environments/{env_id}/notifiers' operations: - name: list-notifiers method: GET inputParameters: - { name: env_id, in: path, type: string, required: true } call: gravitee.list-notifiers - name: create-notifier method: POST inputParameters: - { name: env_id, in: path, type: string, required: true } call: gravitee.create-notifier - type: mcp address: 0.0.0.0 port: 3010 namespace: gravitee-alert-engine-bridge-mcp description: MCP server for managing Gravitee Alert Engine triggers and reading fired events. tools: - name: list-alert-triggers description: List Gravitee Alert Engine triggers in an environment. hints: { readOnly: true } inputParameters: - { name: env_id, type: string, required: true } call: gravitee.list-alert-triggers - name: create-alert-trigger description: Create a new Gravitee Alert Engine trigger (latency, errors, quota, AI-token-spend, etc.). hints: { destructiveHint: false } inputParameters: - { name: env_id, type: string, required: true } call: gravitee.create-alert-trigger - name: get-alert-trigger description: Get a single Gravitee Alert Engine trigger. hints: { readOnly: true } inputParameters: - { name: env_id, type: string, required: true } - { name: trigger_id, type: string, required: true } call: gravitee.get-alert-trigger - name: update-alert-trigger description: Update a Gravitee Alert Engine trigger. hints: { destructiveHint: true } inputParameters: - { name: env_id, type: string, required: true } - { name: trigger_id, type: string, required: true } call: gravitee.update-alert-trigger - name: delete-alert-trigger description: Delete a Gravitee Alert Engine trigger. hints: { destructiveHint: true } inputParameters: - { name: env_id, type: string, required: true } - { name: trigger_id, type: string, required: true } call: gravitee.delete-alert-trigger - name: list-alert-events description: List fired Gravitee alert events (filterable by trigger or time window). hints: { readOnly: true } inputParameters: - { name: env_id, type: string, required: true } - { name: since, type: string, required: false } - { name: trigger_id, type: string, required: false } call: gravitee.list-alert-events - name: list-notifiers description: List configured Gravitee notification channels (Slack, Webhook, Email). hints: { readOnly: true } inputParameters: - { name: env_id, type: string, required: true } call: gravitee.list-notifiers - name: create-notifier description: Create a new Gravitee notification channel. hints: { destructiveHint: false } inputParameters: - { name: env_id, type: string, required: true } call: gravitee.create-notifier