Skip to main content
Glama

List Project Commits Tool

list_project_commits_tool
Read-only

List commits for a GitLab project, with optional filters for branch or tag, file path, date range, and pagination to review repository history.

Instructions

List repository commits for a GitLab project.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "project_id": "<project_id>"
    },
    "name": "list_project_commits_tool"
  }
}

Input Schema

NameRequiredDescriptionDefault
pageNoPage number (default: 1)
pathNoOnly commits touching this file path
sinceNoOnly commits after this date (ISO 8601)
untilNoOnly commits before this date (ISO 8601)
per_pageNoResults per page, max 100 (default: 20)
ref_nameNoBranch or tag name (default: default branch)
project_idYesProject ID or path

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.1

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The readOnlyHint annotation already communicates that this is a non-mutating operation, and the description does not contradict it. However, the description adds no behavioral context such as pagination behavior, default branch behavior, ordering, or result limits beyond what the schema and annotations already provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no filler or repetition. It is as concise as possible while still naming the operation and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The rich input schema, output schema, and readOnlyHint annotation carry most of the necessary invocation details. Still, for a tool with seven parameters and many repository-related siblings, the description is minimal and leaves selection guidance and behavioral expectations largely implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and every parameter is documented directly in the input schema with defaults and constraints. The description does not add parameter meaning beyond the schema, so the baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a clear verb ('List') and resource ('repository commits') scoped to a GitLab project. It distinguishes itself implicitly from unrelated siblings such as branches, merge requests, or pipelines, but does not explicitly differentiate from any close alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states what the tool does but provides no guidance on when to use it, when not to use it, or which sibling tools to prefer for related repository-history tasks. Usage is only inferable from the tool name and one-sentence purpose.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.