Kiwi for GitLab
Have the agent on a Kiwi step open a GitLab merge request for its change and follow its pipeline, through GitLab's MCP server.
- Your agent works in GitLab through its own connection. Kiwi does not call GitLab and never holds its credentials.
- A workflow skill can list GitLab among the tools it requires. When you supply your agent's available tools to a skill check and GitLab is not among them, the check reports
SK15-UNSUPPORTED-TOOL. - A project Admin can add links to GitLab, with notes, under Connections and bind them to the steps that use them. The agent reads them with
list_connections. - The agent can report the tools and plugins it ran with, including its GitLab connection, with
report_configuration. - The agent submits links to its work in GitLab as the step's outputs. People review them, and sign-off stays with the people your workflow names.
What your agent can do in GitLab
- Read a project's repository tree and files, list its branches and create a branch for the change.
- Commit changes to a branch, then open or update a merge request.
- Read a merge request's diffs, commits, discussions and approvals, and comment on the merge request or an issue.
- List the pipelines of a merge request to see whether its CI jobs pass.
- Create an issue for follow-up work found during the step, or read an existing issue.
Set up
Connect your agent to Kiwi
Add Kiwi's hosted MCP server,
https://kiwiflow.io/mcp, to your coding agent.Connect your agent to GitLab
Add the GitLab MCP server to your agent with this URL. The credentials stay with your agent.
https://gitlab.com/api/v4/mcpExample skill
Publish instructions like these as a workflow skill that lists GitLab among its required tools.
Read the assignment for the GitLab project, target branch and issue number. Create a branch, commit the change and open a merge request for the issue. Check the merge request's pipeline and include its status in the outputs. Submit the merge request URL with submit_result. Do not merge it; the reviewer named in the assignment decides. If the pipeline cannot start, call report_blocker with the pipeline URL.