MCPs/forgejo/README.md
tobjend 1d06ba2209
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
fix: accurate tool listings and signatures in all 6 MCP READMEs
- 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.
2026-06-21 18:23:29 +02:00

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`