naftiko: 1.0.0-alpha2 info: label: GitLab API — features description: 'GitLab API — features. 4 operations. Lead operation: List all features. Self-contained Naftiko capability covering one Gitlab Ci business surface.' tags: - Gitlab Ci - features created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: GITLAB_CI_API_KEY: GITLAB_CI_API_KEY capability: consumes: - type: http namespace: gitlab-ci-features baseUri: https://gitlab.com description: GitLab API — features business capability. Self-contained, no shared references. resources: - name: api-v4-features path: /api/v4/features operations: - name: getapiv4features method: GET description: List all features outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v4-features-definitions path: /api/v4/features/definitions operations: - name: getapiv4featuresdefinitions method: GET description: List all feature definitions outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v4-features-name path: /api/v4/features/{name} operations: - name: postapiv4featuresname method: POST description: Set or create a feature outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: integer required: true - name: postApiV4FeaturesName in: body type: string required: true - name: deleteapiv4featuresname method: DELETE description: Delete a feature outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: integer required: true exposes: - type: rest namespace: gitlab-ci-features-rest port: 8080 description: REST adapter for GitLab API — features. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/v4/features name: api-v4-features description: REST surface for api-v4-features. operations: - method: GET name: getapiv4features description: List all features call: gitlab-ci-features.getapiv4features outputParameters: - type: object mapping: $. - path: /v1/api/v4/features/definitions name: api-v4-features-definitions description: REST surface for api-v4-features-definitions. operations: - method: GET name: getapiv4featuresdefinitions description: List all feature definitions call: gitlab-ci-features.getapiv4featuresdefinitions outputParameters: - type: object mapping: $. - path: /v1/api/v4/features/{name} name: api-v4-features-name description: REST surface for api-v4-features-name. operations: - method: POST name: postapiv4featuresname description: Set or create a feature call: gitlab-ci-features.postapiv4featuresname with: name: rest.name postApiV4FeaturesName: rest.postApiV4FeaturesName outputParameters: - type: object mapping: $. - method: DELETE name: deleteapiv4featuresname description: Delete a feature call: gitlab-ci-features.deleteapiv4featuresname with: name: rest.name outputParameters: - type: object mapping: $. - type: mcp namespace: gitlab-ci-features-mcp port: 9090 transport: http description: MCP adapter for GitLab API — features. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-all-features description: List all features hints: readOnly: true destructive: false idempotent: true call: gitlab-ci-features.getapiv4features outputParameters: - type: object mapping: $. - name: list-all-feature-definitions description: List all feature definitions hints: readOnly: true destructive: false idempotent: true call: gitlab-ci-features.getapiv4featuresdefinitions outputParameters: - type: object mapping: $. - name: set-create-feature description: Set or create a feature hints: readOnly: false destructive: false idempotent: false call: gitlab-ci-features.postapiv4featuresname with: name: tools.name postApiV4FeaturesName: tools.postApiV4FeaturesName outputParameters: - type: object mapping: $. - name: delete-feature description: Delete a feature hints: readOnly: false destructive: true idempotent: true call: gitlab-ci-features.deleteapiv4featuresname with: name: tools.name outputParameters: - type: object mapping: $.