diff --git a/.woodpecker.yml b/.woodpecker.yml index 0b88fa7..9ae1e4e 100644 --- a/.woodpecker.yml +++ b/.woodpecker.yml @@ -9,6 +9,17 @@ pipeline: 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 build -t forgejo.corentic.eu/corentic/mcp-fleet-forgejo:latest -f forgejo/Dockerfile forgejo/ - docker push forgejo.corentic.eu/corentic/mcp-fleet-forgejo:latest + + build-woodpecker: + image: docker:latest + volumes: + - /var/run/docker.sock:/var/run/docker.sock + secrets: + - forgejo_registry_token + commands: + - docker login forgejo.corentic.eu -u tobi -p $FORGEJO_REGISTRY_TOKEN + - docker build -t forgejo.corentic.eu/corentic/mcp-fleet-woodpecker:latest -f woodpecker/Dockerfile woodpecker/ + - docker push forgejo.corentic.eu/corentic/mcp-fleet-woodpecker:latest diff --git a/woodpecker/Dockerfile b/woodpecker/Dockerfile new file mode 100644 index 0000000..ea9bfe7 --- /dev/null +++ b/woodpecker/Dockerfile @@ -0,0 +1,7 @@ +FROM node:22-slim + +RUN npm install -g mcp-proxy@6.5.2 @devpuccino/mcp-woodpecker@1.1.2 + +EXPOSE 8102 + +CMD ["mcp-proxy", "--port", "8102", "--host", "0.0.0.0", "--", "mcp-woodpecker"] diff --git a/woodpecker/README.md b/woodpecker/README.md new file mode 100644 index 0000000..0389929 --- /dev/null +++ b/woodpecker/README.md @@ -0,0 +1,59 @@ +# woodpecker-mcp + +MCP server for interacting with Woodpecker CI 3.13.0+. + +Source: [`@devpuccino/mcp-woodpecker`](https://www.npmjs.com/package/@devpuccino/mcp-woodpecker) + +## Environment Variables + +| Variable | Required | Description | +|----------|----------|-------------| +| `WOODPECKER_URL` | Yes | Base URL of the Woodpecker instance (e.g. `https://woodpecker.corentic.eu`) | +| `WOODPECKER_API_KEY` | Yes | Woodpecker API key with required scopes | + +## Usage + +```bash +docker run -d \ + --name woodpecker-mcp \ + -p 8102:8102 \ + -e WOODPECKER_URL=https://woodpecker.corentic.eu \ + -e WOODPECKER_API_KEY=your_key_here \ + forgejo.corentic.eu/corentic/mcp-fleet-woodpecker:latest +``` + +## Tools + +- `activate_repository` +- `cancel_pipeline` +- `create_cron` +- `create_org_secret` +- `create_registry` +- `create_secret` +- `delete_cron` +- `delete_org_secret` +- `delete_pipeline_logs` +- `delete_registry` +- `delete_repository` +- `delete_secret` +- `get_cron` +- `get_current_user` +- `get_org_secret` +- `get_pipeline` +- `get_pipeline_logs` +- `get_pipeline_status` +- `get_registry` +- `get_repository` +- `get_secret` +- `list_crons` +- `list_org_secrets` +- `list_pipelines` +- `list_registries` +- `list_repositories` +- `list_secrets` +- `lookup_organization` +- `trigger_pipeline` +- `update_cron` +- `update_org_secret` +- `update_repository` +- `update_secret`