Skip to main content
Glama

gitlab_get_commit

Retrieve detailed information about a specific GitLab commit including author, message, and change statistics using the commit SHA identifier.

Instructions

Get single commit details Returns: Complete commit information with stats Use when: Examining specific commit Required: Commit SHA (short or full)

Example response: { "id": "e83c5163316f89bfbde7d9ab23ca2e25604af290", "title": "Fix critical bug", "message": "Fix critical bug\n\nDetailed explanation...", "author": {"name": "John Doe", "email": "john@example.com"}, "parent_ids": ["ae1d9fb46aa2b07ee9836d49862ec4e2c46fbbba"], "stats": { "additions": 15, "deletions": 3, "total": 18 } }

Related tools:

  • gitlab_get_commit_diff: View changes

  • gitlab_cherry_pick_commit: Apply to another branch

  • gitlab_list_commits: Browse history

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
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
commit_shaYesGit commit SHA Type: string Format: Abbreviated (min 7 chars) or full 40-character SHA Required: Yes Examples: - 'a1b2c3d' (short form - minimum 7 characters) - 'a1b2c3d4e5f6' (medium form) - 'e83c5163316f89bfbde7d9ab23ca2e25604af290' (full SHA) How to find: git log, GitLab UI, or MR/commit pages
include_statsNoInclude statistics Type: boolean Default: false Options: - true: Include additions, deletions, total changes - false: Basic information only Use case: true for code review, false for quick browsing

Implementation Reference

  • The primary handler function that implements the core logic for the gitlab_get_commit tool. Extracts project_id (auto-detects from git if possible), commit_sha, and optional stats flag, then calls the GitLabClient.get_commit method.
    def handle_get_commit(client: GitLabClient, arguments: Optional[Dict[str, Any]]) -> Dict[str, Any]: """Handle getting single commit""" project_id = require_project_id(client, arguments) commit_sha = require_argument(arguments, "commit_sha") include_stats = get_argument(arguments, "include_stats", False) return client.get_commit(project_id, commit_sha, include_stats)
  • Pydantic/JSON schema definition for the gitlab_get_commit tool input parameters, including descriptions from tool_descriptions.py.
    name=TOOL_GET_COMMIT, description=desc.DESC_GET_COMMIT, inputSchema={ "type": "object", "properties": { "project_id": {"type": "string", "description": desc.DESC_PROJECT_ID}, "commit_sha": {"type": "string", "description": desc.DESC_COMMIT_SHA}, "include_stats": {"type": "boolean", "description": desc.DESC_INCLUDE_STATS, "default": False} }, "required": ["commit_sha"] } ),
  • Registration of the handle_get_commit function in the central TOOL_HANDLERS dictionary used by the MCP server to route tool calls.
    TOOL_GET_COMMIT: handle_get_commit,
  • Constant definition of the tool name 'gitlab_get_commit' used consistently across the codebase for registration and references.
    TOOL_GET_COMMIT = "gitlab_get_commit"
  • Detailed description text for the gitlab_get_commit tool, used in schema definitions and documentation.
    DESC_GET_COMMIT = """Get single commit details Returns: Complete commit information with stats Use when: Examining specific commit Required: Commit SHA (short or full) Example response: { "id": "e83c5163316f89bfbde7d9ab23ca2e25604af290", "title": "Fix critical bug", "message": "Fix critical bug\\n\\nDetailed explanation...", "author": {"name": "John Doe", "email": "john@example.com"}, "parent_ids": ["ae1d9fb46aa2b07ee9836d49862ec4e2c46fbbba"], "stats": { "additions": 15, "deletions": 3, "total": 18 } } Related tools: - gitlab_get_commit_diff: View changes - gitlab_cherry_pick_commit: Apply to another branch - gitlab_list_commits: Browse history"""

Other 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