github
Covers repos, files, branches, issues, PRs, commits, and workflow runs. Error responses match real GitHub API format (status codes, error messages, validation errors).
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 |
Seeds
| Seed | Description |
|---|---|
empty | No data — blank slate |
small-project | A small project with a repo, branches, issues, and pull requests |
enterprise-repo | Enterprise repository with multiple collaborators and branch protections |
merge-conflict | Repository state with conflicting branches to test merge conflict handling |
permissions-denied | Simulates a repository where the user has restricted permissions |
rate-limited | Triggers rate limit errors after requests |
stale-issues | Repository with old, unresolved issues for triage testing |
large-backlog | Repository with a large number of issues and pull requests |
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>.twins.archal.ai/github/mcp).