Skip to main content
Glama
ttpears

GitLab MCP Server

by ttpears

User Events

list_user_events
Read-onlyIdempotent

List a user's public GitLab activity feed by username or numeric ID to track teammate work. Filter results by date, action type, or resource type.

Instructions

List a specific user's public GitLab activity feed by username or numeric ID. Use for tracking what a teammate has been working on.

Input Schema

NameRequiredDescriptionDefault
pageNoPage number (1-based)
sortNoSort order (default desc — newest first)desc
userYesUsername (e.g. "alice") or numeric user ID
afterNoOnly events after this date (YYYY-MM-DD)
actionNoFilter by action type
beforeNoOnly events before this date (YYYY-MM-DD)
per_pageNoResults per page
target_typeNoFilter by target resource type
userCredentialsNoYour GitLab credentials (optional — falls back to the configured env token if not provided)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv4.0.0
    • removedInput schema / additionalProperties
      Removed value: -false
    • addedInput schema / properties / page / maximum
      Added value: +9007199254740991
    • changedInput schema / properties / userCredentials / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "accessToken": {
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "gitlabUrl": {
      -        "format": "uri",
      -        "type": "string"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "accessToken": {
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "gitlabUrl": {
      +        "format": "uri",
      +        "type": "string"
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  2. Addedv1.15.0

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint and non-destructive, so safety is covered. The description adds one genuinely useful behavioral detail — only *public* activity is returned — but says nothing about pagination or result volume beyond what the schema shows.

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

Conciseness4/5

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

Two tight sentences, front-loaded with the scope and then the purpose. No filler, though the second sentence adds little beyond what the first already implies.

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

Completeness4/5

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

For a read-only list tool with a fully described schema and clear annotations, the main missing piece is mention of the filtering capabilities (date range, action, target type) and pagination, which an agent would only learn from the schema.

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%, so all nine parameters including enums for action, target_type and sort are already documented. The description only echoes the `user` format (username or numeric ID), adding no new parameter meaning.

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?

States a specific verb and resource (list a user's activity feed) plus the identifier forms accepted. The phrase "a specific user's" implicitly separates it from list_my_events and list_project_events, but no sibling is named explicitly.

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

Usage Guidelines3/5

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

"Use for tracking what a teammate has been working on" gives one positive usage context, but there is no guidance on when to prefer list_my_events or list_project_events, or any prerequisite/exclusion.

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