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.
67 lines
4 KiB
Markdown
67 lines
4 KiB
Markdown
# forgejo-mcp
|
|
|
|
MCP server for Forgejo/Gitea API operations.
|
|
|
|
Source: [`@openmanbo/forgejo-mcp`](https://npm.im/@openmanbo/forgejo-mcp)
|
|
|
|
## Environment Variables
|
|
|
|
| Variable | Required | Description |
|
|
|----------|----------|-------------|
|
|
| `FORGEJO_URL` | Yes | Forgejo instance URL (e.g. `https://forgejo.corentic.eu`) |
|
|
| `FORGEJO_TOKEN` | Yes | Forgejo API token or personal access token |
|
|
| `FORGEJO_USERNAME` | No | Username for certain operations |
|
|
|
|
## Usage
|
|
|
|
```bash
|
|
docker run -d \
|
|
--name forgejo-mcp \
|
|
-p 8101:8101 \
|
|
-e FORGEJO_URL=https://forgejo.corentic.eu \
|
|
-e FORGEJO_TOKEN=your_token \
|
|
-e FORGEJO_USERNAME=tobi \
|
|
forgejo.corentic.eu/corentic/mcp-fleet-forgejo:latest
|
|
```
|
|
|
|
## Tools
|
|
|
|
### Issues
|
|
- **`search_issues`** — Search issues/PRs across all repos. Params: `q`, `type` (issues/pulls), `state` (open/closed), `labels`, `owner`, `assigned`, `created`, `mentioned`, `since`, `before`, `page`, `limit`
|
|
- **`list_issues`** — List issues in a repo. Params: `owner`, `repo`, `state`, `type`, `labels`, `page`, `limit`
|
|
- **`get_issue`** — Get issue/PR details. Params: `owner`, `repo`, `index`
|
|
- **`create_issue`** — Create issue. Params: `owner`, `repo`, `title`, `body`, `assignees`, `labels`, `milestone`
|
|
- **`edit_issue`** — Edit issue. Params: `owner`, `repo`, `index`, `title`, `body`, `state`, `assignees`, `milestone`
|
|
- **`list_issue_comments`** — List comments. Params: `owner`, `repo`, `index`, `page`, `limit`
|
|
- **`create_comment`** — Add comment. Params: `owner`, `repo`, `index`, `body`
|
|
|
|
### Repositories
|
|
- **`search_repos`** — Search repos. Params: `q`, `topic`, `include_desc`, `owner`, `is_private`, `archived`, `page`, `limit`
|
|
- **`get_repo`** — Get repo details. Params: `owner`, `repo`
|
|
|
|
### Pull Requests
|
|
- **`list_pull_requests`** — List PRs. Params: `owner`, `repo`, `state`, `sort`, `labels`, `milestone`, `page`, `limit`
|
|
- **`get_pull_request`** — Get PR details. Params: `owner`, `repo`, `index`
|
|
- **`create_pull_request`** — Create PR. Params: `owner`, `repo`, `title`, `body`, `head`, `base`, `assignees`, `labels`, `milestone`
|
|
- **`edit_pull_request`** — Update PR. Params: `owner`, `repo`, `index`, `title`, `body`, `state`, `base`, `assignees`, `labels`, `milestone`
|
|
- **`merge_pull_request`** — Merge PR. Params: `owner`, `repo`, `index`, `Do` (merge/rebase/squash), `delete_branch_after_merge`, `force_merge`, `merge_when_checks_succeed`
|
|
- **`get_pull_request_diff`** — Get PR diff. Params: `owner`, `repo`, `index`
|
|
- **`get_pull_request_files`** — Get changed files. Params: `owner`, `repo`, `index`, `skip`, `limit`
|
|
- **`update_pull_request_branch`** — Update PR branch with base. Params: `owner`, `repo`, `index`, `style` (rebase/merge)
|
|
|
|
### Pull Request Reviews
|
|
- **`list_pull_request_reviews`** — List reviews. Params: `owner`, `repo`, `index`, `page`, `limit`
|
|
- **`get_pull_request_review`** — Get review details. Params: `owner`, `repo`, `index`, `review_id`
|
|
- **`create_pull_request_review`** — Create/submit review. Params: `owner`, `repo`, `index`, `event` (APPROVED/REQUEST_CHANGES/COMMENT/PENDING), `body`, `commit_id`, `comments[]` (line-level)
|
|
- **`submit_pull_request_review`** — Submit pending review. Params: `owner`, `repo`, `index`, `review_id`, `event`, `body`
|
|
- **`delete_pull_request_review`** — Delete review. Params: `owner`, `repo`, `index`, `review_id`
|
|
- **`dismiss_pull_request_review`** — Dismiss review. Params: `owner`, `repo`, `index`, `review_id`, `message`
|
|
- **`get_pull_request_review_comments`** — List review comments. Params: `owner`, `repo`, `index`, `review_id`
|
|
|
|
### Users & Notifications
|
|
- **`get_user`** — Get authenticated user profile
|
|
- **`get_user_info`** — Get user profile by login. Params: `username`
|
|
- **`get_git_token`** — Get git credentials for cloning
|
|
- **`list_notifications`** — List notifications. Params: `all`, `since`, `before`, `page`, `limit`
|
|
- **`mark_notification_read`** — Mark notification read. Params: `id`
|
|
- **`mark_all_notifications_read`** — Mark all read. Params: `last_read_at`
|