Skip to main content
Glama

list_commits

Retrieve and filter GitLab repository commit history by date, author, branch, or file path to track code changes and review project activity.

Instructions

List repository commits with filtering options

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
project_idNoProject ID or complete URL-encoded path to project
ref_nameNoThe name of a repository branch, tag or revision range, or if not given the default branch
sinceNoOnly commits after or on this date are returned in ISO 8601 format YYYY-MM-DDTHH:MM:SSZ
untilNoOnly commits before or on this date are returned in ISO 8601 format YYYY-MM-DDTHH:MM:SSZ
pathNoThe file path
authorNoSearch commits by commit author
allNoRetrieve every commit from the repository
with_statsNoStats about each commit are added to the response
first_parentNoFollow only the first parent commit upon seeing a merge commit
orderNoList commits in order
trailersNoParse and include Git trailers for every commit
pageNoPage number for pagination (default: 1)
per_pageNoNumber of items per page (max: 100, default: 20)
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool lists commits but doesn't mention that it's a read-only operation, whether it requires authentication, how pagination works (implied by 'page' and 'per_page' parameters but not explained), or what the output format looks like. This leaves significant gaps for an AI agent to understand the tool's behavior.

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, efficient sentence that front-loads the core purpose ('List repository commits') and adds a brief qualifier ('with filtering options'). There is no wasted language, making it highly concise and well-structured for quick understanding.

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

Completeness2/5

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

Given the tool's complexity (13 parameters, no annotations, no output schema), the description is insufficient. It doesn't explain the return values, pagination behavior, authentication requirements, or how filtering interacts with parameters like 'ref_name' and 'all'. For a list tool with many options, more context is needed to guide effective use.

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?

The input schema has 100% description coverage, so the schema already documents all 13 parameters thoroughly. The description adds no additional meaning beyond mentioning 'filtering options,' which is redundant with the schema. According to the rules, with high schema coverage, the baseline is 3 even without param info in the description.

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 clearly states the verb ('List') and resource ('repository commits'), making the purpose immediately understandable. However, it doesn't specifically differentiate this tool from other commit-related tools like 'get_commit' or 'get_commit_diff' among the siblings, which would require a 5.

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 mentions 'filtering options' but provides no explicit guidance on when to use this tool versus alternatives like 'get_commit' (for single commits) or 'list_events' (for broader activity). There's no mention of prerequisites, such as needing a valid project ID, or context for choosing among filtering parameters.

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

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/zereight/gitlab-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server