All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
- forgejo: verified against package tools/list (30 tools) - semaphore: full rewrite with 50+ actual tools & signatures (was listing nonexistent tools like create_view, missing 30+ real tools) - github: complete tool listing (35 tools) instead of vague placeholder - portainer: full tool listing (32 tools) with params instead of vague list - woodpecker: already accurate (verified against package, 33 tools) - postgresql: already accurate (5 tools) All tools verified against actual packages via tools/list RPC calls or source code inspection.
74 lines
4.3 KiB
Markdown
74 lines
4.3 KiB
Markdown
# 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`
|