GitHub · Capability

GitHub Teams API — Discussions

GitHub Teams API — Discussions. 30 operations. Lead operation: GitHub List Discussions. Self-contained Naftiko capability covering one Github business surface.

Run with Naftiko GithubDiscussions

What You Can Do

GET
Listdiscussions — GitHub List Discussions
/v1/orgs/{org}/teams/{team-slug}/discussions
POST
Creatediscussion — GitHub Create Discussion
/v1/orgs/{org}/teams/{team-slug}/discussions
GET
Getdiscussion — GitHub Get Discussion
/v1/orgs/{org}/teams/{team-slug}/discussions/{discussion-number}
PATCH
Updatediscussion — GitHub Update Discussion
/v1/orgs/{org}/teams/{team-slug}/discussions/{discussion-number}
DELETE
Deletediscussion — GitHub Delete Discussion
/v1/orgs/{org}/teams/{team-slug}/discussions/{discussion-number}
GET
Listdiscussioncomments — GitHub List Discussion Comments
/v1/orgs/{org}/teams/{team-slug}/discussions/{discussion-number}/comments
POST
Creatediscussioncomment — GitHub Create Discussion Comment
/v1/orgs/{org}/teams/{team-slug}/discussions/{discussion-number}/comments
GET
Getdiscussioncomment — GitHub Get Discussion Comment
/v1/orgs/{org}/teams/{team-slug}/discussions/{discussion-number}/comments/{comment-number}
PATCH
Updatediscussioncomment — GitHub Update Discussion Comment
/v1/orgs/{org}/teams/{team-slug}/discussions/{discussion-number}/comments/{comment-number}
DELETE
Deletediscussioncomment — GitHub Delete Discussion Comment
/v1/orgs/{org}/teams/{team-slug}/discussions/{discussion-number}/comments/{comment-number}
GET
Listreactionsforteamdiscussioncomment — GitHub List Reactions for Team Discussion Comment
/v1/orgs/{org}/teams/{team-slug}/discussions/{discussion-number}/comments/{comment-number}/reactions
POST
Createreactionforteamdiscussioncomment — GitHub Create Reaction for Team Discussion Comment
/v1/orgs/{org}/teams/{team-slug}/discussions/{discussion-number}/comments/{comment-number}/reactions
DELETE
Deleteteamdiscussioncommentreaction — GitHub Delete Team Discussion Comment Reaction
/v1/orgs/{org}/teams/{team-slug}/discussions/{discussion-number}/comments/{comment-number}/reactions/{reaction-id}
GET
Listreactionsforteamdiscussion — GitHub List Reactions for Team Discussion
/v1/orgs/{org}/teams/{team-slug}/discussions/{discussion-number}/reactions
POST
Createreactionforteamdiscussion — GitHub Create Reaction for Team Discussion
/v1/orgs/{org}/teams/{team-slug}/discussions/{discussion-number}/reactions
DELETE
Deleteteamdiscussionreaction — GitHub Delete Team Discussion Reaction
/v1/orgs/{org}/teams/{team-slug}/discussions/{discussion-number}/reactions/{reaction-id}
GET
Listdiscussionslegacy — GitHub List Discussions (legacy)
/v1/teams/{team-id}/discussions
POST
Creatediscussionlegacy — GitHub Create Discussion (legacy)
/v1/teams/{team-id}/discussions
GET
Getdiscussionlegacy — GitHub Get Discussion (legacy)
/v1/teams/{team-id}/discussions/{discussion-number}
PATCH
Updatediscussionlegacy — GitHub Update Discussion (legacy)
/v1/teams/{team-id}/discussions/{discussion-number}
DELETE
Deletediscussionlegacy — GitHub Delete Discussion (legacy)
/v1/teams/{team-id}/discussions/{discussion-number}
GET
Listdiscussioncommentslegacy — GitHub List Discussion Comments (legacy)
/v1/teams/{team-id}/discussions/{discussion-number}/comments
POST
Creatediscussioncommentlegacy — GitHub Create Discussion Comment (legacy)
/v1/teams/{team-id}/discussions/{discussion-number}/comments
GET
Getdiscussioncommentlegacy — GitHub Get Discussion Comment (legacy)
/v1/teams/{team-id}/discussions/{discussion-number}/comments/{comment-number}
PATCH
Updatediscussioncommentlegacy — GitHub Update Discussion Comment (legacy)
/v1/teams/{team-id}/discussions/{discussion-number}/comments/{comment-number}
DELETE
Deletediscussioncommentlegacy — GitHub Delete Discussion Comment (legacy)
/v1/teams/{team-id}/discussions/{discussion-number}/comments/{comment-number}
GET
Listreactionsforteamdiscussioncommentlegacy — GitHub List Reactions for Team Discussion Comment (legacy)
/v1/teams/{team-id}/discussions/{discussion-number}/comments/{comment-number}/reactions
POST
Createreactionforteamdiscussioncommentlegacy — GitHub Create Reaction for Team Discussion Comment (legacy)
/v1/teams/{team-id}/discussions/{discussion-number}/comments/{comment-number}/reactions
GET
Listreactionsforteamdiscussionlegacy — GitHub List Reactions for Team Discussion (legacy)
/v1/teams/{team-id}/discussions/{discussion-number}/reactions
POST
Createreactionforteamdiscussionlegacy — GitHub Create Reaction for Team Discussion (legacy)
/v1/teams/{team-id}/discussions/{discussion-number}/reactions

MCP Tools

github-list-discussions

GitHub List Discussions

read-only idempotent
github-create-discussion

GitHub Create Discussion

github-get-discussion

GitHub Get Discussion

read-only idempotent
github-update-discussion

GitHub Update Discussion

idempotent
github-delete-discussion

GitHub Delete Discussion

idempotent
github-list-discussion-comments

GitHub List Discussion Comments

read-only idempotent
github-create-discussion-comment

GitHub Create Discussion Comment

github-get-discussion-comment

GitHub Get Discussion Comment

read-only idempotent
github-update-discussion-comment

GitHub Update Discussion Comment

idempotent
github-delete-discussion-comment

GitHub Delete Discussion Comment

idempotent
github-list-reactions-team-discussion

GitHub List Reactions for Team Discussion Comment

read-only idempotent
github-create-reaction-team-discussion

GitHub Create Reaction for Team Discussion Comment

github-delete-team-discussion-comment

GitHub Delete Team Discussion Comment Reaction

idempotent
github-list-reactions-team-discussion-2

GitHub List Reactions for Team Discussion

read-only idempotent
github-create-reaction-team-discussion-2

GitHub Create Reaction for Team Discussion

github-delete-team-discussion-reaction

GitHub Delete Team Discussion Reaction

idempotent
github-list-discussions-legacy

GitHub List Discussions (legacy)

read-only idempotent
github-create-discussion-legacy

GitHub Create Discussion (legacy)

github-get-discussion-legacy

GitHub Get Discussion (legacy)

read-only idempotent
github-update-discussion-legacy

GitHub Update Discussion (legacy)

idempotent
github-delete-discussion-legacy

GitHub Delete Discussion (legacy)

idempotent
github-list-discussion-comments-legacy

GitHub List Discussion Comments (legacy)

read-only idempotent
github-create-discussion-comment-legacy

GitHub Create Discussion Comment (legacy)

github-get-discussion-comment-legacy

GitHub Get Discussion Comment (legacy)

read-only idempotent
github-update-discussion-comment-legacy

GitHub Update Discussion Comment (legacy)

idempotent
github-delete-discussion-comment-legacy

GitHub Delete Discussion Comment (legacy)

idempotent
github-list-reactions-team-discussion-3

GitHub List Reactions for Team Discussion Comment (legacy)

read-only idempotent
github-create-reaction-team-discussion-3

GitHub Create Reaction for Team Discussion Comment (legacy)

github-list-reactions-team-discussion-4

GitHub List Reactions for Team Discussion (legacy)

read-only idempotent
github-create-reaction-team-discussion-4

GitHub Create Reaction for Team Discussion (legacy)

Capability Spec

teams-discussions.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: GitHub Teams API — Discussions
  description: 'GitHub Teams API — Discussions. 30 operations. Lead operation: GitHub List Discussions. Self-contained Naftiko
    capability covering one Github business surface.'
  tags:
  - Github
  - Discussions
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    GITHUB_API_KEY: GITHUB_API_KEY
capability:
  consumes:
  - type: http
    namespace: teams-discussions
    baseUri: ''
    description: GitHub Teams API — Discussions business capability. Self-contained, no shared references.
    resources:
    - name: orgs-org-teams-team_slug-discussions
      path: /orgs/{org}/teams/{team_slug}/discussions
      operations:
      - name: listdiscussions
        method: GET
        description: GitHub List Discussions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: pinned
          in: query
          type: string
          description: Pinned discussions only filter
      - 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
      path: /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}
      operations:
      - name: getdiscussion
        method: GET
        description: GitHub Get Discussion
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatediscussion
        method: PATCH
        description: GitHub Update Discussion
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: deletediscussion
        method: DELETE
        description: GitHub Delete Discussion
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: orgs-org-teams-team_slug-discussions-discussion_number-comments
      path: /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments
      operations:
      - name: listdiscussioncomments
        method: GET
        description: GitHub List Discussion Comments
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - 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
      path: /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}
      operations:
      - name: getdiscussioncomment
        method: GET
        description: GitHub Get Discussion Comment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatediscussioncomment
        method: PATCH
        description: GitHub Update Discussion Comment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deletediscussioncomment
        method: DELETE
        description: GitHub Delete Discussion Comment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - 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: listreactionsforteamdiscussioncomment
        method: GET
        description: GitHub List Reactions for Team Discussion Comment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: content
          in: query
          type: string
          description: Returns a single [reaction type](https://docs.github.com/[email protected]/rest/reactions/reactions#about-reactions).
            Omit this parameter to list all reacti
      - 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-comments-comment_number-r
      path: /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}
      operations:
      - name: deleteteamdiscussioncommentreaction
        method: DELETE
        description: GitHub Delete Team Discussion Comment Reaction
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: orgs-org-teams-team_slug-discussions-discussion_number-reactions
      path: /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions
      operations:
      - name: listreactionsforteamdiscussion
        method: GET
        description: GitHub List Reactions for Team Discussion
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: content
          in: query
          type: string
          description: Returns a single [reaction type](https://docs.github.com/[email protected]/rest/reactions/reactions#about-reactions).
            Omit this parameter to list all reacti
      - 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
    - name: orgs-org-teams-team_slug-discussions-discussion_number-reactions-reaction_id
      path: /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}
      operations:
      - name: deleteteamdiscussionreaction
        method: DELETE
        description: GitHub Delete Team Discussion Reaction
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: teams-team_id-discussions
      path: /teams/{team_id}/discussions
      operations:
      - name: listdiscussionslegacy
        method: GET
        description: GitHub List Discussions (legacy)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: creatediscussionlegacy
        method: POST
        description: GitHub Create Discussion (legacy)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: teams-team_id-discussions-discussion_number
      path: /teams/{team_id}/discussions/{discussion_number}
      operations:
      - name: getdiscussionlegacy
        method: GET
        description: GitHub Get Discussion (legacy)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatediscussionlegacy
        method: PATCH
        description: GitHub Update Discussion (legacy)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: deletediscussionlegacy
        method: DELETE
        description: GitHub Delete Discussion (legacy)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: teams-team_id-discussions-discussion_number-comments
      path: /teams/{team_id}/discussions/{discussion_number}/comments
      operations:
      - name: listdiscussioncommentslegacy
        method: GET
        description: GitHub List Discussion Comments (legacy)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: creatediscussioncommentlegacy
        method: POST
        description: GitHub Create Discussion Comment (legacy)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: teams-team_id-discussions-discussion_number-comments-comment_number
      path: /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}
      operations:
      - name: getdiscussioncommentlegacy
        method: GET
        description: GitHub Get Discussion Comment (legacy)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatediscussioncommentlegacy
        method: PATCH
        description: GitHub Update Discussion Comment (legacy)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deletediscussioncommentlegacy
        method: DELETE
        description: GitHub Delete Discussion Comment (legacy)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: teams-team_id-discussions-discussion_number-comments-comment_number-reactions
      path: /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions
      operations:
      - name: listreactionsforteamdiscussioncommentlegacy
        method: GET
        description: GitHub List Reactions for Team Discussion Comment (legacy)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: content
          in: query
          type: string
          description: Returns a single [reaction type](https://docs.github.com/[email protected]/rest/reactions/reactions#about-reactions).
            Omit this parameter to list all reacti
      - name: createreactionforteamdiscussioncommentlegacy
        method: POST
        description: GitHub Create Reaction for Team Discussion Comment (legacy)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: teams-team_id-discussions-discussion_number-reactions
      path: /teams/{team_id}/discussions/{discussion_number}/reactions
      operations:
      - name: listreactionsforteamdiscussionlegacy
        method: GET
        description: GitHub List Reactions for Team Discussion (legacy)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: content
          in: query
          type: string
          description: Returns a single [reaction type](https://docs.github.com/[email protected]/rest/reactions/reactions#about-reactions).
            Omit this parameter to list all reacti
      - name: createreactionforteamdiscussionlegacy
        method: POST
        description: GitHub Create Reaction for Team Discussion (legacy)
        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: teams-discussions-rest
    port: 8080
    description: REST adapter for GitHub Teams API — Discussions. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - 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: GET
        name: listdiscussions
        description: GitHub List Discussions
        call: teams-discussions.listdiscussions
        with:
          pinned: rest.pinned
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: creatediscussion
        description: GitHub Create Discussion
        call: teams-discussions.creatediscussion
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/orgs/{org}/teams/{team-slug}/discussions/{discussion-number}
      name: orgs-org-teams-team-slug-discussions-discussion-number
      description: REST surface for orgs-org-teams-team_slug-discussions-discussion_number.
      operations:
      - method: GET
        name: getdiscussion
        description: GitHub Get Discussion
        call: teams-discussions.getdiscussion
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: updatediscussion
        description: GitHub Update Discussion
        call: teams-discussions.updatediscussion
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletediscussion
        description: GitHub Delete Discussion
        call: teams-discussions.deletediscussion
        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: GET
        name: listdiscussioncomments
        description: GitHub List Discussion Comments
        call: teams-discussions.listdiscussioncomments
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: creatediscussioncomment
        description: GitHub Create Discussion Comment
        call: teams-discussions.creatediscussioncomment
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/orgs/{org}/teams/{team-slug}/discussions/{discussion-number}/comments/{comment-number}
      name: orgs-org-teams-team-slug-discussions-discussion-number-comments-comment-number
      description: REST surface for orgs-org-teams-team_slug-discussions-discussion_number-comments-comment_number.
      operations:
      - method: GET
        name: getdiscussioncomment
        description: GitHub Get Discussion Comment
        call: teams-discussions.getdiscussioncomment
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: updatediscussioncomment
        description: GitHub Update Discussion Comment
        call: teams-discussions.updatediscussioncomment
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletediscussioncomment
        description: GitHub Delete Discussion Comment
        call: teams-discussions.deletediscussioncomment
        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: GET
        name: listreactionsforteamdiscussioncomment
        description: GitHub List Reactions for Team Discussion Comment
        call: teams-discussions.listreactionsforteamdiscussioncomment
        with:
          content: rest.content
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createreactionforteamdiscussioncomment
        description: GitHub Create Reaction for Team Discussion Comment
        call: teams-discussions.createreactionforteamdiscussioncomment
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/orgs/{org}/teams/{team-slug}/discussions/{discussion-number}/comments/{comment-number}/reactions/{reaction-id}
      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: DELETE
        name: deleteteamdiscussioncommentreaction
        description: GitHub Delete Team Discussion Comment Reaction
        call: teams-discussions.deleteteamdiscussioncommentreaction
        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: GET
        name: listreactionsforteamdiscussion
        description: GitHub List Reactions for Team Discussion
        call: teams-discussions.listreactionsforteamdiscussion
        with:
          content: rest.content
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createreactionforteamdiscussion
        description: GitHub Create Reaction for Team Discussion
        call: teams-discussions.createreactionforteamdiscussion
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/orgs/{org}/teams/{team-slug}/discussions/{discussion-number}/reactions/{reaction-id}
      name: orgs-org-teams-team-slug-discussions-discussion-number-reactions-reaction-id
      description: REST surface for orgs-org-teams-team_slug-discussions-discussion_number-reactions-reaction_id.
      operations:
      - method: DELETE
        name: deleteteamdiscussionreaction
        description: GitHub Delete Team Discussion Reaction
        call: teams-discussions.deleteteamdiscussionreaction
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/teams/{team-id}/discussions
      name: teams-team-id-discussions
      description: REST surface for teams-team_id-discussions.
      operations:
      - method: GET
        name: listdiscussionslegacy
        description: GitHub List Discussions (legacy)
        call: teams-discussions.listdiscussionslegacy
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: creatediscussionlegacy
        description: GitHub Create Discussion (legacy)
        call: teams-discussions.creatediscussionlegacy
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/teams/{team-id}/discussions/{discussion-number}
      name: teams-team-id-discussions-discussion-number
      description: REST surface for teams-team_id-discussions-discussion_number.
      operations:
      - method: GET
        name: getdiscussionlegacy
        description: GitHub Get Discussion (legacy)
        call: teams-discussions.getdiscussionlegacy
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: updatediscussionlegacy
        description: GitHub Update Discussion (legacy)
        call: teams-discussions.updatediscussionlegacy
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletediscussionlegacy
        description: GitHub Delete Discussion (legacy)
        call: teams-discussions.deletediscussionlegacy
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/teams/{team-id}/discussions/{discussion-number}/comments
      name: teams-team-id-discussions-discussion-number-comments
      description: REST surface for teams-team_id-discussions-discussion_number-comments.
      operations:
      - method: GET
        name: listdiscussioncommentslegacy
        description: GitHub List Discussion Comments (legacy)
        call: teams-discussions.listdiscussioncommentslegacy
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: creatediscussioncommentlegacy
        description: GitHub Create Discussion Comment (legacy)
        call: teams-discussions.creatediscussioncommentlegacy
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/teams/{team-id}/discussions/{discussion-number}/comments/{comment-number}
      name: teams-team-id-discussions-discussion-number-comments-comment-number
      description: REST surface for teams-team_id-discussions-discussion_number-comments-comment_number.
      operations:
      - method: GET
        name: getdiscussioncommentlegacy
        description: GitHub Get Discussion Comment (legacy)
        call: teams-discussions.getdiscussioncommentlegacy
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: updatediscussioncommentlegacy
        description: GitHub Update Discussion Comment (legacy)
        call: teams-discussions.updatediscussioncommentlegacy
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletediscussioncommentlegacy
        description: GitHub Delete Discussion Comment (legacy)
        call: teams-discussions.deletediscussioncommentlegacy
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/teams/{team-id}/discussions/{discussion-number}/comments/{comment-number}/reactions
      name: teams-team-id-discussions-discussion-number-comments-comment-number-reactions
      description: REST surface for teams-team_id-discussions-discussion_number-comments-comment_number-reactions.
      operations:
      - method: GET
        name: listreactionsforteamdiscussioncommentlegacy
        description: GitHub List Reactions for Team Discussion Comment (legacy)
        call: teams-discussions.listreactionsforteamdiscussioncommentlegacy
        with:
          content: rest.content
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createreactionforteamdiscussioncommentlegacy
        description: GitHub Create Reaction for Team Discussion Comment (legacy)
        call: teams-discussions.createreactionforteamdiscussioncommentlegacy
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/teams/{team-id}/discussions/{discussion-number}/reactions
      name: teams-team-id-discussions-discussion-number-reactions
      description: REST surface for teams-team_id-discussions-discussion_number-reactions.
      operations:
      - method: GET
        name: listreactionsforteamdiscussionlegacy
        description: GitHub List Reactions for Team Discussion (legacy)
        call: teams-discussions.listreactionsforteamdiscussionlegacy
        with:
          content: rest.content
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createreactionforteamdiscussionlegacy
        description: GitHub Create Reaction for Team Discussion (legacy)
        call: teams-discussions.createreactionforteamdiscussionlegacy
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: teams-discussions-mcp
    port: 9090
    transport: http
    description: MCP adapter for GitHub Teams API — Discussions. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: github-list-discussions
      description: GitHub List Discussions
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: teams-discussions.listdiscussions
      with:
        pinned: tools.pinned
      outputParameters:
      - type: object
        mapping: $.
    - name: github-create-discussion
      description: GitHub Create Discussion
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: teams-discussions.creatediscussion
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: github-get-discussion
      description: GitHub Get Discussion
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: teams-discussions.getdiscussion
      outputParameters:
      - type: object
        mapping: $.
    - name: github-update-discussion
      description: GitHub Update Discussion
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: teams-discussions.updatediscussion
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: github-delete-discussion
      description: GitHub Delete Discussion
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: teams-discussions.deletediscussion
      outputParameters:
      - type: object
        mapping: $.
    - name: github-list-discussion-comments
      description: GitHub List Discussion Comments
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: teams-discussions.listdiscussioncomments
      outputParameters:
      - type: object
        mapping: $.
    - name: github-create-discussion-comment
      description: GitHub Create Discussion Comment
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: teams-discussions.creatediscussioncomment
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: github-get-discussion-comment
      description: GitHub Get Discussion Comment
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: teams-discussions.getdiscussioncomment
      outputParameters:
      - type: object
        mapping: $.
    - name: github-update-discussion-comment
      description: GitHub Update Discussion Comment
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: teams-discussions.updatediscussioncomment
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: github-delete-discussion-comment
      description: GitHub Delete Discussion Comment
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: teams-discussions.deletediscussioncomment
      outputParameters:
      - type: object
        mapping: $.
    - name: github-list-reactions-team-discussion
      description: GitHub List Reactions for Team Discussion Comment
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: teams-discussions.listreactionsforteamdiscussioncomment
      with:
        content: tools.content
      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: teams-discussions.createreactionforteamdiscussioncomment
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: github-delete-team-discussion-comment
      description: GitHub Delete Team Discussion Comment Reaction
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: teams-discussions.deleteteamdiscussioncommentreaction
      outputParameters:
      - type: object
        mapping: $.
    - name: github-list-reactions-team-discussion-2
      description: GitHub List Reactions for Team Discussion
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: teams-discussions.listreactionsforteamdiscussion
      with:
        content: tools.content
      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: teams-discussions.createreactionforteamdiscussion
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: github-delete-team-discussion-reaction
      description: GitHub Delete Team Discussion Reaction
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: teams-discussions.deleteteamdiscussionreaction
      outputParameters:
      - type: object
        mapping: $.
    - name: github-list-discussions-legacy
      description: GitHub List Discussions (legacy)
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: teams-discussions.listdiscussionslegacy
      outputParameters:
      - type: object
        mapping: $.
    - name: github-create-discussion-legacy
      description: GitHub Create Discussion (legacy)
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: teams-discussions.creatediscussionlegacy
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: github-get-discussion-legacy
      description: GitHub Get Discussion (legacy)
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: teams-discussions.getdiscussionlegacy
      outputParameters:
      - type: object
        mapping: $.
    - name: github-update-discussion-legacy
      description: GitHub Update Discussion (legacy)
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: teams-discussions.updatediscussionlegacy
      with:
        body: tools.body
      outputParameters:
      - type:

# --- truncated at 32 KB (35 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/github/refs/heads/main/capabilities/teams-discussions.yaml