github
Covers repos, files, branches, issues, PRs, commits, and workflow runs. Error responses match real GitHub API format (status codes, error messages, validation errors).
Start here
| Question | Answer |
|---|---|
| Best for | Agents that triage issues, update files, open PRs, review diffs, merge changes, or inspect CI state. |
| Connect with | Route mode for api.github.com, direct REST base URLs from archal clone start github, or MCP tools. |
| Known limits | Coverage is strongest for REST and MCP workflows. Git transport and every GitHub product surface are not simulated. |
| Seeds | Common seeds: small-project, enterprise-repo, stale-issues, merge-conflict, empty. See Seeds for usage. |
Available tools
Repositories
| Tool | Description |
|---|---|
create_repository | Create a new GitHub repository in your account |
get_repository | Get details of a GitHub repository |
search_repositories | Search for GitHub repositories |
fork_repository | Fork a repository to your account or specified organization |
search_code | Search for code across repositories |
search_users | Search for users on GitHub |
Files
| Tool | Description |
|---|---|
get_file_contents | Get the contents of a file or directory from a repository |
create_or_update_file | Create or update a single file in a repository |
push_files | Push multiple files in a single commit |
Branches
| Tool | Description |
|---|---|
create_branch | Create a new branch in a repository |
list_branches | List branches in a repository |
delete_branch | Delete a branch from a repository |
Issues
| Tool | Description |
|---|---|
create_issue | Create a new issue in a repository |
get_issue | Get details of a specific issue |
list_issues | List issues with filtering options |
update_issue | Update an existing issue |
search_issues | Search for issues and pull requests across repositories |
add_issue_comment | Add a comment to an existing issue |
Pull Requests
| Tool | Description |
|---|---|
create_pull_request | Create a new pull request |
get_pull_request | Get details of a specific pull request |
list_pull_requests | List and filter repository pull requests |
update_pull_request | Update an existing pull request |
merge_pull_request | Merge a pull request |
get_pull_request_diff | Get the diff of a pull request |
get_pull_request_commits | Get commits on a pull request |
get_pull_request_reviews | Get reviews on a pull request |
create_pull_request_review | Create a review on a pull request |
get_pull_request_files | Get the list of files changed in a pull request |
get_pull_request_status | Get the combined status of all status checks |
update_pull_request_branch | Update a PR branch with latest changes from base |
get_pull_request_comments | Get the review comments on a pull request |
Commits & Workflows
| Tool | Description |
|---|---|
list_commits | Get list of commits of a branch |
list_workflow_runs | List workflow runs for a repository |
get_workflow_run | Get a specific workflow run |
Notes
- Configurable rate limiting via
--rate-limitflag or therate-limitedseed. permissions-deniedseed returns 403 on write operations.- In hosted sessions, MCP is exposed over HTTPS endpoints (for example
https://<session>.clones.archal.ai/github/mcp). - The default bootstrap token is
ghp_AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTt. See Authentication for the full list and override instructions.
