Skip to content

Resources & Prompts

Beyond tools, GitLab MCP Server exposes resources and prompts — two additional MCP primitives that provide context and reusable templates to AI assistants.

MCP resources provide read-only context data that clients can request at any time without invoking a tool. Resources are useful for providing background information that helps the LLM make better decisions.

The server exposes 46 resources across several categories:

ResourceDescription
gitlab://user/currentCurrent authenticated user profile (username, email, state, admin status)
gitlab://groupsAll GitLab groups accessible to the authenticated user
gitlab://workspace/rootsWorkspace root directories from the MCP client, for project discovery via gitlab_resolve_project_from_remote
gitlab://schema/meta/Catalog of registered meta-tools and their actions
ResourceDescription
gitlab://schema/meta/{tool}/{action}JSON Schema for the params of a specific meta-tool action

Use the meta-schema resources when a client needs the exact parameter shape for a meta-tool action without expanding every schema in tools/list.

  1. Read gitlab://schema/meta/ to get a JSON catalog with uri_template and a sorted list of registered meta-tools and actions.
  2. Replace {tool} and {action} in gitlab://schema/meta/{tool}/{action} to read the JSON Schema for that action’s params object.
  3. Call the meta-tool with the normal { "action": "...", "params": { ... } } envelope.

For example, gitlab://schema/meta/gitlab_merge_request/create returns the parameter schema for the create action of gitlab_merge_request. These schema resources are available regardless of META_PARAM_SCHEMA mode.

ResourceDescription
gitlab://project/{project_id}Project metadata (name, namespace, visibility, default branch)
gitlab://project/{project_id}/membersProject members with access levels (guest, reporter, developer, maintainer, owner)
gitlab://project/{project_id}/labelsProject labels with colors, descriptions, and issue/MR counts
gitlab://project/{project_id}/milestonesProject milestones with state, due dates, and web URLs
gitlab://project/{project_id}/branchesBranches with protection status, merge status, and default flag
gitlab://project/{project_id}/branch/{branch}Single branch by name
gitlab://project/{project_id}/issuesOpen issues with labels, assignees, author, and creation date
gitlab://project/{project_id}/releasesAll releases with tag names, descriptions, and dates
gitlab://project/{project_id}/release/{tag_name}Single release by tag
gitlab://project/{project_id}/tagsRepository tags with messages, commit SHAs, and protection status
gitlab://project/{project_id}/tag/{tag_name}Single tag by name
gitlab://project/{project_id}/commit/{sha}Single commit by SHA (stats, message, author)
gitlab://project/{project_id}/file/{ref}/{+path}File contents at a ref (branch, tag, or SHA)
gitlab://project/{project_id}/wiki/{slug}Wiki page by slug
gitlab://project/{project_id}/label/{label_id}Single project label
gitlab://project/{project_id}/milestone/{milestone_iid}Single project milestone
gitlab://project/{project_id}/board/{board_id}Single issue board
gitlab://project/{project_id}/deployment/{deployment_id}Single deployment
gitlab://project/{project_id}/environment/{environment_id}Single environment
gitlab://project/{project_id}/job/{job_id}Single CI/CD job
gitlab://project/{project_id}/feature_flag/{name}Single feature flag
gitlab://project/{project_id}/deploy_key/{deploy_key_id}Single deploy key
gitlab://project/{project_id}/snippet/{snippet_id}Project-scoped snippet
ResourceDescription
gitlab://project/{project_id}/issue/{issue_iid}Single issue details (title, state, labels, assignees, web URL)
gitlab://project/{project_id}/mr/{merge_request_iid}Single merge request details (title, state, branches, author, merge status)
gitlab://project/{project_id}/mr/{merge_request_iid}/notesNotes on a merge request
gitlab://project/{project_id}/mr/{merge_request_iid}/discussionsDiscussion threads on a merge request
ResourceDescription
gitlab://project/{project_id}/pipelines/latestMost recent pipeline (status, ref, SHA, source, web URL)
gitlab://project/{project_id}/pipeline/{pipeline_id}Specific pipeline details by numeric ID
gitlab://project/{project_id}/pipeline/{pipeline_id}/jobsAll jobs for a pipeline (name, stage, status, duration, failure reason)
ResourceDescription
gitlab://group/{group_id}Group details (name, path, description, visibility)
gitlab://group/{group_id}/membersGroup members with access levels, including inherited members
gitlab://group/{group_id}/projectsProjects within a group (ID, name, namespace, visibility)
gitlab://group/{group_id}/label/{label_id}Single group label
gitlab://group/{group_id}/milestone/{milestone_iid}Single group milestone
ResourceDescription
gitlab://snippet/{snippet_id}Personal (user) snippet

Static best-practice guides for AI assistants — no API calls required.

ResourceDescription
gitlab://guides/git-workflowGit branching strategy, commit hygiene, and merge best practices
gitlab://guides/merge-request-hygieneMR sizing, descriptions, review workflow, and merge strategies
gitlab://guides/conventional-commitsConventional Commits specification with GitLab-specific examples
gitlab://guides/code-reviewStructured code review checklist (quality, security, testing)
gitlab://guides/pipeline-troubleshootingCI/CD debugging guide: common failures, job logs, retry strategies

MCP clients can request resources at any time using the resources/read method:

{
"method": "resources/read",
"params": {
"uri": "gitlab://user/current"
}
}

The server returns the resource content as structured JSON data.

To inspect meta-tool parameters, read the schema index first and then the action schema:

{
"method": "resources/read",
"params": {
"uri": "gitlab://schema/meta/"
}
}
{
"method": "resources/read",
"params": {
"uri": "gitlab://schema/meta/gitlab_merge_request/create"
}
}

MCP prompts are reusable templates that guide AI assistants through common workflows. The server collects relevant data from GitLab and returns structured context that the LLM uses to produce high-quality outputs.

The server provides 38 prompt templates organized into categories:

Merge request analysis, project overview, and personal productivity.

PromptDescription
summarize_mr_changesSummarize changed files and modifications in a merge request
review_mrStructured code review with risk categorization and per-file metrics
suggest_mr_reviewersSuggest reviewers based on changed files and active project members
mr_risk_assessmentAssess MR risk level (LOW/MEDIUM/HIGH/CRITICAL) based on size, files, and sensitive patterns
summarize_pipeline_statusLatest CI/CD pipeline status with failure reasons
summarize_open_mrsAll open MRs with age and merge status, highlighting stale MRs
project_health_checkComprehensive health assessment (pipeline, MRs, branch hygiene)
generate_release_notesRelease notes from commits between two Git refs
compare_branchesCompare two branches showing commit differences and file changes
daily_standupDaily standup summary from GitLab activity (done/planned/blockers)
team_member_workloadWorkload summary for a team member over configurable time period
user_statsUser statistics with contribution events, MR/issue stats, and activity chart

Personal dashboards that aggregate across all accessible projects.

PromptDescription
my_open_mrsAll open MRs where you are author or assignee
my_pending_reviewsAll open MRs assigned to you as reviewer
my_issuesAll issues assigned to you with overdue detection
my_activity_summaryPersonal activity summary across projects for N days

Group-level team management prompts.

PromptDescription
user_activity_reportDetailed activity report for a specific user (for managers)
team_overviewTeam dashboard with open MR counts and workload pie chart
team_mr_dashboardAll MRs for a group with state and target branch filters
reviewer_workloadReview distribution analysis to identify workload imbalances

Project-level analysis and reporting.

PromptDescription
branch_mr_summaryAll MRs targeting a branch with readiness summary
project_activity_reportProject activity report with events, merged MRs, and open issues
mr_review_statusDiscussion health of open MRs (unresolved thread counts)
unassigned_itemsFind open MRs and issues without assignees
stale_items_reportMRs and issues not updated for N days (default: 14)

Velocity and release analytics.

PromptDescription
merge_velocityMR throughput, average time-to-merge, and daily chart
release_readinessRelease branch readiness (open MRs, conflicts, drafts)
release_cadenceRelease frequency analysis with cadence chart
weekly_team_recapComprehensive weekly recap combining MRs, issues, events

Milestone tracking and label analysis.

PromptDescription
milestone_progressMilestone progress with completion percentage and due date risk
label_distributionLabel usage distribution (open/closed issues, open MRs per label)
group_milestone_progressMilestone progress across all projects in a group
project_contributorsRank contributors by commits, additions, and deletions

Project configuration audit prompts.

PromptDescription
audit_project_settingsAudit visibility, merge strategy, CI/CD, push rules, feature toggles
audit_branch_protectionAudit protected branches, access levels, code owner approvals
audit_project_accessAudit user access, blocked accounts, elevated privileges
audit_project_workflowAudit labels, milestones, issue/MR templates
audit_project_fullComprehensive audit combining all categories with a scorecard

Prompts are requested via the prompts/get MCP method:

{
"method": "prompts/get",
"params": {
"name": "review_mr",
"arguments": {
"project_id": "my-group/my-project",
"merge_request_iid": "42"
}
}
}

The server returns a structured prompt with context-aware content that the LLM uses to guide its workflow.

VariableDefaultDescription
CAPABILITY_SURFACEfullfull registers resources and prompts across tool surfaces; minimal keeps only workspace roots