GitLab CI/CD · Capability

GitLab API — ci_runners

GitLab API — ci_runners. 6 operations. Lead operation: Register a new runner. Self-contained Naftiko capability covering one Gitlab Ci business surface.

Run with Naftiko Gitlab Cici_runners

What You Can Do

POST
Postapiv4runners — Register a new runner
/v1/api/v4/runners
DELETE
Deleteapiv4runners — Delete a runner by authentication token
/v1/api/v4/runners
DELETE
Deleteapiv4runnersmanagers — Internal endpoint that deletes a runner manager by authentication token and system ID.
/v1/api/v4/runners/managers
POST
Postapiv4runnersresetauthenticationtoken — Reset runner authentication token with current token
/v1/api/v4/runners/reset-authentication-token
GET
Getapiv4runnersrouterdiscovery — Discover Job Router information
/v1/api/v4/runners/router/discovery
POST
Postapiv4runnersverify — Verify authentication for a registered runner
/v1/api/v4/runners/verify

MCP Tools

register-new-runner

Register a new runner

delete-runner-authentication-token

Delete a runner by authentication token

idempotent
internal-endpoint-that-deletes-runner

Internal endpoint that deletes a runner manager by authentication token and system ID.

idempotent
reset-runner-authentication-token-current

Reset runner authentication token with current token

discover-job-router-information

Discover Job Router information

read-only idempotent
verify-authentication-registered-runner

Verify authentication for a registered runner

Capability Spec

gitlab-ci-ci-runners.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: GitLab API — ci_runners
  description: 'GitLab API — ci_runners. 6 operations. Lead operation: Register a new runner. Self-contained Naftiko capability
    covering one Gitlab Ci business surface.'
  tags:
  - Gitlab Ci
  - ci_runners
  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-ci-runners
    baseUri: https://gitlab.com
    description: GitLab API — ci_runners business capability. Self-contained, no shared references.
    resources:
    - name: api-v4-runners
      path: /api/v4/runners
      operations:
      - name: postapiv4runners
        method: POST
        description: Register a new runner
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: postApiV4Runners
          in: body
          type: string
          required: true
      - name: deleteapiv4runners
        method: DELETE
        description: Delete a runner by authentication token
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: token
          in: query
          type: string
          description: The runner's authentication token
          required: true
    - name: api-v4-runners-managers
      path: /api/v4/runners/managers
      operations:
      - name: deleteapiv4runnersmanagers
        method: DELETE
        description: Internal endpoint that deletes a runner manager by authentication token and system ID.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: token
          in: query
          type: string
          description: The runner's authentication token
          required: true
        - name: system_id
          in: query
          type: string
          description: The runner's system identifier.
          required: true
    - name: api-v4-runners-reset_authentication_token
      path: /api/v4/runners/reset_authentication_token
      operations:
      - name: postapiv4runnersresetauthenticationtoken
        method: POST
        description: Reset runner authentication token with current token
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: postApiV4RunnersResetAuthenticationToken
          in: body
          type: string
          required: true
    - name: api-v4-runners-router-discovery
      path: /api/v4/runners/router/discovery
      operations:
      - name: getapiv4runnersrouterdiscovery
        method: GET
        description: Discover Job Router information
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v4-runners-verify
      path: /api/v4/runners/verify
      operations:
      - name: postapiv4runnersverify
        method: POST
        description: Verify authentication for a registered runner
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: postApiV4RunnersVerify
          in: body
          type: string
          required: true
  exposes:
  - type: rest
    namespace: gitlab-ci-ci-runners-rest
    port: 8080
    description: REST adapter for GitLab API — ci_runners. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/api/v4/runners
      name: api-v4-runners
      description: REST surface for api-v4-runners.
      operations:
      - method: POST
        name: postapiv4runners
        description: Register a new runner
        call: gitlab-ci-ci-runners.postapiv4runners
        with:
          postApiV4Runners: rest.postApiV4Runners
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteapiv4runners
        description: Delete a runner by authentication token
        call: gitlab-ci-ci-runners.deleteapiv4runners
        with:
          token: rest.token
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v4/runners/managers
      name: api-v4-runners-managers
      description: REST surface for api-v4-runners-managers.
      operations:
      - method: DELETE
        name: deleteapiv4runnersmanagers
        description: Internal endpoint that deletes a runner manager by authentication token and system ID.
        call: gitlab-ci-ci-runners.deleteapiv4runnersmanagers
        with:
          token: rest.token
          system_id: rest.system_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v4/runners/reset-authentication-token
      name: api-v4-runners-reset-authentication-token
      description: REST surface for api-v4-runners-reset_authentication_token.
      operations:
      - method: POST
        name: postapiv4runnersresetauthenticationtoken
        description: Reset runner authentication token with current token
        call: gitlab-ci-ci-runners.postapiv4runnersresetauthenticationtoken
        with:
          postApiV4RunnersResetAuthenticationToken: rest.postApiV4RunnersResetAuthenticationToken
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v4/runners/router/discovery
      name: api-v4-runners-router-discovery
      description: REST surface for api-v4-runners-router-discovery.
      operations:
      - method: GET
        name: getapiv4runnersrouterdiscovery
        description: Discover Job Router information
        call: gitlab-ci-ci-runners.getapiv4runnersrouterdiscovery
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v4/runners/verify
      name: api-v4-runners-verify
      description: REST surface for api-v4-runners-verify.
      operations:
      - method: POST
        name: postapiv4runnersverify
        description: Verify authentication for a registered runner
        call: gitlab-ci-ci-runners.postapiv4runnersverify
        with:
          postApiV4RunnersVerify: rest.postApiV4RunnersVerify
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: gitlab-ci-ci-runners-mcp
    port: 9090
    transport: http
    description: MCP adapter for GitLab API — ci_runners. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: register-new-runner
      description: Register a new runner
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: gitlab-ci-ci-runners.postapiv4runners
      with:
        postApiV4Runners: tools.postApiV4Runners
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-runner-authentication-token
      description: Delete a runner by authentication token
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: gitlab-ci-ci-runners.deleteapiv4runners
      with:
        token: tools.token
      outputParameters:
      - type: object
        mapping: $.
    - name: internal-endpoint-that-deletes-runner
      description: Internal endpoint that deletes a runner manager by authentication token and system ID.
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: gitlab-ci-ci-runners.deleteapiv4runnersmanagers
      with:
        token: tools.token
        system_id: tools.system_id
      outputParameters:
      - type: object
        mapping: $.
    - name: reset-runner-authentication-token-current
      description: Reset runner authentication token with current token
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: gitlab-ci-ci-runners.postapiv4runnersresetauthenticationtoken
      with:
        postApiV4RunnersResetAuthenticationToken: tools.postApiV4RunnersResetAuthenticationToken
      outputParameters:
      - type: object
        mapping: $.
    - name: discover-job-router-information
      description: Discover Job Router information
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: gitlab-ci-ci-runners.getapiv4runnersrouterdiscovery
      outputParameters:
      - type: object
        mapping: $.
    - name: verify-authentication-registered-runner
      description: Verify authentication for a registered runner
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: gitlab-ci-ci-runners.postapiv4runnersverify
      with:
        postApiV4RunnersVerify: tools.postApiV4RunnersVerify
      outputParameters:
      - type: object
        mapping: $.