
About
Automate GitLab project management, issues, merge requests, pipelines, branches, and user operations via Rube MCP (Composio). Always search tools first for current schemas.
name: gitlab-automation description: "Automate GitLab project management, issues, merge requests, pipelines, branches, and user operations via Rube MCP (Composio). Always search tools first for current schemas." risk: critical source: community date_added: "2026-02-27"
GitLab Automation via Rube MCP
Automate GitLab operations including project management, issue tracking, merge request workflows, CI/CD pipeline monitoring, branch management, and user administration through Composio's GitLab toolkit.
Prerequisites
- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active GitLab connection via
RUBE_MANAGE_CONNECTIONSwith toolkitgitlab - Always call
RUBE_SEARCH_TOOLSfirst to get current tool schemas
Setup
Get Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
- Verify Rube MCP is available by confirming
RUBE_SEARCH_TOOLSresponds - Call
RUBE_MANAGE_CONNECTIONSwith toolkitgitlab - If connection is not ACTIVE, follow the returned auth link to complete GitLab OAuth
- Confirm connection status shows ACTIVE before running any workflows
Core Workflows
1. Manage Issues
When to use: User wants to create, update, list, or search issues in a GitLab project
Tool sequence:
GITLAB_GET_PROJECTS- Find the target project and get its ID [Prerequisite]GITLAB_LIST_PROJECT_ISSUES- List and filter issues for a project [Required]GITLAB_CREATE_PROJECT_ISSUE- Create a new issue [Required for create]GITLAB_UPDATE_PROJECT_ISSUE- Update an existing issue (title, labels, state, assignees) [Required for update]GITLAB_LIST_PROJECT_USERS- Find user IDs for assignment [Optional]
Key parameters:
id: Project ID (integer) or URL-encoded path (e.g.,"my-group/my-project")title: Issue title (required for creation)description: Issue body text (max 1,048,576 characters)labels: Comma-separated label names (e.g.,"bug,critical")add_labels/remove_labels: Add or remove labels without replacing allstate: Filter by"all","opened", or"closed"state_event:"close"or"reopen"to change issue stateassignee_ids: Array of user IDs; use[0]to unassign allissue_iid: Internal issue ID within the project (required for updates)milestone: Filter by milestone titlesearch: Search in title and descriptionscope:"created_by_me","assigned_to_me", or"all"page/per_page: Pagination (default per_page: 20)
Pitfalls:
idaccepts either integer project ID or URL-encoded path; wrong IDs yield 4xx errorsissue_iidis the project-internal ID (shown as #42), different from the global issue ID- Labels in
labelsfield replace ALL existing labels; useadd_labels/remove_labelsfor incremental changes - Setting
assignee_idsto empty array does NOT unassign; use[0]instead updated_atfield requires administrator or project/group owner rights
2. Manage Merge Requests
When to use: User wants to list, filter, or review merge requests in a project
Tool sequence:
GITLAB_GET_PROJECT- Get project details and verify access [Prerequisite]GITLAB_GET_PROJECT_MERGE_REQUESTS- List and filter merge requests [Required]GITLAB_GET_REPOSITORY_BRANCHES- Verify source/target branches [Optional]GITLAB_LIST_ALL_PROJECT_MEMBERS- Find reviewers/assignees [Optional]
Key parameters:
id: Project ID or URL-encoded pathstate:"opened","closed","locked","merged", or"all"scope:"created_by_me"(default),"assigned_to_me", or"all"source_branch/target_branch: Filter by branch namesauthor_id/author_username: Filter by MR authorassignee_id: Filter by assignee (useNonefor unassigned,Anyfor assigned)reviewer_id/reviewer_username: Filter by reviewerlabels: Comma-separated label filtersearch: Search in title and descriptionwip:"yes"for draft MRs,"no"for non-draftorder_by:"created_at"(default),"title","merged_at","updated_at"view:"simple"for minimal fieldsiids[]: Filter by specific MR internal IDs
Pitfalls:
- Default
scopeis"created_by_me"which limits results; use"all"for complete listings author_idandauthor_usernameare mutually exclusivereviewer_idandreviewer_usernameare mutually exclusiveapprovedfilter requires themr_approved_filterfeature flag (disabled by default)- Large MR histories can be noisy; use filters and moderate
per_pagevalues
3. Manage Projects and Repositories
When to use: User wants to list projects, create new projects, or manage branches
Tool sequence:
GITLAB_GET_PROJECTS- List all accessible projects with filters [Required]GITLAB_GET_PROJECT- Get detailed info for a specific project [Optional]GITLAB_LIST_USER_PROJECTS- List p
