Skip to main content
Glama
ttpears

GitLab MCP Server

by ttpears

Group Activity Summary

analytics_group_summary
Read-onlyIdempotent

Aggregate activity across a GitLab group and its subgroups over a date range, with totals by action type and breakdowns by project, contributor, and day.

Instructions

Aggregated activity summary for an entire group (optionally including subgroups) over a time window — totals by action type (pushes, MRs opened/merged, comments, approvals), with breakdowns by project, by contributor, and by day. Use this to answer "what did this team do" without fanning out across list_project_events yourself.

Input Schema

NameRequiredDescriptionDefault
groupYesGroup full path (e.g. "my-group" or "my-group/sub-group")
sinceYesISO date/datetime, inclusive lower bound (e.g. "2026-04-01" or "2026-04-01T00:00:00Z")
untilNoISO date/datetime, inclusive upper bound. Defaults to now.
maxEventsNoGlobal cap on events fetched across all projects. Defaults to 2000; envelope flags truncated:true if reached.
maxProjectsNoCap on projects scanned. Defaults to 500.
topContributorsNoCap on the byUser[] list (sorted by event count desc). Default 10.
userCredentialsNoYour GitLab credentials (optional — falls back to the configured env token if not provided)
includeSubgroupsNoRecurse into subgroup projects. Defaults to true.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv4.0.0
    • removedInput schema / additionalProperties
      Removed value: -false
    • 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

A4.3/5.0
Behavior4/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 the substantive behavioral context that this is a pre-aggregated, fan-out-replacing call rather than a raw listing. It does not discuss cost/latency or permission scope for the group, and truncation behavior is left entirely to the schema.

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?

Two sentences, front-loaded with the scope and output shape, and the closing sentence converts that into a usage decision. No filler or repetition of the title.

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

Completeness5/5

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

With eight parameters but full schema documentation and no output schema, the main risk is an unknown return shape, and the description fully enumerates it (totals by action type, breakdowns by project, contributor, day). An agent has enough to call this correctly without further reading.

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 every parameter including maxEvents truncation semantics, maxProjects, topContributors, and includeSubgroups is already documented. The description only loosely echoes two of them ("optionally including subgroups", "by contributor"), adding no format or default detail beyond the schema, so the baseline 3 applies.

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

Purpose5/5

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

States a specific verb and resource (aggregated activity summary for a group), its scope (whole group, optionally subgroups, over a time window), and exactly what is produced (totals by action type plus breakdowns by project, contributor, and day). This clearly separates it from analytics_user_summary and from the raw event listings.

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

Usage Guidelines4/5

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

Explicitly frames the use case ("answer 'what did this team do'") and names the alternative it replaces (fanning out across list_project_events). It does not mention when to prefer analytics_user_summary for a single person or when to drop to list_project_events for raw detail, so sibling routing is only partially covered.

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