# github-mcp MCP server for the GitHub API. Source: [`@modelcontextprotocol/server-github`](https://www.npmjs.com/package/@modelcontextprotocol/server-github) (deprecated) ## Environment Variables | Variable | Required | Description | |----------|----------|-------------| | `GITHUB_PERSONAL_ACCESS_TOKEN` | Yes | GitHub personal access token with repo + issues scopes | ## Usage ```bash docker run -d \ --name github-mcp \ -p 8104:8104 \ -e GITHUB_PERSONAL_ACCESS_TOKEN=your_token \ forgejo.corentic.eu/corentic/mcp-fleet-github:latest ``` ## Tools ### Repositories - **`create_repository`** — Create a GitHub repository. Params: `name`, `description`, `private`, `autoInit` - **`search_repositories`** — Search for GitHub repositories. Params: `query`, `search_options` (sort, order, per_page, page) - **`fork_repository`** — Fork a repository. Params: `owner`, `repo`, `organization` - **`get_repository`** — Get repository details. Params: `owner`, `repo` - **`list_repositories`** — List repositories for user/org. Params: `owner`, `type`, `sort`, `direction`, `per_page`, `page` ### Pull Requests - **`get_pull_request`** — Get PR details. Params: `owner`, `repo`, `pull_number` - **`list_pull_requests`** — List PRs. Params: `owner`, `repo`, `state`, `head`, `base`, `sort`, `direction`, `per_page`, `page` - **`create_pull_request`** — Create PR. Params: `owner`, `repo`, `title`, `head`, `base`, `body`, `draft`, `maintainer_can_modify` - **`merge_pull_request`** — Merge PR. Params: `owner`, `repo`, `pull_number`, `commit_title`, `commit_message`, `merge_method` (merge/squash/rebase) - **`get_pull_request_files`** — List changed files in a PR. Params: `owner`, `repo`, `pull_number` - **`get_pull_request_status`** — Get combined status of all status checks for a PR. Params: `owner`, `repo`, `pull_number` - **`update_pull_request_branch`** — Update PR branch with latest base branch. Params: `owner`, `repo`, `pull_number`, `expected_head_sha` - **`get_pull_request_comments`** — List review comments on a PR. Params: `owner`, `repo`, `pull_number` - **`create_pull_request_review`** — Create a review on a PR. Params: `owner`, `repo`, `pull_number`, `body`, `event` (APPROVE/REQUEST_CHANGES/COMMENT), `comments[]` - **`list_pull_request_reviews`** — List reviews on a PR. Params: `owner`, `repo`, `pull_number` ### Issues - **`create_issue`** — Create issue. Params: `owner`, `repo`, `title`, `body`, `assignees`, `labels`, `milestone` - **`list_issues`** — List issues. Params: `owner`, `repo`, `state`, `labels`, `sort`, `direction`, `since`, `per_page`, `page` - **`add_issue_comment`** — Add comment. Params: `owner`, `repo`, `issue_number`, `body` - **`search_issues`** — Search issues across GitHub. Params: `q`, `sort`, `order`, `per_page`, `page` - **`get_issue`** — Get issue details. Params: `owner`, `repo`, `issue_number` - **`update_issue`** — Update issue. Params: `owner`, `repo`, `issue_number`, `title`, `body`, `state`, `labels`, `assignees`, `milestone` ### Actions - **`list_workflows`** — List workflows in a repo. Params: `owner`, `repo`, `per_page`, `page` - **`list_workflow_runs`** — List workflow runs. Params: `owner`, `repo`, `workflow_id`, `branch`, `status`, `per_page`, `page` - **`get_workflow_run`** — Get workflow run details. Params: `owner`, `repo`, `run_id` - **`get_workflow_run_usage`** — Get workflow run usage stats. Params: `owner`, `repo`, `run_id` ### Contents - **`get_content`** — Get file contents. Params: `owner`, `repo`, `path`, `branch` - **`create_or_update_file`** — Create or update file. Params: `owner`, `repo`, `path`, `content`, `message`, `branch`, `sha` ### Commits & Branches - **`list_commits`** — List commits. Params: `owner`, `repo`, `sha` (branch), `path`, `author`, `since`, `until`, `per_page`, `page` - **`get_commit`** — Get commit details. Params: `owner`, `repo`, `ref` - **`list_branches`** — List branches. Params: `owner`, `repo`, `protected`, `per_page`, `page` - **`create_branch`** — Create branch reference. Params: `owner`, `repo`, `branch_name`, `sha` ### Users - **`get_me`** — Get authenticated user profile - **`search_users`** — Search users. Params: `q` ### Releases - **`list_releases`** — List releases. Params: `owner`, `repo`, `per_page`, `page` - **`get_release`** — Get release by tag. Params: `owner`, `repo`, `tag`