---
title: "Tool catalog"
description: "All 97 tools by domain, with the 48 write tools marked."
canonical_url: "https://github-tools.com/reference/tools"
---
# Tool catalog

> All 97 tools by domain, with the 48 write tools marked.

`createGithubTools()` returns 97 GitHub tools, 49 read and 48 write, grouped below by GitHub domain. The 48 marked **Write** ask for [approval](https://github-tools.com/approval) by default. [Tools](https://github-tools.com/tools) covers output shape, paging and overrides, and [Presets](https://github-tools.com/presets) lists which tools each job gets.

## Repository

<table>
<thead>
  <tr>
    <th>
      Tool
    </th>
    
    <th>
      Write
    </th>
    
    <th>
      What it does
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        getRepository
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      Get information about a GitHub repository including description, stars, forks, language, and default branch.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        listBranches
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      List branches in a GitHub repository.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        getFileContent
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      Get the content of a file from a GitHub repository. Reads a line range with <code>
        startLine
      </code>
      
      /<code>
        endLine
      </code>
      
       or <code>
        maxLines
      </code>
      
      .
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        getRepositoryTree
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      List the file and directory structure of a repository at a given ref. Takes a <code>
        path
      </code>
      
       prefix.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        createBranch
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Create a new branch in a GitHub repository from an existing branch or commit SHA.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        deleteBranch
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Delete a branch from a GitHub repository permanently.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        forkRepository
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Fork a GitHub repository to the authenticated user account or a specified organization.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        createRepository
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Create a new GitHub repository for the authenticated user or a specified organization.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        createOrUpdateFile
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Create or update a file in a GitHub repository. Provide the SHA when updating an existing file.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        editFiles
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Edit files and commit them in one call: replace exact text in a file without reading or resending the whole file, or write whole files, on a new or existing branch, and optionally open a pull request. Replaces <code>
        createBranch
      </code>
      
      , <code>
        createOrUpdateFile
      </code>
      
       and <code>
        createPullRequest
      </code>
      
       chains.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        getBranchRules
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      List what protects a branch: required status checks, required reviews, and the other ruleset and branch-protection rules. Use it to explain why a pull request cannot merge yet.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        getCollaboratorPermission
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      Get a user's permission on a repository (<code>
        admin
      </code>
      
      , <code>
        write
      </code>
      
      , <code>
        read
      </code>
      
       or <code>
        none
      </code>
      
      ) and their role. Use it to check whether a user may trigger the bot or approve an action. On a public repository, every user has at least <code>
        read
      </code>
      
      .
    </td>
  </tr>
</tbody>
</table>

## Pull requests

<table>
<thead>
  <tr>
    <th>
      Tool
    </th>
    
    <th>
      Write
    </th>
    
    <th>
      What it does
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        listPullRequests
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      List pull requests for a GitHub repository.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        getPullRequest
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      Get detailed information about a specific pull request. Body is truncated by default. Set <code>
        detail: 'full'
      </code>
      
       for the complete description.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        createPullRequest
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Create a new pull request in a GitHub repository.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        mergePullRequest
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Merge a pull request.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        updatePullRequest
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Update a pull request: title, body, state, base branch, or draft status. Draft toggling uses the GraphQL API.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        updatePullRequestBranch
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Bring a pull request branch up to date by merging its base branch into it, like the "Update branch" button. Optionally runs only if the head is still at <code>
        expectedHeadSha
      </code>
      
      .
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        addPullRequestComment
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Add a comment to a pull request.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        updatePullRequestComment
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Update the body of a comment on a pull request.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        deletePullRequestComment
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Delete a comment from a pull request permanently.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        listPullRequestFiles
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      List files changed in a pull request with status and stats. Patches are omitted unless <code>
        includePatch
      </code>
      
       is true, optionally limited by <code>
        filenames
      </code>
      
      .
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        listPullRequestReviews
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      List reviews on a pull request (approvals, change requests, and comments).
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        createPullRequestReview
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Submit a pull request review: approve, request changes, or comment with optional inline comments on a line or a range of lines, including suggested changes the author can apply.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        listPullRequestReviewThreads
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      List review threads on a pull request with their comments, resolution state, and the IDs to reply (<code>
        commentId
      </code>
      
      ) or resolve (<code>
        threadId
      </code>
      
      ). Unresolved threads only by default (GraphQL API).
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        replyToReviewComment
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Reply to a pull request review comment, adding a message to its review thread.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        resolveReviewThread
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Mark a pull request review thread as resolved.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        requestReviewers
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Request reviews from users or teams on a pull request.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        enablePullRequestAutoMerge
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Merge a pull request automatically once its required checks and reviews pass. The repository must allow auto-merge; a pull request that can already merge needs <code>
        mergePullRequest
      </code>
      
      .
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        disablePullRequestAutoMerge
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Cancel a pending auto-merge, so the pull request stays open when its checks pass.
    </td>
  </tr>
</tbody>
</table>

## Issues

<table>
<thead>
  <tr>
    <th>
      Tool
    </th>
    
    <th>
      Write
    </th>
    
    <th>
      What it does
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        listIssues
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      List issues for a GitHub repository (excludes pull requests).
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        getIssue
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      Get detailed information about a specific issue. Body is truncated by default. Set <code>
        detail: 'full'
      </code>
      
       for the complete description.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        listIssueComments
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      List comments on a GitHub issue. Bodies are truncated by default.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        createIssue
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Create a new issue in a GitHub repository, optionally in a milestone.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        addIssueComment
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Add a comment to a GitHub issue.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        closeIssue
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Close an open GitHub issue.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        updateIssue
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Update a GitHub issue: title, body, labels, milestone, or assignees. Also reopens or closes it through <code>
        state
      </code>
      
      .
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        updateIssueComment
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Update the body of a comment on a GitHub issue.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        deleteIssueComment
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Delete a comment from a GitHub issue permanently.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        listLabels
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      List labels available in a GitHub repository.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        addLabels
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Add labels to an issue or pull request.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        removeLabel
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Remove a label from an issue or pull request.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        createLabel
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Create a label in a GitHub repository.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        updateLabel
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Update a label in a GitHub repository: name, color, or description.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        deleteLabel
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Delete a label from a GitHub repository permanently.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        addAssignees
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Assign users to an issue or pull request.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        removeAssignees
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Remove assignees from an issue or pull request.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        listMilestones
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      List milestones with their due dates and open and closed issue counts. Pass a milestone number to <code>
        createIssue
      </code>
      
       or <code>
        updateIssue
      </code>
      
      .
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        listSubIssues
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      List the sub-issues of an issue. A sub-issue can be in another repository of the same owner.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        addSubIssue
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Add an existing issue, from the same repository or another one with the same owner, as a sub-issue. An issue has at most one parent; <code>
        replaceParent
      </code>
      
       moves it.
    </td>
  </tr>
</tbody>
</table>

## Reactions

<table>
<thead>
  <tr>
    <th>
      Tool
    </th>
    
    <th>
      Write
    </th>
    
    <th>
      What it does
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        listIssueReactions
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      List reactions on an issue or pull request conversation, with per-emoji counts for the returned page.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        addIssueReaction
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      React to an issue or pull request with an emoji. Acknowledges a report without adding a comment.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        listCommentReactions
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      List reactions on an issue or pull request comment, with per-emoji counts for the returned page.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        addCommentReaction
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      React to an issue or pull request comment with an emoji. Acknowledges a comment without a reply.
    </td>
  </tr>
</tbody>
</table>

## Discussions

<table>
<thead>
  <tr>
    <th>
      Tool
    </th>
    
    <th>
      Write
    </th>
    
    <th>
      What it does
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        listDiscussions
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      List discussions in a GitHub repository, most recently updated first, optionally filtered by category (GraphQL API).
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        getDiscussion
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      Get a GitHub discussion by number. Body is truncated by default. Set <code>
        detail: 'full'
      </code>
      
       for the complete text (GraphQL API).
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        addDiscussionComment
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Add a comment to a GitHub discussion (GraphQL API).
    </td>
  </tr>
</tbody>
</table>

## Notifications

<table>
<thead>
  <tr>
    <th>
      Tool
    </th>
    
    <th>
      Write
    </th>
    
    <th>
      What it does
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        listNotifications
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      List notification threads for the authenticated user. Unread only unless <code>
        all
      </code>
      
       is true. Requires a token with notifications access.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        markNotificationRead
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Mark a single notification thread as read.
    </td>
  </tr>
</tbody>
</table>

## Commits

<table>
<thead>
  <tr>
    <th>
      Tool
    </th>
    
    <th>
      Write
    </th>
    
    <th>
      What it does
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        listCommits
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      List commits for a GitHub repository. Filters by <code>
        path
      </code>
      
      , <code>
        author
      </code>
      
      , <code>
        since
      </code>
      
       or <code>
        until
      </code>
      
      .
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        getCommit
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      Get detailed information about a specific commit, including the list of files changed with additions and deletions. Patches are omitted unless <code>
        includePatch
      </code>
      
       is true.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        getBlame
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      Line-level git blame for a file at a commit-like ref (branch, tag, or SHA). Returns contiguous ranges mapping lines to the commits that last modified them, to see who introduced a line and when (GraphQL API).
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        compareCommits
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      Compare two branches, tags, or commits: ahead/behind counts, the commits in between, and the files that differ. Patches are omitted unless <code>
        includePatch
      </code>
      
       is true.
    </td>
  </tr>
</tbody>
</table>

## Gists

<table>
<thead>
  <tr>
    <th>
      Tool
    </th>
    
    <th>
      Write
    </th>
    
    <th>
      What it does
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        listGists
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      List gists for the authenticated user or a specific user.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        getGist
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      Get a gist by ID, including file contents.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        listGistComments
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      List comments on a gist.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        createGist
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Create a new gist with one or more files.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        updateGist
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Update an existing gist: edit description, update files, or remove files.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        deleteGist
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Delete a gist permanently.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        createGistComment
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Add a comment to a gist.
    </td>
  </tr>
</tbody>
</table>

## Workflows

<table>
<thead>
  <tr>
    <th>
      Tool
    </th>
    
    <th>
      Write
    </th>
    
    <th>
      What it does
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        listWorkflows
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      List GitHub Actions workflows in a repository.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        listWorkflowRuns
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      List workflow runs for a repository, optionally filtered by workflow, branch, status, or event.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        getWorkflowRun
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      Get details of a specific workflow run including status, timing, and trigger info.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        listWorkflowJobs
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      List jobs for a workflow run, including step-level status and timing.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        getWorkflowJobLogs
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      Get the log output of a workflow job to diagnose failures. Returns the last <code>
        maxLines
      </code>
      
       lines (default 200) without per-line timestamps.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        triggerWorkflow
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Trigger a workflow through a <code>
        workflow_dispatch
      </code>
      
       event.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        cancelWorkflowRun
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Cancel an in-progress workflow run.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        rerunWorkflowRun
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Re-run a workflow run, optionally only the failed jobs.
    </td>
  </tr>
</tbody>
</table>

## Checks

<table>
<thead>
  <tr>
    <th>
      Tool
    </th>
    
    <th>
      Write
    </th>
    
    <th>
      What it does
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        listCheckRuns
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      List check runs (Checks API: GitHub Actions and other CI providers) for a commit, branch, or tag.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        getCombinedStatus
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      Get the combined commit status (Statuses API: legacy CI integrations) for a commit, branch, or tag.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        createCommitStatus
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Report a result on a commit as a commit status, such as <code>
        pending
      </code>
      
       while a bot works and then <code>
        success
      </code>
      
       or <code>
        failure
      </code>
      
      . It shows on the commit's pull requests and can be a required check.
    </td>
  </tr>
</tbody>
</table>

`createCommitStatus` works with a personal access token or a GitHub App, while GitHub only lets a GitHub App create check runs. It needs the Commit statuses (write) permission, see [Auth](https://github-tools.com/auth#permissions-per-preset).

## Releases

<table>
<thead>
  <tr>
    <th>
      Tool
    </th>
    
    <th>
      Write
    </th>
    
    <th>
      What it does
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        listReleases
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      List releases for a GitHub repository, newest first (includes drafts and prereleases). Bodies are truncated by default.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        getLatestRelease
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      Get the latest published release for a GitHub repository (excludes drafts and prereleases). Body is truncated by default.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        getRelease
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      Get a specific release by ID or tag, including its assets. Body is truncated by default.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        createRelease
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Create a new release (and its tag if needed) in a GitHub repository.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        updateRelease
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Update an existing release: tag, target, title, notes, draft, or prerelease status.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        deleteRelease
      </code>
    </td>
    
    <td>
      Yes
    </td>
    
    <td>
      Delete a release permanently (does not delete the underlying git tag).
    </td>
  </tr>
</tbody>
</table>

## Search

<table>
<thead>
  <tr>
    <th>
      Tool
    </th>
    
    <th>
      Write
    </th>
    
    <th>
      What it does
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        searchCode
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      Search for code in GitHub repositories. Scope it with qualifiers such as <code>
        repo:owner/name
      </code>
      
      . Results include matching text snippets when GitHub returns them.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        searchRepositories
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      Search for GitHub repositories by keyword, topic, language, or other qualifiers.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        searchIssues
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      Search for issues and pull requests across GitHub with search qualifiers such as <code>
        repo:owner/name is:open
      </code>
      
      .
    </td>
  </tr>
</tbody>
</table>

## Security alerts

<table>
<thead>
  <tr>
    <th>
      Tool
    </th>
    
    <th>
      Write
    </th>
    
    <th>
      What it does
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        listCodeScanningAlerts
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      List code scanning alerts (CodeQL and other analysis tools) for a repository, newest first, with the rule, its severity, and the file and line of the latest instance. Needs code scanning set up on the repository.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        listDependabotAlerts
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      List Dependabot alerts for vulnerable dependencies, newest first, with the package, the advisory (GHSA and CVE IDs, severity, summary), the vulnerable range and the first patched version.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        listSecretScanningAlerts
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      List secret scanning alerts for credentials committed to a repository, newest first, with the secret type, whether the secret is still valid, and whether push protection was bypassed. The secret itself is never returned.
    </td>
  </tr>
</tbody>
</table>

## Context tools

<table>
<thead>
  <tr>
    <th>
      Tool
    </th>
    
    <th>
      Write
    </th>
    
    <th>
      What it does
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        getPullRequestContext
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      Fetch pull request details plus files, reviews, and optional CI checks and linked issues in one call, instead of separate <code>
        getPullRequest
      </code>
      
      , <code>
        listPullRequestFiles
      </code>
      
       and <code>
        listPullRequestReviews
      </code>
      
       calls.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        getIssueContext
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      Fetch an issue plus available label names and recent comments in one call, for triage.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        getReleaseContext
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      Fetch a release (latest, by ID, or by tag) plus the release before it and the comparison between their tags in one call, for preparing or reviewing a release.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        getCiFailureContext
      </code>
    </td>
    
    <td>
      
    </td>
    
    <td>
      Diagnose CI failures in one call, for a ref or one workflow run: failing checks and statuses (for a ref), recent failed runs, failed jobs and steps, and the end of each failed job's log.
    </td>
  </tr>
</tbody>
</table>


## Sitemap

See the full [sitemap](https://github-tools.com/sitemap.md) for all pages.
