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"""
Install Server

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