naftiko: 1.0.0-alpha2 info: label: GitLab API — wikis description: 'GitLab API — wikis. 12 operations. Lead operation: Upload an attachment to the wiki repository. Self-contained Naftiko capability covering one Gitlab Ci business surface.' tags: - Gitlab Ci - wikis 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-wikis baseUri: https://gitlab.com description: GitLab API — wikis business capability. Self-contained, no shared references. resources: - name: api-v4-groups-id-wikis path: /api/v4/groups/{id}/wikis operations: - name: getapiv4groupsidwikis method: GET description: Get a list of wiki pages outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: with_content in: query type: boolean description: Include pages' content - name: id in: path type: integer required: true - name: postapiv4groupsidwikis method: POST description: Create a wiki page outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer required: true - name: postApiV4GroupsIdWikis in: body type: string required: true - name: api-v4-groups-id-wikis-attachments path: /api/v4/groups/{id}/wikis/attachments operations: - name: postapiv4groupsidwikisattachments method: POST description: Upload an attachment to the wiki repository outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer required: true - name: postApiV4GroupsIdWikisAttachments in: body type: string required: true - name: api-v4-groups-id-wikis-slug path: /api/v4/groups/{id}/wikis/{slug} operations: - name: getapiv4groupsidwikisslug method: GET description: Get a wiki page outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: slug in: path type: string description: The slug of a wiki page required: true - name: version in: query type: string description: The version hash of a wiki page - name: render_html in: query type: boolean description: Render content to HTML - name: id in: path type: integer required: true - name: putapiv4groupsidwikisslug method: PUT description: Update a wiki page outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer required: true - name: slug in: path type: integer required: true - name: putApiV4GroupsIdWikisSlug in: body type: string required: true - name: deleteapiv4groupsidwikisslug method: DELETE description: Delete a wiki page outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: slug in: path type: string description: The slug of a wiki page required: true - name: id in: path type: integer required: true - name: api-v4-projects-id-wikis path: /api/v4/projects/{id}/wikis operations: - name: getapiv4projectsidwikis method: GET description: Get a list of wiki pages outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: with_content in: query type: boolean description: Include pages' content - name: id in: path type: integer required: true - name: postapiv4projectsidwikis method: POST description: Create a wiki page outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer required: true - name: postApiV4ProjectsIdWikis in: body type: string required: true - name: api-v4-projects-id-wikis-attachments path: /api/v4/projects/{id}/wikis/attachments operations: - name: postapiv4projectsidwikisattachments method: POST description: Upload an attachment to the wiki repository outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer required: true - name: postApiV4ProjectsIdWikisAttachments in: body type: string required: true - name: api-v4-projects-id-wikis-slug path: /api/v4/projects/{id}/wikis/{slug} operations: - name: getapiv4projectsidwikisslug method: GET description: Get a wiki page outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: slug in: path type: string description: The slug of a wiki page required: true - name: version in: query type: string description: The version hash of a wiki page - name: render_html in: query type: boolean description: Render content to HTML - name: id in: path type: integer required: true - name: putapiv4projectsidwikisslug method: PUT description: Update a wiki page outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer required: true - name: slug in: path type: integer required: true - name: putApiV4ProjectsIdWikisSlug in: body type: string required: true - name: deleteapiv4projectsidwikisslug method: DELETE description: Delete a wiki page outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: slug in: path type: string description: The slug of a wiki page required: true - name: id in: path type: integer required: true exposes: - type: rest namespace: gitlab-ci-wikis-rest port: 8080 description: REST adapter for GitLab API — wikis. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/v4/groups/{id}/wikis name: api-v4-groups-id-wikis description: REST surface for api-v4-groups-id-wikis. operations: - method: GET name: getapiv4groupsidwikis description: Get a list of wiki pages call: gitlab-ci-wikis.getapiv4groupsidwikis with: with_content: rest.with_content id: rest.id outputParameters: - type: object mapping: $. - method: POST name: postapiv4groupsidwikis description: Create a wiki page call: gitlab-ci-wikis.postapiv4groupsidwikis with: id: rest.id postApiV4GroupsIdWikis: rest.postApiV4GroupsIdWikis outputParameters: - type: object mapping: $. - path: /v1/api/v4/groups/{id}/wikis/attachments name: api-v4-groups-id-wikis-attachments description: REST surface for api-v4-groups-id-wikis-attachments. operations: - method: POST name: postapiv4groupsidwikisattachments description: Upload an attachment to the wiki repository call: gitlab-ci-wikis.postapiv4groupsidwikisattachments with: id: rest.id postApiV4GroupsIdWikisAttachments: rest.postApiV4GroupsIdWikisAttachments outputParameters: - type: object mapping: $. - path: /v1/api/v4/groups/{id}/wikis/{slug} name: api-v4-groups-id-wikis-slug description: REST surface for api-v4-groups-id-wikis-slug. operations: - method: GET name: getapiv4groupsidwikisslug description: Get a wiki page call: gitlab-ci-wikis.getapiv4groupsidwikisslug with: slug: rest.slug version: rest.version render_html: rest.render_html id: rest.id outputParameters: - type: object mapping: $. - method: PUT name: putapiv4groupsidwikisslug description: Update a wiki page call: gitlab-ci-wikis.putapiv4groupsidwikisslug with: id: rest.id slug: rest.slug putApiV4GroupsIdWikisSlug: rest.putApiV4GroupsIdWikisSlug outputParameters: - type: object mapping: $. - method: DELETE name: deleteapiv4groupsidwikisslug description: Delete a wiki page call: gitlab-ci-wikis.deleteapiv4groupsidwikisslug with: slug: rest.slug id: rest.id outputParameters: - type: object mapping: $. - path: /v1/api/v4/projects/{id}/wikis name: api-v4-projects-id-wikis description: REST surface for api-v4-projects-id-wikis. operations: - method: GET name: getapiv4projectsidwikis description: Get a list of wiki pages call: gitlab-ci-wikis.getapiv4projectsidwikis with: with_content: rest.with_content id: rest.id outputParameters: - type: object mapping: $. - method: POST name: postapiv4projectsidwikis description: Create a wiki page call: gitlab-ci-wikis.postapiv4projectsidwikis with: id: rest.id postApiV4ProjectsIdWikis: rest.postApiV4ProjectsIdWikis outputParameters: - type: object mapping: $. - path: /v1/api/v4/projects/{id}/wikis/attachments name: api-v4-projects-id-wikis-attachments description: REST surface for api-v4-projects-id-wikis-attachments. operations: - method: POST name: postapiv4projectsidwikisattachments description: Upload an attachment to the wiki repository call: gitlab-ci-wikis.postapiv4projectsidwikisattachments with: id: rest.id postApiV4ProjectsIdWikisAttachments: rest.postApiV4ProjectsIdWikisAttachments outputParameters: - type: object mapping: $. - path: /v1/api/v4/projects/{id}/wikis/{slug} name: api-v4-projects-id-wikis-slug description: REST surface for api-v4-projects-id-wikis-slug. operations: - method: GET name: getapiv4projectsidwikisslug description: Get a wiki page call: gitlab-ci-wikis.getapiv4projectsidwikisslug with: slug: rest.slug version: rest.version render_html: rest.render_html id: rest.id outputParameters: - type: object mapping: $. - method: PUT name: putapiv4projectsidwikisslug description: Update a wiki page call: gitlab-ci-wikis.putapiv4projectsidwikisslug with: id: rest.id slug: rest.slug putApiV4ProjectsIdWikisSlug: rest.putApiV4ProjectsIdWikisSlug outputParameters: - type: object mapping: $. - method: DELETE name: deleteapiv4projectsidwikisslug description: Delete a wiki page call: gitlab-ci-wikis.deleteapiv4projectsidwikisslug with: slug: rest.slug id: rest.id outputParameters: - type: object mapping: $. - type: mcp namespace: gitlab-ci-wikis-mcp port: 9090 transport: http description: MCP adapter for GitLab API — wikis. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-list-wiki-pages description: Get a list of wiki pages hints: readOnly: true destructive: false idempotent: true call: gitlab-ci-wikis.getapiv4groupsidwikis with: with_content: tools.with_content id: tools.id outputParameters: - type: object mapping: $. - name: create-wiki-page description: Create a wiki page hints: readOnly: false destructive: false idempotent: false call: gitlab-ci-wikis.postapiv4groupsidwikis with: id: tools.id postApiV4GroupsIdWikis: tools.postApiV4GroupsIdWikis outputParameters: - type: object mapping: $. - name: upload-attachment-wiki-repository description: Upload an attachment to the wiki repository hints: readOnly: false destructive: false idempotent: false call: gitlab-ci-wikis.postapiv4groupsidwikisattachments with: id: tools.id postApiV4GroupsIdWikisAttachments: tools.postApiV4GroupsIdWikisAttachments outputParameters: - type: object mapping: $. - name: get-wiki-page description: Get a wiki page hints: readOnly: true destructive: false idempotent: true call: gitlab-ci-wikis.getapiv4groupsidwikisslug with: slug: tools.slug version: tools.version render_html: tools.render_html id: tools.id outputParameters: - type: object mapping: $. - name: update-wiki-page description: Update a wiki page hints: readOnly: false destructive: false idempotent: true call: gitlab-ci-wikis.putapiv4groupsidwikisslug with: id: tools.id slug: tools.slug putApiV4GroupsIdWikisSlug: tools.putApiV4GroupsIdWikisSlug outputParameters: - type: object mapping: $. - name: delete-wiki-page description: Delete a wiki page hints: readOnly: false destructive: true idempotent: true call: gitlab-ci-wikis.deleteapiv4groupsidwikisslug with: slug: tools.slug id: tools.id outputParameters: - type: object mapping: $. - name: get-list-wiki-pages-2 description: Get a list of wiki pages hints: readOnly: true destructive: false idempotent: true call: gitlab-ci-wikis.getapiv4projectsidwikis with: with_content: tools.with_content id: tools.id outputParameters: - type: object mapping: $. - name: create-wiki-page-2 description: Create a wiki page hints: readOnly: false destructive: false idempotent: false call: gitlab-ci-wikis.postapiv4projectsidwikis with: id: tools.id postApiV4ProjectsIdWikis: tools.postApiV4ProjectsIdWikis outputParameters: - type: object mapping: $. - name: upload-attachment-wiki-repository-2 description: Upload an attachment to the wiki repository hints: readOnly: false destructive: false idempotent: false call: gitlab-ci-wikis.postapiv4projectsidwikisattachments with: id: tools.id postApiV4ProjectsIdWikisAttachments: tools.postApiV4ProjectsIdWikisAttachments outputParameters: - type: object mapping: $. - name: get-wiki-page-2 description: Get a wiki page hints: readOnly: true destructive: false idempotent: true call: gitlab-ci-wikis.getapiv4projectsidwikisslug with: slug: tools.slug version: tools.version render_html: tools.render_html id: tools.id outputParameters: - type: object mapping: $. - name: update-wiki-page-2 description: Update a wiki page hints: readOnly: false destructive: false idempotent: true call: gitlab-ci-wikis.putapiv4projectsidwikisslug with: id: tools.id slug: tools.slug putApiV4ProjectsIdWikisSlug: tools.putApiV4ProjectsIdWikisSlug outputParameters: - type: object mapping: $. - name: delete-wiki-page-2 description: Delete a wiki page hints: readOnly: false destructive: true idempotent: true call: gitlab-ci-wikis.deleteapiv4projectsidwikisslug with: slug: tools.slug id: tools.id outputParameters: - type: object mapping: $.