Paperclip’s GitHub connector gives your AI agents tools from GitHub’s official MCP server to read and search code, open pull requests and comment on issues. Each tool can be Allowed, Ask first or Off.
Agents act through your GitHub account or a dedicated agent account, within its repository access. A separate experimental chat connection lets people work with an agent from issues and pull requests.
What agents can do with GitHub
- Open a pull request with a code change
create_branch·push_files·create_pull_request - Review a pull request and leave comments
pull_request_read·pull_request_review_write - Triage and update issues
list_issues·issue_write·add_issue_comment - Find code and inspect its contents
search_code·get_file_contents
How to connect GitHub
- In Paperclip, open Connectors, find GitHub and select Connect.
- On the Access step, choose which agents may use the connection.
- Choose Use this connection as an agent tool, then choose your account or a dedicated agent identity for managed access. Authorize with GitHub and select repository access on the installation. Or choose Personal access token (advanced): create a fine-grained token with selected repository access and permissions in GitHub, then paste it into Paperclip.
GitHub tools for agents44
Read 27
get_commitGet details for a commit from a GitHub repository
get_file_contentsGet the contents of a file or directory from a GitHub repository
get_labelGet a specific label from a repository.
get_latest_releaseGet the latest release in a GitHub repository
get_meGet details of the authenticated GitHub user.
Full description
Get details of the authenticated GitHub user. Use this when a request is about the user's own profile for GitHub. Or when information is missing to build other tool calls.
get_release_by_tagGet a specific release by its tag name in a GitHub repository
Show all 27 Read tools
Read tools 7–27
get_tagGet details about a specific git tag in a GitHub repository
get_team_membersGet member usernames of a specific team in an organization.
Full description
Get member usernames of a specific team in an organization. Limited to organizations accessible with current credentials
get_teamsGet details of the teams the user is a member of.
Full description
Get details of the teams the user is a member of. Limited to organizations accessible with current credentials
issue_readGet information about a specific issue in a GitHub repository.
list_branchesList branches in a GitHub repository
list_commitsGet list of commits of a branch in a GitHub repository.
Full description
Get list of commits of a branch in a GitHub repository. Returns at least 30 results per page by default, but can return more if specified using the perPage parameter (up to 100).
list_issue_fieldsList issue fields for a repository or organization.
Full description
List issue fields for a repository or organization. Returns field definitions including name, type (text, number, date, single_select), and for single_select fields the list of valid option names. When repo is omitted, returns org-level fields directly.
list_issue_typesList supported issue types for a repository or its owner organization.
Full description
List supported issue types for a repository or its owner organization. When repo is omitted, returns org-level issue types directly.
list_issuesList issues in a GitHub repository.
Full description
List issues in a GitHub repository. For pagination, use the 'endCursor' from the previous response's 'pageInfo' in the 'after' parameter.
list_pull_requestsList pull requests in a GitHub repository.
Full description
List pull requests in a GitHub repository. If the user specifies an author, then DO NOT use this tool and use the search_pull_requests tool instead.
list_releasesList releases in a GitHub repository
list_repository_collaboratorsList collaborators of a GitHub repository.
Full description
List collaborators of a GitHub repository. Results are paginated; the response includes `nextPage`, `prevPage`, `firstPage`, and `lastPage` fields. To get the next page, use the `nextPage` value as the `page` parameter.
list_tagsList git tags in a GitHub repository
pull_request_readGet information on a specific pull request in GitHub repository.
run_secret_scanningScan files, content, or recent changes for secrets such as API keys, passwords, tokens, and credentials.
Full description
Scan files, content, or recent changes for secrets such as API keys, passwords, tokens, and credentials. This tool is intended for targeted scans of specific files, snippets, or diffs provided directly as content. The files parameter accepts either a single string or an array of strings containing raw file contents or diff hunks, and returns detected secrets with their locations and related secret scanning metadata. Content must not be empty. For full repository scanning, other mechanisms are available. Caveats: - Only files within the codebase should be scanned. Files outside of the codebase should not be sent. - Files listed in .gitignore should be skipped.
search_codeFast and precise code search across ALL GitHub repositories using GitHub's native search engine.
Full description
Fast and precise code search across ALL GitHub repositories using GitHub's native search engine. Best for finding exact symbols, functions, classes, or specific code patterns.
search_commitsSearch for commits across GitHub repositories using GitHub's commit search syntax.
Full description
Search for commits across GitHub repositories using GitHub's commit search syntax. Useful for finding specific changes, authors, or messages across one or many repositories. Searches the default branch only.
search_issuesSearch issues using natural-language semantic matching.
Full description
Search issues using natural-language semantic matching. Best for conceptual or paraphrased queries (e.g. "login fails after password reset"). Already scoped to is:issue.
search_pull_requestsSearch for pull requests in GitHub repositories using issues search syntax already scoped to is:pr
search_repositoriesFind GitHub repositories by name, description, readme, topics, or other metadata.
Full description
Find GitHub repositories by name, description, readme, topics, or other metadata. Perfect for discovering projects, finding examples, or locating specific repositories across GitHub.
search_usersFind GitHub users by username, real name, or other profile information.
Full description
Find GitHub users by username, real name, or other profile information. Useful for locating developers, contributors, or team members.
Write 17
add_comment_to_pending_reviewAdd review comment to the requester's latest pending pull request review.
Full description
Add review comment to the requester's latest pending pull request review. A pending review needs to already exist to call this (check with the user if not sure).
add_issue_commentAdd a comment and/or reaction to a specific issue or issue comment in a GitHub repository.
Full description
Add a comment and/or reaction to a specific issue or issue comment in a GitHub repository. Use this tool with pull requests as well (in this case pass pull request number as issue_number), but only if user is not asking specifically to add or react to review comments. At least one of body or reaction is required.
add_reply_to_pull_request_commentAdd a reply and/or reaction to an existing pull request comment.
Full description
Add a reply and/or reaction to an existing pull request comment. This can create a new comment linked as a reply to the specified comment, add an emoji reaction to the specified comment, or do both. At least one of body or reaction is required.
create_branchCreate a new branch in a GitHub repository
create_or_update_fileCreate or update a single file in a GitHub repository.
Full description
Create or update a single file in a GitHub repository. If updating, you should provide the SHA of the file you want to update. Use this tool to create or update a file in a GitHub repository remotely; do not use it for local file operations. To obtain the current blob SHA before updating, call the get_file_contents tool with the same owner, repo, and path, and set its ref parameter to this tool's branch value. The first text result reports the blob SHA for the requested path. SHA MUST be provided for existing file updates.
create_pull_requestCreate a new pull request in a GitHub repository.
Show all 17 Write tools
Write tools 7–17
create_repositoryCreate a new GitHub repository in your account or specified organization
delete_fileDelete a file from a GitHub repository
fork_repositoryFork a GitHub repository to your account or specified organization
issue_writeCreate a new or update an existing issue in a GitHub repository.
merge_pull_requestMerge a pull request in a GitHub repository.
pull_request_review_writeCreate and/or submit, delete review of a pull request.
Full description
Create and/or submit, delete review of a pull request. Available methods: - create: Create a new review of a pull request. If "event" parameter is provided, the review is submitted. If "event" is omitted, a pending review is created. - submit_pending: Submit an existing pending review of a pull request. This requires that a pending review exists for the current user on the specified pull request. The "body" and "event" parameters are used when submitting the review. - delete_pending: Delete an existing pending review of a pull request. This requires that a pending review exists for the current user on the specified pull request. - resolve_thread: Resolve a review thread. Requires only "threadId" parameter with the thread's node ID (e.g., PRRT_kwDOxxx). The owner, repo, and pullNumber parameters are not used for this method. Resolving an already-resolved thread is a no-op. - unresolve_thread: Unresolve a previously resolved review thread. Requires only "threadId" parameter. The owner, repo, and pullNumber parameters are not used for this method. Unresolving an already-unresolved thread is a no-op.
push_filesPush multiple files to a GitHub repository in a single commit
request_copilot_reviewRequest a GitHub Copilot code review for a pull request.
Full description
Request a GitHub Copilot code review for a pull request. Use this for automated feedback on pull requests, usually before requesting a human reviewer.
sub_issue_writeAdd a sub-issue to a parent issue in a GitHub repository.
update_pull_requestUpdate an existing pull request in a GitHub repository.
update_pull_request_branchUpdate the branch of a pull request with the latest changes from the base branch.
Tool availability and permissions
Only tools active on the connected account when this list was recorded are shown. Quarantined tools are held until enabled; disabled tools were unavailable at that time.
These lists show actions from a connected account when the list was recorded. On this website, evidence that an action changes data or submits information elsewhere puts it in Write, even when the account originally grouped it as Read. The original account grouping is retained separately. Read describes the reviewed evidence; it does not guarantee that an action has no side effects. Account groupings and available actions can change.
Only actions active on the connected account when this list was recorded are shown. Disabled actions were unavailable, and actions held for review needed to be enabled. This list does not establish their current availability.
Connection policies
On managed connections, new or changed actions are normally held back on refresh. Safe defaults can exempt actions classified as read. With your own credential, discovered actions become active under the connection’s existing policies. Review the list after each refresh. You can set any tool to Ask first or Off. Shell Git and gh on a managed dedicated identity are not constrained by these tool settings.
GitHub connector FAQ
Can agents push code or merge pull requests?
push_files and merge_pull_request are listed Write tools. Set either to Ask first for human approval of each call or Off. Shell Git and gh are outside these switches, so use branch protection and required reviews on GitHub.
Which repositories can agents reach?
Reach follows the selected GitHub credential. For managed access, review the App installation’s repositories; for a token, review its repository selection and permissions. Paperclip cannot widen that access.
Do I need Paperclip Cloud?
The managed GitHub App path needs an instance enrolled with Paperclip Cloud and an advertised GitHub profile. Personal access token (advanced) does not need that enrollment.