naftiko: 1.0.0-alpha2 info: label: GitHub Repos API — Self-hosted description: 'GitHub Repos API — Self-hosted. 12 operations. Lead operation: List Repository Access To Self-hosted Runner Group In An Organization. Self-contained Naftiko capability covering one Github business surface.' tags: - Github - Self-hosted created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: GITHUB_API_KEY: GITHUB_API_KEY capability: consumes: - type: http namespace: temp-self-hosted baseUri: '' description: GitHub Repos API — Self-hosted business capability. Self-contained, no shared references. resources: - name: orgs-org-actions-runner-groups-runner_group_id-repositories path: /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories operations: - name: listrepositoryaccesstoselfhostedrunnergroupinanorganization method: GET description: List Repository Access To Self-hosted Runner Group In An Organization outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Authorization in: header type: string - name: X-GitHub-Api-Version in: header type: string - name: Accept in: header type: string - name: setrepositoryaccessforselfhostedrunnergroupinanorganization method: PUT description: Set Repository Access For Self-hosted Runner Group In An Organization outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Authorization in: header type: string - name: X-GitHub-Api-Version in: header type: string - name: Accept in: header type: string - name: body in: body type: object description: Request body (JSON). required: true - name: orgs-org-actions-runner-groups-runner_group_id-repositories-repository_id path: /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id} operations: - name: addrepositoryaccesstoselfhostedrunnergroupinanorganization method: PUT description: Add Repository Access To Self-hosted Runner Group In An Organization outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Authorization in: header type: string - name: X-GitHub-Api-Version in: header type: string - name: Accept in: header type: string - name: removerepositoryaccesstoselfhostedrunnergroupinanorganization method: DELETE description: Remove Repository Access To Self-hosted Runner Group In An Organization outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Authorization in: header type: string - name: X-GitHub-Api-Version in: header type: string - name: Accept in: header type: string - name: repos-owner-repo-actions-runners path: /repos/{owner}/{repo}/actions/runners operations: - name: listselfhostedrunnersforrepository method: GET description: List Self-hosted Runners For Repository outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Authorization in: header type: string - name: X-GitHub-Api-Version in: header type: string - name: Accept in: header type: string - name: repos-owner-repo-actions-runners-runner_id path: /repos/{owner}/{repo}/actions/runners/{runner_id} operations: - name: getselfhostedrunnerforrepository method: GET description: Get Self-hosted Runner For Repository outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Authorization in: header type: string - name: X-GitHub-Api-Version in: header type: string - name: Accept in: header type: string - name: deleteselfhostedrunnerfromrepository method: DELETE description: Delete Self-hosted Runner From Repository outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Authorization in: header type: string - name: X-GitHub-Api-Version in: header type: string - name: Accept in: header type: string - name: repos-owner-repo-actions-runners-runner_id-labels path: /repos/{owner}/{repo}/actions/runners/{runner_id}/labels operations: - name: listlabelsforselfhostedrunnerforrepository method: GET description: List Labels For Self-hosted Runner For Repository outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Authorization in: header type: string - name: X-GitHub-Api-Version in: header type: string - name: Accept in: header type: string - name: addcustomlabelstoselfhostedrunnerforrepository method: POST description: Add Custom Labels To Self-hosted Runner For Repository outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Authorization in: header type: string - name: X-GitHub-Api-Version in: header type: string - name: Accept in: header type: string - name: body in: body type: object description: Request body (JSON). required: true - name: setcustomlabelsforselfhostedrunnerforrepository method: PUT description: Set Custom Labels For Self-hosted Runner For Repository outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Authorization in: header type: string - name: X-GitHub-Api-Version in: header type: string - name: Accept in: header type: string - name: body in: body type: object description: Request body (JSON). required: true - name: removeallcustomlabelsfromselfhostedrunnerforrepository method: DELETE description: Remove All Custom Labels From Self-hosted Runner For Repository outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Authorization in: header type: string - name: X-GitHub-Api-Version in: header type: string - name: Accept in: header type: string - name: repos-owner-repo-actions-runners-runner_id-labels-name path: /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name} operations: - name: removecustomlabelfromselfhostedrunnerforrepository method: DELETE description: Remove Custom Label From Self-hosted Runner For Repository outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Authorization in: header type: string - name: X-GitHub-Api-Version in: header type: string - name: Accept in: header type: string authentication: type: bearer token: '{{env.GITHUB_API_KEY}}' exposes: - type: rest namespace: temp-self-hosted-rest port: 8080 description: REST adapter for GitHub Repos API — Self-hosted. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/orgs/{org}/actions/runner-groups/{runner-group-id}/repositories name: orgs-org-actions-runner-groups-runner-group-id-repositories description: REST surface for orgs-org-actions-runner-groups-runner_group_id-repositories. operations: - method: GET name: listrepositoryaccesstoselfhostedrunnergroupinanorganization description: List Repository Access To Self-hosted Runner Group In An Organization call: temp-self-hosted.listrepositoryaccesstoselfhostedrunnergroupinanorganization with: Authorization: rest.Authorization X-GitHub-Api-Version: rest.X-GitHub-Api-Version Accept: rest.Accept outputParameters: - type: object mapping: $. - method: PUT name: setrepositoryaccessforselfhostedrunnergroupinanorganization description: Set Repository Access For Self-hosted Runner Group In An Organization call: temp-self-hosted.setrepositoryaccessforselfhostedrunnergroupinanorganization with: Authorization: rest.Authorization X-GitHub-Api-Version: rest.X-GitHub-Api-Version Accept: rest.Accept body: rest.body outputParameters: - type: object mapping: $. - path: /v1/orgs/{org}/actions/runner-groups/{runner-group-id}/repositories/{repository-id} name: orgs-org-actions-runner-groups-runner-group-id-repositories-repository-id description: REST surface for orgs-org-actions-runner-groups-runner_group_id-repositories-repository_id. operations: - method: PUT name: addrepositoryaccesstoselfhostedrunnergroupinanorganization description: Add Repository Access To Self-hosted Runner Group In An Organization call: temp-self-hosted.addrepositoryaccesstoselfhostedrunnergroupinanorganization with: Authorization: rest.Authorization X-GitHub-Api-Version: rest.X-GitHub-Api-Version Accept: rest.Accept outputParameters: - type: object mapping: $. - method: DELETE name: removerepositoryaccesstoselfhostedrunnergroupinanorganization description: Remove Repository Access To Self-hosted Runner Group In An Organization call: temp-self-hosted.removerepositoryaccesstoselfhostedrunnergroupinanorganization with: Authorization: rest.Authorization X-GitHub-Api-Version: rest.X-GitHub-Api-Version Accept: rest.Accept outputParameters: - type: object mapping: $. - path: /v1/repos/{owner}/{repo}/actions/runners name: repos-owner-repo-actions-runners description: REST surface for repos-owner-repo-actions-runners. operations: - method: GET name: listselfhostedrunnersforrepository description: List Self-hosted Runners For Repository call: temp-self-hosted.listselfhostedrunnersforrepository with: Authorization: rest.Authorization X-GitHub-Api-Version: rest.X-GitHub-Api-Version Accept: rest.Accept outputParameters: - type: object mapping: $. - path: /v1/repos/{owner}/{repo}/actions/runners/{runner-id} name: repos-owner-repo-actions-runners-runner-id description: REST surface for repos-owner-repo-actions-runners-runner_id. operations: - method: GET name: getselfhostedrunnerforrepository description: Get Self-hosted Runner For Repository call: temp-self-hosted.getselfhostedrunnerforrepository with: Authorization: rest.Authorization X-GitHub-Api-Version: rest.X-GitHub-Api-Version Accept: rest.Accept outputParameters: - type: object mapping: $. - method: DELETE name: deleteselfhostedrunnerfromrepository description: Delete Self-hosted Runner From Repository call: temp-self-hosted.deleteselfhostedrunnerfromrepository with: Authorization: rest.Authorization X-GitHub-Api-Version: rest.X-GitHub-Api-Version Accept: rest.Accept outputParameters: - type: object mapping: $. - path: /v1/repos/{owner}/{repo}/actions/runners/{runner-id}/labels name: repos-owner-repo-actions-runners-runner-id-labels description: REST surface for repos-owner-repo-actions-runners-runner_id-labels. operations: - method: GET name: listlabelsforselfhostedrunnerforrepository description: List Labels For Self-hosted Runner For Repository call: temp-self-hosted.listlabelsforselfhostedrunnerforrepository with: Authorization: rest.Authorization X-GitHub-Api-Version: rest.X-GitHub-Api-Version Accept: rest.Accept outputParameters: - type: object mapping: $. - method: POST name: addcustomlabelstoselfhostedrunnerforrepository description: Add Custom Labels To Self-hosted Runner For Repository call: temp-self-hosted.addcustomlabelstoselfhostedrunnerforrepository with: Authorization: rest.Authorization X-GitHub-Api-Version: rest.X-GitHub-Api-Version Accept: rest.Accept body: rest.body outputParameters: - type: object mapping: $. - method: PUT name: setcustomlabelsforselfhostedrunnerforrepository description: Set Custom Labels For Self-hosted Runner For Repository call: temp-self-hosted.setcustomlabelsforselfhostedrunnerforrepository with: Authorization: rest.Authorization X-GitHub-Api-Version: rest.X-GitHub-Api-Version Accept: rest.Accept body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: removeallcustomlabelsfromselfhostedrunnerforrepository description: Remove All Custom Labels From Self-hosted Runner For Repository call: temp-self-hosted.removeallcustomlabelsfromselfhostedrunnerforrepository with: Authorization: rest.Authorization X-GitHub-Api-Version: rest.X-GitHub-Api-Version Accept: rest.Accept outputParameters: - type: object mapping: $. - path: /v1/repos/{owner}/{repo}/actions/runners/{runner-id}/labels/{name} name: repos-owner-repo-actions-runners-runner-id-labels-name description: REST surface for repos-owner-repo-actions-runners-runner_id-labels-name. operations: - method: DELETE name: removecustomlabelfromselfhostedrunnerforrepository description: Remove Custom Label From Self-hosted Runner For Repository call: temp-self-hosted.removecustomlabelfromselfhostedrunnerforrepository with: Authorization: rest.Authorization X-GitHub-Api-Version: rest.X-GitHub-Api-Version Accept: rest.Accept outputParameters: - type: object mapping: $. - type: mcp namespace: temp-self-hosted-mcp port: 9090 transport: http description: MCP adapter for GitHub Repos API — Self-hosted. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-repository-access-self-hosted description: List Repository Access To Self-hosted Runner Group In An Organization hints: readOnly: true destructive: false idempotent: true call: temp-self-hosted.listrepositoryaccesstoselfhostedrunnergroupinanorganization with: Authorization: tools.Authorization X-GitHub-Api-Version: tools.X-GitHub-Api-Version Accept: tools.Accept outputParameters: - type: object mapping: $. - name: set-repository-access-self-hosted description: Set Repository Access For Self-hosted Runner Group In An Organization hints: readOnly: false destructive: false idempotent: true call: temp-self-hosted.setrepositoryaccessforselfhostedrunnergroupinanorganization with: Authorization: tools.Authorization X-GitHub-Api-Version: tools.X-GitHub-Api-Version Accept: tools.Accept body: tools.body outputParameters: - type: object mapping: $. - name: add-repository-access-self-hosted description: Add Repository Access To Self-hosted Runner Group In An Organization hints: readOnly: false destructive: false idempotent: true call: temp-self-hosted.addrepositoryaccesstoselfhostedrunnergroupinanorganization with: Authorization: tools.Authorization X-GitHub-Api-Version: tools.X-GitHub-Api-Version Accept: tools.Accept outputParameters: - type: object mapping: $. - name: remove-repository-access-self-hosted description: Remove Repository Access To Self-hosted Runner Group In An Organization hints: readOnly: false destructive: true idempotent: true call: temp-self-hosted.removerepositoryaccesstoselfhostedrunnergroupinanorganization with: Authorization: tools.Authorization X-GitHub-Api-Version: tools.X-GitHub-Api-Version Accept: tools.Accept outputParameters: - type: object mapping: $. - name: list-self-hosted-runners-repository description: List Self-hosted Runners For Repository hints: readOnly: true destructive: false idempotent: true call: temp-self-hosted.listselfhostedrunnersforrepository with: Authorization: tools.Authorization X-GitHub-Api-Version: tools.X-GitHub-Api-Version Accept: tools.Accept outputParameters: - type: object mapping: $. - name: get-self-hosted-runner-repository description: Get Self-hosted Runner For Repository hints: readOnly: true destructive: false idempotent: true call: temp-self-hosted.getselfhostedrunnerforrepository with: Authorization: tools.Authorization X-GitHub-Api-Version: tools.X-GitHub-Api-Version Accept: tools.Accept outputParameters: - type: object mapping: $. - name: delete-self-hosted-runner-repository description: Delete Self-hosted Runner From Repository hints: readOnly: false destructive: true idempotent: true call: temp-self-hosted.deleteselfhostedrunnerfromrepository with: Authorization: tools.Authorization X-GitHub-Api-Version: tools.X-GitHub-Api-Version Accept: tools.Accept outputParameters: - type: object mapping: $. - name: list-labels-self-hosted-runner description: List Labels For Self-hosted Runner For Repository hints: readOnly: true destructive: false idempotent: true call: temp-self-hosted.listlabelsforselfhostedrunnerforrepository with: Authorization: tools.Authorization X-GitHub-Api-Version: tools.X-GitHub-Api-Version Accept: tools.Accept outputParameters: - type: object mapping: $. - name: add-custom-labels-self-hosted description: Add Custom Labels To Self-hosted Runner For Repository hints: readOnly: false destructive: false idempotent: false call: temp-self-hosted.addcustomlabelstoselfhostedrunnerforrepository with: Authorization: tools.Authorization X-GitHub-Api-Version: tools.X-GitHub-Api-Version Accept: tools.Accept body: tools.body outputParameters: - type: object mapping: $. - name: set-custom-labels-self-hosted description: Set Custom Labels For Self-hosted Runner For Repository hints: readOnly: false destructive: false idempotent: true call: temp-self-hosted.setcustomlabelsforselfhostedrunnerforrepository with: Authorization: tools.Authorization X-GitHub-Api-Version: tools.X-GitHub-Api-Version Accept: tools.Accept body: tools.body outputParameters: - type: object mapping: $. - name: remove-all-custom-labels-self description: Remove All Custom Labels From Self-hosted Runner For Repository hints: readOnly: false destructive: true idempotent: true call: temp-self-hosted.removeallcustomlabelsfromselfhostedrunnerforrepository with: Authorization: tools.Authorization X-GitHub-Api-Version: tools.X-GitHub-Api-Version Accept: tools.Accept outputParameters: - type: object mapping: $. - name: remove-custom-label-self-hosted description: Remove Custom Label From Self-hosted Runner For Repository hints: readOnly: false destructive: true idempotent: true call: temp-self-hosted.removecustomlabelfromselfhostedrunnerforrepository with: Authorization: tools.Authorization X-GitHub-Api-Version: tools.X-GitHub-Api-Version Accept: tools.Accept outputParameters: - type: object mapping: $.