GitHub · Capability

GitHub Org API — Create

GitHub Org API — Create. 15 operations. Lead operation: GitHub Create Self-hosted Runner Group for an Organization. Self-contained Naftiko capability covering one Github business surface.

Run with Naftiko GithubCreate

What You Can Do

POST
Createselfhostedrunnergroupforanorganization — GitHub Create Self-hosted Runner Group for an Organization
/v1/orgs/{org}/actions/runner-groups
POST
Createregistrationtokenforanorganization — GitHub Create Registration Token for an Organization
/v1/orgs/{org}/actions/runners/registration-token
POST
Createremovetokenforanorganization — GitHub Create Remove Token for an Organization
/v1/orgs/{org}/actions/runners/remove-token
PUT
Createorupdateanorganizationsecret — GitHub Create or Update an Organization Secret
/v1/orgs/{org}/actions/secrets/{secret-name}
POST
Createanorganizationvariable — GitHub Create an Organization Variable
/v1/orgs/{org}/actions/variables
POST
Createcustomrepositoryrole — GitHub Create Custom Repository Role
/v1/orgs/{org}/custom-repository-roles
PUT
Createorupdateanorganizationsecret — GitHub Create or Update an Organization Secret
/v1/orgs/{org}/dependabot/secrets/{secret-name}
POST
Createanorganizationwebhook — GitHub Create an Organization Webhook
/v1/orgs/{org}/hooks
POST
Createanorganizationproject — GitHub Create an Organization Project
/v1/orgs/{org}/projects
POST
Createanorganizationrepository — GitHub Create an Organization Repository
/v1/orgs/{org}/repos
POST
Createteam — GitHub Create Team
/v1/orgs/{org}/teams
POST
Creatediscussion — GitHub Create Discussion
/v1/orgs/{org}/teams/{team-slug}/discussions
POST
Creatediscussioncomment — GitHub Create Discussion Comment
/v1/orgs/{org}/teams/{team-slug}/discussions/{discussion-number}/comments
POST
Createreactionforteamdiscussioncomment — GitHub Create Reaction for Team Discussion Comment
/v1/orgs/{org}/teams/{team-slug}/discussions/{discussion-number}/comments/{comment-number}/reactions
POST
Createreactionforteamdiscussion — GitHub Create Reaction for Team Discussion
/v1/orgs/{org}/teams/{team-slug}/discussions/{discussion-number}/reactions

MCP Tools

github-create-self-hosted-runner

GitHub Create Self-hosted Runner Group for an Organization

github-create-registration-token-organization

GitHub Create Registration Token for an Organization

github-create-remove-token-organization

GitHub Create Remove Token for an Organization

github-create-update-organization-secret

GitHub Create or Update an Organization Secret

idempotent
github-create-organization-variable

GitHub Create an Organization Variable

github-create-custom-repository-role

GitHub Create Custom Repository Role

github-create-update-organization-secret-2

GitHub Create or Update an Organization Secret

idempotent
github-create-organization-webhook

GitHub Create an Organization Webhook

github-create-organization-project

GitHub Create an Organization Project

github-create-organization-repository

GitHub Create an Organization Repository

github-create-team

GitHub Create Team

github-create-discussion

GitHub Create Discussion

github-create-discussion-comment

GitHub Create Discussion Comment

github-create-reaction-team-discussion

GitHub Create Reaction for Team Discussion Comment

github-create-reaction-team-discussion-2

GitHub Create Reaction for Team Discussion

Capability Spec

organizations-create.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: GitHub Org API — Create
  description: 'GitHub Org API — Create. 15 operations. Lead operation: GitHub Create Self-hosted Runner Group for an Organization.
    Self-contained Naftiko capability covering one Github business surface.'
  tags:
  - Github
  - Create
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    GITHUB_API_KEY: GITHUB_API_KEY
capability:
  consumes:
  - type: http
    namespace: organizations-create
    baseUri: ''
    description: GitHub Org API — Create business capability. Self-contained, no shared references.
    resources:
    - name: orgs-org-actions-runner-groups
      path: /orgs/{org}/actions/runner-groups
      operations:
      - name: createselfhostedrunnergroupforanorganization
        method: POST
        description: GitHub Create Self-hosted Runner Group for an Organization
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: orgs-org-actions-runners-registration-token
      path: /orgs/{org}/actions/runners/registration-token
      operations:
      - name: createregistrationtokenforanorganization
        method: POST
        description: GitHub Create Registration Token for an Organization
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: orgs-org-actions-runners-remove-token
      path: /orgs/{org}/actions/runners/remove-token
      operations:
      - name: createremovetokenforanorganization
        method: POST
        description: GitHub Create Remove Token for an Organization
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: orgs-org-actions-secrets-secret_name
      path: /orgs/{org}/actions/secrets/{secret_name}
      operations:
      - name: createorupdateanorganizationsecret
        method: PUT
        description: GitHub Create or Update an Organization Secret
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: orgs-org-actions-variables
      path: /orgs/{org}/actions/variables
      operations:
      - name: createanorganizationvariable
        method: POST
        description: GitHub Create an Organization Variable
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: orgs-org-custom-repository-roles
      path: /orgs/{org}/custom-repository-roles
      operations:
      - name: createcustomrepositoryrole
        method: POST
        description: GitHub Create Custom Repository Role
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: orgs-org-dependabot-secrets-secret_name
      path: /orgs/{org}/dependabot/secrets/{secret_name}
      operations:
      - name: createorupdateanorganizationsecret
        method: PUT
        description: GitHub Create or Update an Organization Secret
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: orgs-org-hooks
      path: /orgs/{org}/hooks
      operations:
      - name: createanorganizationwebhook
        method: POST
        description: GitHub Create an Organization Webhook
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: orgs-org-projects
      path: /orgs/{org}/projects
      operations:
      - name: createanorganizationproject
        method: POST
        description: GitHub Create an Organization Project
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: orgs-org-repos
      path: /orgs/{org}/repos
      operations:
      - name: createanorganizationrepository
        method: POST
        description: GitHub Create an Organization Repository
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: orgs-org-teams
      path: /orgs/{org}/teams
      operations:
      - name: createteam
        method: POST
        description: GitHub Create Team
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: orgs-org-teams-team_slug-discussions
      path: /orgs/{org}/teams/{team_slug}/discussions
      operations:
      - name: creatediscussion
        method: POST
        description: GitHub Create Discussion
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: orgs-org-teams-team_slug-discussions-discussion_number-comments
      path: /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments
      operations:
      - name: creatediscussioncomment
        method: POST
        description: GitHub Create Discussion Comment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: orgs-org-teams-team_slug-discussions-discussion_number-comments-comment_number-r
      path: /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions
      operations:
      - name: createreactionforteamdiscussioncomment
        method: POST
        description: GitHub Create Reaction for Team Discussion Comment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: orgs-org-teams-team_slug-discussions-discussion_number-reactions
      path: /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions
      operations:
      - name: createreactionforteamdiscussion
        method: POST
        description: GitHub Create Reaction for Team Discussion
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    authentication:
      type: bearer
      token: '{{env.GITHUB_API_KEY}}'
  exposes:
  - type: rest
    namespace: organizations-create-rest
    port: 8080
    description: REST adapter for GitHub Org API — Create. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/orgs/{org}/actions/runner-groups
      name: orgs-org-actions-runner-groups
      description: REST surface for orgs-org-actions-runner-groups.
      operations:
      - method: POST
        name: createselfhostedrunnergroupforanorganization
        description: GitHub Create Self-hosted Runner Group for an Organization
        call: organizations-create.createselfhostedrunnergroupforanorganization
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/orgs/{org}/actions/runners/registration-token
      name: orgs-org-actions-runners-registration-token
      description: REST surface for orgs-org-actions-runners-registration-token.
      operations:
      - method: POST
        name: createregistrationtokenforanorganization
        description: GitHub Create Registration Token for an Organization
        call: organizations-create.createregistrationtokenforanorganization
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/orgs/{org}/actions/runners/remove-token
      name: orgs-org-actions-runners-remove-token
      description: REST surface for orgs-org-actions-runners-remove-token.
      operations:
      - method: POST
        name: createremovetokenforanorganization
        description: GitHub Create Remove Token for an Organization
        call: organizations-create.createremovetokenforanorganization
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/orgs/{org}/actions/secrets/{secret-name}
      name: orgs-org-actions-secrets-secret-name
      description: REST surface for orgs-org-actions-secrets-secret_name.
      operations:
      - method: PUT
        name: createorupdateanorganizationsecret
        description: GitHub Create or Update an Organization Secret
        call: organizations-create.createorupdateanorganizationsecret
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/orgs/{org}/actions/variables
      name: orgs-org-actions-variables
      description: REST surface for orgs-org-actions-variables.
      operations:
      - method: POST
        name: createanorganizationvariable
        description: GitHub Create an Organization Variable
        call: organizations-create.createanorganizationvariable
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/orgs/{org}/custom-repository-roles
      name: orgs-org-custom-repository-roles
      description: REST surface for orgs-org-custom-repository-roles.
      operations:
      - method: POST
        name: createcustomrepositoryrole
        description: GitHub Create Custom Repository Role
        call: organizations-create.createcustomrepositoryrole
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/orgs/{org}/dependabot/secrets/{secret-name}
      name: orgs-org-dependabot-secrets-secret-name
      description: REST surface for orgs-org-dependabot-secrets-secret_name.
      operations:
      - method: PUT
        name: createorupdateanorganizationsecret
        description: GitHub Create or Update an Organization Secret
        call: organizations-create.createorupdateanorganizationsecret
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/orgs/{org}/hooks
      name: orgs-org-hooks
      description: REST surface for orgs-org-hooks.
      operations:
      - method: POST
        name: createanorganizationwebhook
        description: GitHub Create an Organization Webhook
        call: organizations-create.createanorganizationwebhook
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/orgs/{org}/projects
      name: orgs-org-projects
      description: REST surface for orgs-org-projects.
      operations:
      - method: POST
        name: createanorganizationproject
        description: GitHub Create an Organization Project
        call: organizations-create.createanorganizationproject
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/orgs/{org}/repos
      name: orgs-org-repos
      description: REST surface for orgs-org-repos.
      operations:
      - method: POST
        name: createanorganizationrepository
        description: GitHub Create an Organization Repository
        call: organizations-create.createanorganizationrepository
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/orgs/{org}/teams
      name: orgs-org-teams
      description: REST surface for orgs-org-teams.
      operations:
      - method: POST
        name: createteam
        description: GitHub Create Team
        call: organizations-create.createteam
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/orgs/{org}/teams/{team-slug}/discussions
      name: orgs-org-teams-team-slug-discussions
      description: REST surface for orgs-org-teams-team_slug-discussions.
      operations:
      - method: POST
        name: creatediscussion
        description: GitHub Create Discussion
        call: organizations-create.creatediscussion
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/orgs/{org}/teams/{team-slug}/discussions/{discussion-number}/comments
      name: orgs-org-teams-team-slug-discussions-discussion-number-comments
      description: REST surface for orgs-org-teams-team_slug-discussions-discussion_number-comments.
      operations:
      - method: POST
        name: creatediscussioncomment
        description: GitHub Create Discussion Comment
        call: organizations-create.creatediscussioncomment
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/orgs/{org}/teams/{team-slug}/discussions/{discussion-number}/comments/{comment-number}/reactions
      name: orgs-org-teams-team-slug-discussions-discussion-number-comments-comment-number-r
      description: REST surface for orgs-org-teams-team_slug-discussions-discussion_number-comments-comment_number-r.
      operations:
      - method: POST
        name: createreactionforteamdiscussioncomment
        description: GitHub Create Reaction for Team Discussion Comment
        call: organizations-create.createreactionforteamdiscussioncomment
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/orgs/{org}/teams/{team-slug}/discussions/{discussion-number}/reactions
      name: orgs-org-teams-team-slug-discussions-discussion-number-reactions
      description: REST surface for orgs-org-teams-team_slug-discussions-discussion_number-reactions.
      operations:
      - method: POST
        name: createreactionforteamdiscussion
        description: GitHub Create Reaction for Team Discussion
        call: organizations-create.createreactionforteamdiscussion
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: organizations-create-mcp
    port: 9090
    transport: http
    description: MCP adapter for GitHub Org API — Create. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: github-create-self-hosted-runner
      description: GitHub Create Self-hosted Runner Group for an Organization
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: organizations-create.createselfhostedrunnergroupforanorganization
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: github-create-registration-token-organization
      description: GitHub Create Registration Token for an Organization
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: organizations-create.createregistrationtokenforanorganization
      outputParameters:
      - type: object
        mapping: $.
    - name: github-create-remove-token-organization
      description: GitHub Create Remove Token for an Organization
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: organizations-create.createremovetokenforanorganization
      outputParameters:
      - type: object
        mapping: $.
    - name: github-create-update-organization-secret
      description: GitHub Create or Update an Organization Secret
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: organizations-create.createorupdateanorganizationsecret
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: github-create-organization-variable
      description: GitHub Create an Organization Variable
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: organizations-create.createanorganizationvariable
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: github-create-custom-repository-role
      description: GitHub Create Custom Repository Role
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: organizations-create.createcustomrepositoryrole
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: github-create-update-organization-secret-2
      description: GitHub Create or Update an Organization Secret
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: organizations-create.createorupdateanorganizationsecret
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: github-create-organization-webhook
      description: GitHub Create an Organization Webhook
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: organizations-create.createanorganizationwebhook
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: github-create-organization-project
      description: GitHub Create an Organization Project
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: organizations-create.createanorganizationproject
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: github-create-organization-repository
      description: GitHub Create an Organization Repository
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: organizations-create.createanorganizationrepository
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: github-create-team
      description: GitHub Create Team
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: organizations-create.createteam
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: github-create-discussion
      description: GitHub Create Discussion
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: organizations-create.creatediscussion
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: github-create-discussion-comment
      description: GitHub Create Discussion Comment
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: organizations-create.creatediscussioncomment
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: github-create-reaction-team-discussion
      description: GitHub Create Reaction for Team Discussion Comment
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: organizations-create.createreactionforteamdiscussioncomment
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: github-create-reaction-team-discussion-2
      description: GitHub Create Reaction for Team Discussion
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: organizations-create.createreactionforteamdiscussion
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.