Analyze
gitlab_analyzeAnalyze GitLab artifacts (MRs, issues, pipelines, CI configs, milestones, deployments) using LLM. Generate Markdown summaries, code reviews, failure root cause analysis, release notes, and technical debt reports for AI-driven insights.
Instructions
Example: {"action":"ci_config","params":{...}} For the params schema of any action, read the MCP resource gitlab://schema/meta/gitlab_analyze/.
LLM-assisted analysis of GitLab data via MCP sampling. Each action fetches data through GitLab APIs, then asks the connected LLM (the host's sampling capability) to summarize / analyze / classify it. Requires the client to advertise sampling capability — actions return SamplingUnsupportedResult otherwise (human-in-the-loop on the client side).
When to use: ask an LLM to interpret GitLab artifacts — MR diffs, issue threads, pipeline failures, CI configs, milestone progress, deployment history, technical-debt markers — and produce Markdown narratives, scopes, or release notes.
NOT for: raw data retrieval without LLM analysis (use gitlab_merge_request / gitlab_issue / gitlab_pipeline / gitlab_release / gitlab_repository); long-form report generation outside the chat session; clients without sampling support (the action returns a SamplingUnsupportedResult).
Returns: each action returns action-specific JSON (typically identifiers + a text field plus model and truncated flags) and a Markdown summary suitable for direct display. Per-action text key:
summary: issue_summary, mr_review
analysis: mr_changes, pipeline_failure, ci_config, issue_scope, technical_debt, deployment_history
review: mr_security
report: milestone_report
release_notes: release_notes Alongside the resource identifiers (merge_request_iid, issue_iid, pipeline_id, milestone_iid, project_id) supplied as input. Errors: 404 (hint: project_id, merge_request_iid, issue_iid, pipeline_id, milestone_iid must exist), 403 (hint: caller must have access to the underlying resource),
SamplingUnsupportedResultwhen the client did not advertise sampling capability.
All actions need project_id*. Additional params per action:
mr_changes: merge_request_iid*. Analyze MR code changes for quality, bugs, improvements.
issue_summary: issue_iid*. Summarize discussion with key decisions and action items.
release_notes: from_ref*, to_ref*. Generate categorized release notes between refs.
pipeline_failure: pipeline_id*. Root cause analysis with fix suggestions.
mr_review: merge_request_iid*. Summarize review feedback and unresolved threads.
milestone_report: milestone_iid*. Progress report with metrics.
ci_config: content_ref. Analyze CI/CD config for best practices and security.
issue_scope: issue_iid*. Scope, complexity, and breakdown recommendations.
mr_security: merge_request_iid*. OWASP Top 10, secrets, auth review.
technical_debt: ref. Find TODO/FIXME/HACK markers.
deployment_history: environment. Frequency, success rate, patterns.
See also: gitlab_merge_request (MR lifecycle), gitlab_issue (issue CRUD), gitlab_pipeline (raw pipelines and test reports), gitlab_release (release CRUD).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform. Pick exactly one of the values in `enum`. Each action expects its own `params` object — see the tool description for the per-action parameter list. | |
| params | No | Action-specific parameters as a JSON object. Required and optional fields differ per action; consult this tool's description for the chosen action. Send only the fields documented for that action — unknown keys are rejected with a validation error (only reserved meta keys like `confirm` are stripped before validation). For the JSON Schema of a specific action's `params`, read the MCP resource `gitlab://schema/meta/{tool}/{action}` (replace placeholders with the tool name and the chosen action). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| next_steps | No | Optional. Suggested follow-up actions or tool calls for the LLM, contextual to the result. | |
| pagination | No | Present on list actions. Use `has_more` and `next_page` to paginate through results. |