Skip to content

woodpecker-ci-mcpYour CI, in the conversation

MCP server for Woodpecker CI — read repositories, pipelines and logs, and drive builds, secrets and crons

How woodpecker-ci-mcp connects an MCP client to Woodpecker CIAn MCP client talks to woodpecker-ci-mcp over stdio. The server calls the Woodpecker CI API over HTTPS. The build agents pull work from the Woodpecker server directly, on a path this server is not on.MCP clientClaude, Codex, …woodpecker-ci-mcp71 tools, 8 essentialasks a personWoodpeckerserverstdioHTTPS/apiBuild agentsrun your pipelinespull
The server reads and drives the Woodpecker server. The agents that actually run your pipelines pull their work directly from it, on a path this server never touches — which is why an agent token is a credential worth redacting.

71 tools, or eight ​

The tool list is not fixed. WOODPECKER_ALLOW_TOOLS=essential narrows it to the eight that cover the job end to end — find the repository, read its pipelines and logs, run one again — and a name that matches nothing stops the server instead of quietly leaving a tool out of tools/list.

Finding a failed pipeline, reading the failing step's log, and restarting it

Recorded from docs/demo.tape against a throwaway instance. The server starts without any configuration at all, so registries and inspectors can introspect it; every call then fails with setup instructions instead of reaching the API.

Running it elsewhere ​

A client that cannot spawn a local process — ChatGPT connectors, Claude on the web, Cursor, LibreChat — cannot start woodpecker-ci-mcp the way Claude Code does. mcp-hub is the bridge: one container serves many stdio MCP servers over Streamable HTTP, with an OAuth 2.1 login behind a single password and long-lived tokens for the clients that cannot do OAuth. Its /hub endpoint puts every server behind six meta-tools, so one connector reaches all of them without N×tool schemas in the model's context, and it speaks both protocol revisions — a question this server asks travels through it to the person at the far end instead of ending at the gateway.

Its configuration is Claude Code's mcpServers format, so the entry you already have is the entry it takes: Through mcp-hub.

Released under the MIT License.