gitlab_summarize_pipeline
Summarize GitLab CI/CD pipeline results by analyzing failed jobs, error messages, and performance metrics. Use this tool to debug pipeline failures and optimize workflow efficiency.
Instructions
Summarize CI/CD pipeline for AI Returns: Pipeline status and key findings Use when: Debugging CI failures with AI Focus: Failed jobs, error messages, duration
Highlights:
Failed job names and stages
Error excerpts
Performance issues
Related tools:
gitlab_list_pipelines: Find pipelines
gitlab_get_pipeline_job_log: Full logs
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| max_length | No | Maximum summary length Type: integer Range: 100-5000 Default: 500 Examples: - 300: Very concise summary - 500: Standard summary - 1000: Detailed summary Use case: Control output size for LLM context | |
| pipeline_id | Yes | Pipeline ID Type: integer Format: Numeric pipeline identifier Example: 12345 How to find: From pipeline URLs or gitlab_list_pipelines response | |
| project_id | No | Project identifier (auto-detected if not provided) Type: integer OR string Format: numeric ID or 'namespace/project' Optional: Yes - auto-detects from current git repository Examples: - 12345 (numeric ID) - 'gitlab-org/gitlab' (namespace/project path) - 'my-group/my-subgroup/my-project' (nested groups) Note: If in a git repo with GitLab remote, this can be omitted |
Implementation Reference
- src/mcp_gitlab/tool_handlers.py:491-497 (handler)The core handler function that implements the tool logic. Extracts required parameters (project_id, pipeline_id, max_length) and delegates to GitLabClient.summarize_pipeline method.def handle_summarize_pipeline(client: GitLabClient, arguments: Optional[Dict[str, Any]]) -> Dict[str, Any]: """Handle summarizing a pipeline""" project_id = require_project_id(client, arguments) pipeline_id = require_argument(arguments, "pipeline_id") max_length = get_argument(arguments, "max_length", 500) return client.summarize_pipeline(project_id, pipeline_id, max_length)
- Defines the input schema for validation (project_id, required pipeline_id, optional max_length) and registers the tool in the MCP server's TOOLS list.types.Tool( name=TOOL_SUMMARIZE_PIPELINE, description=desc.DESC_SUMMARIZE_PIPELINE, inputSchema={ "type": "object", "properties": { "project_id": {"type": "string", "description": desc.DESC_PROJECT_ID}, "pipeline_id": {"type": "integer", "description": desc.DESC_PIPELINE_ID}, "max_length": {"type": "integer", "description": desc.DESC_MAX_LENGTH, "default": 500} }, "required": ["pipeline_id"] } ),
- src/mcp_gitlab/tool_handlers.py:1062-1062 (registration)Maps the tool name to its handler function in the TOOL_HANDLERS dictionary, which is used by the MCP server to dispatch calls.TOOL_SUMMARIZE_PIPELINE: handle_summarize_pipeline,
- src/mcp_gitlab/constants.py:245-245 (helper)Defines the canonical tool name constant used in registrations, schemas, and tests.TOOL_SUMMARIZE_PIPELINE = "gitlab_summarize_pipeline"