GitHub
Arcade.dev LLM tools for Github
GitHub Toolkit
The Arcade GitHub toolkit connects LLMs to the GitHub API, enabling agents and assistants to read and write repositories, issues, pull requests, projects, code, and user activity on behalf of authenticated users.
Capabilities
- Repository & file management: Create branches, create/overwrite/download/update files (with line-range precision), list collaborators, labels, and activities, star/unstar repos, count and list stargazers.
- Issues & comments: Create, update, and retrieve issues; add assignees; manage labels with fuzzy matching; post and read issue comments; add issues to Projects V2.
- Pull requests & reviews: Create, update, and merge PRs; check merge status; manage reviewers; submit reviews and review comments (with diff-line validation); list changed files, commits, conversation comments, and review threads; resolve/unresolve threads.
- GitHub Projects (V2): List projects across org or user scope, list and filter project items, retrieve specific items, and list custom fields including select/iteration options.
- Code & activity search: Search code across authorized scope with matched fragments inlined; search accessible repositories with fuzzy matching; list repository activities (pushes, merges, force pushes).
- User context: Retrieve the authenticated user's profile, orgs, and teams; surface their open PRs/issues, recent activity (authored, reviewed, committed), and current review workload.
OAuth
This toolkit uses OAuth 2.0 via GitHub as the identity provider. See the Arcade GitHub auth provider docs for setup details.
Secrets
GITHUB_SERVER_URL — The base URL of the GitHub server the toolkit should target. For standard github.com usage this is not required. It is needed when targeting a GitHub Enterprise Server (GHES) instance (e.g., https://github.your-company.com). Obtain this value from your GitHub Enterprise administrator — it is simply the root hostname of your GHES deployment. No special dashboard page or token is needed; the value is a URL string, not a credential.
For details on configuring secrets in Arcade, see Tool Secrets. You can also manage secrets at https://api.arcade.dev/dashboard/auth/secrets.
Available tools(46)
| Tool name | Description | Secrets | |
|---|---|---|---|
Assign a user to a pull request with intelligent search and fuzzy matching. | 1 | ||
Check if a pull request is ready to merge without attempting the merge. | 1 | ||
Count the number of stargazers (stars) for a GitHub repository. | 1 | ||
Create a new branch in a repository. | 1 | ||
Create a new file or overwrite an existing file in a repository.
The explicit mode parameter reduces accidental data loss: the default CREATE mode refuses to
touch existing files, while OVERWRITE must be chosen intentionally. | 1 | ||
Create an issue in a GitHub repository.
Optionally add the created issue to a project by specifying add_to_project_number
and add_to_project_scope. | 1 | ||
Create a comment on an issue in a GitHub repository. | 1 | ||
Create a pull request in a GitHub repository. | 1 | ||
Submit a review for a pull request. | 1 | ||
Create a review comment for a pull request in a GitHub repository.
IMPORTANT: Line numbers must be part of the diff (changed lines only).
GitHub's API requires line numbers that exist in the pull request diff, not just any line
in the file. If the line wasn't changed in the PR, the comment will fail with 422 error.
Line comments require start_line and end_line. When subject_type is omitted, providing either
line parameter selects a line comment; otherwise the comment applies to the whole file.
File comments cannot include line-specific parameters.
If the commit_id is not provided, the latest commit SHA from the PR will be used.
TIP: Use subject_type='file' to comment on the entire file if unsure about line positions. | 1 | ||
Get the contents of a file in a repository.
Returns the decoded content (if text) along with metadata like SHA, size, and line count.
For large files, use start_line and end_line to retrieve specific line ranges. | 1 | ||
Get a specific issue from a GitHub repository. | 1 | ||
Get user's currently open pull requests and issues across all repositories.
Returns open PRs and issues authored by the authenticated user. | 1 | ||
Get the authenticated user's recent pull requests, reviews, issues, and commits.
Returns PRs they authored, merged PRs, PRs they reviewed, issues they opened, and commits pushed | 1 | ||
Get pull requests awaiting review by the authenticated user.
Returns PRs where user is requested as reviewer and PRs user has recently reviewed. | 1 | ||
Search for a specific item in a Projects V2 project. | 1 | ||
Get details of a pull request in a GitHub repository. | 1 | ||
Get a repository.
Retrieves detailed information about a repository using the GitHub API. | 1 | ||
List issues in a GitHub repository. | 1 | ||
List repositories for the specified organization. | 1 | ||
List fields for a Projects V2 project.
Returns all custom fields configured for the project, including field types
and available options for select/iteration fields. | 1 | ||
List items for a Projects V2 project with optional filtering. | 1 | ||
List Projects V2 across organization or user scopes. | 1 | ||
List files changed in a pull request, sorted by file path.
GitHub returns at most 3000 files. Patches, when included, may be absent for binary or
large files. Pagination stops at this cap and truncated is true when the cap is reached. | 1 | ||
List commits (from oldest to newest) on a pull request in a GitHub repository. | 1 |