get_merge_request
Retrieve details of a GitLab merge request using project ID and either merge request internal ID or source branch name.
Instructions
Get details of a merge request. Either merge_request_iid or source_branch must be provided.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | Project ID or path | |
| merge_request_iid | No | Merge request internal ID | |
| source_branch | No | Source branch name (alternative to merge_request_iid) |
Implementation Reference
- src/handlers/merge-requests.ts:112-133 (handler)The main handler function that executes the get_merge_request tool logic: resolves MR IID if needed, fetches MR details from GitLab API, and returns JSON.async getMergeRequest(args: GetMergeRequestParams) { const mergeRequestIid = await this.resolveMergeRequestIid( args.project_id, args.merge_request_iid, args.source_branch ); const data = await this.client.get( `/projects/${encodeURIComponent( args.project_id )}/merge_requests/${mergeRequestIid}` ); return { content: [ { type: "text", text: JSON.stringify(data, null, 2), }, ], }; }
- src/tools/merge-requests.ts:63-84 (registration)MCP Tool registration defining the name, description, and input schema for get_merge_request.{ name: 'get_merge_request', description: 'Get details of a merge request. Either merge_request_iid or source_branch must be provided.', inputSchema: { type: 'object', properties: { project_id: { type: 'string', description: 'Project ID or path', }, merge_request_iid: { type: 'number', description: 'Merge request internal ID', }, source_branch: { type: 'string', description: 'Source branch name (alternative to merge_request_iid)', }, }, required: ['project_id'], }, },
- src/types.ts:254-258 (schema)TypeScript interface defining the input parameters for the get_merge_request handler.export interface GetMergeRequestParams { project_id: string; merge_request_iid?: number; source_branch?: string; }