feat: add forgejo-mcp Docker image with Woodpecker CI

This commit is contained in:
tobjend 2026-06-21 17:48:52 +02:00
commit 0fbbc90202
3 changed files with 67 additions and 0 deletions

14
.woodpecker.yml Normal file
View file

@ -0,0 +1,14 @@
when:
branch: main
pipeline:
build-forgejo:
image: docker:latest
volumes:
- /var/run/docker.sock:/var/run/docker.sock
secrets:
- forgejo_registry_token
commands:
- docker build -t forgejo.corentic.eu/corentic/mcp-fleet-forgejo:latest -f forgejo/Dockerfile forgejo/
- docker login forgejo.corentic.eu -u tobi -p $FORGEJO_REGISTRY_TOKEN
- docker push forgejo.corentic.eu/corentic/mcp-fleet-forgejo:latest

7
forgejo/Dockerfile Normal file
View file

@ -0,0 +1,7 @@
FROM node:22-slim
RUN npm install -g mcp-proxy@6.5.2 @openmanbo/forgejo-mcp@0.1.0
EXPOSE 8101
CMD ["mcp-proxy", "--port", "8101", "--host", "0.0.0.0", "--", "forgejo-mcp"]

46
forgejo/README.md Normal file
View file

@ -0,0 +1,46 @@
# forgejo-mcp
MCP server for interacting with a Forgejo instance.
Source: [`@openmanbo/forgejo-mcp`](https://www.npmjs.com/package/@openmanbo/forgejo-mcp)
## Environment Variables
| Variable | Required | Description |
|----------|----------|-------------|
| `FORGEJO_URL` | Yes | Base URL of the Forgejo instance (e.g. `https://forgejo.corentic.eu`) |
| `FORGEJO_TOKEN` | Yes | Personal access token with required scopes. Generate at `/user/settings/applications` |
## Usage
```bash
docker run -d \
--name forgejo-mcp \
-p 8101:8101 \
-e FORGEJO_URL=https://forgejo.corentic.eu \
-e FORGEJO_TOKEN=your_token_here \
forgejo.corentic.eu/corentic/mcp-fleet-forgejo:latest
```
## Tools
- `search_issues` — Search issues & PRs across all repos
- `list_issues` — List issues in a repository
- `get_issue` — Get a single issue
- `create_issue` — Create a new issue
- `edit_issue` — Edit an issue
- `list_issue_comments` — List comments on an issue
- `create_comment` — Add a comment to an issue
- `search_repos` — Search repositories
- `get_repo` — Get repository info
- `get_user` — Get authenticated user profile
- `get_user_info` — Get any user's public profile
- `list_notifications` — List notifications
- `list_pull_requests` — List pull requests in a repository
- `get_pull_request` — Get a single pull request
- `create_pull_request` — Create a pull request
- `edit_pull_request` — Edit a pull request
- `merge_pull_request` — Merge a pull request
- `get_pull_request_diff` — Get PR diff as plain text
- `get_pull_request_files` — List files changed in a PR
- `list_pull_request_reviews` — List reviews on a PR