Skip to main content
Glama
ffpy

GitLab MCP Code Review

by ffpy

get_project_merge_requests

Retrieve merge requests for a GitLab project to review changes, analyze diffs, and manage code review workflows. Filter by state and limit results.

Instructions

Get all merge requests for a project.

Args:
    project_id: The GitLab project ID or URL-encoded path
    state: Filter merge requests by state (all, opened, closed, merged, or locked)
    limit: Maximum number of merge requests to return
Returns:
    List of merge request objects

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
project_idYes
stateNoall
limitNo

Implementation Reference

  • The handler function decorated with @mcp.tool(), which registers and implements the get_project_merge_requests tool. It retrieves a list of merge requests from a GitLab project specified by project_id, filtered by state (default 'all') and limited by the limit parameter (default 20), using the GitLab API via python-gitlab library.
    @mcp.tool()
    def get_project_merge_requests(ctx: Context, project_id: str, state: str = "all", limit: int = 20) -> List[Dict[str, Any]]:
        """
        Get all merge requests for a project.
        
        Args:
            project_id: The GitLab project ID or URL-encoded path
            state: Filter merge requests by state (all, opened, closed, merged, or locked)
            limit: Maximum number of merge requests to return
        Returns:
            List of merge request objects
        """
        gl = ctx.request_context.lifespan_context
        project = gl.projects.get(project_id)
        
        mrs = project.mergerequests.list(state=state, per_page=limit)
        
        return [mr.asdict() for mr in mrs]

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ffpy/gitlab-mcp-code-review'

If you have feedback or need assistance with the MCP directory API, please join our Discord server