Skip to main content
Glama

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
NameRequiredDescriptionDefault
max_lengthNoMaximum 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_idYesPipeline ID Type: integer Format: Numeric pipeline identifier Example: 12345 How to find: From pipeline URLs or gitlab_list_pipelines response
project_idNoProject 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

  • 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"] } ),
  • 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,
  • Defines the canonical tool name constant used in registrations, schemas, and tests.
    TOOL_SUMMARIZE_PIPELINE = "gitlab_summarize_pipeline"

Other Tools

Related Tools

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/Vijay-Duke/mcp-gitlab'

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