Skip to main content
Glama

list_activity

Read-only

Reads the project's ACTIVITY LOG — who created/updated/deleted what, and when, as a pre-rendered sentence (the summary field, currently written in French). This is the ONLY way to know what changed since a given moment: get_schema_overview shows the CURRENT state, not the history. Filter by cellId (that subject and its children — tasks, content blocks, assignments that reference it) and/or since (ISO 8601 lower bound). Pagination goes through nextCursor and is never based on a date: two events of the same burst share the same second. actorKind says WHO acted: user (a manual action by an account in the interface), agent (the OrgGen chat agent, on behalf of the account named in actorLabel), mcp (a remote MCP client; actorLabel = the name of its API key), system (the product itself; it is never guessed) and guest (a guest). Agent actions from chat turns logged before this distinction stay user: the source was not kept. For an MCP client, actorApiKeyId gives the ID of its key (the key's name can change or repeat: two agents can share it) — it is ABSENT from an event that does not come from an API key, and from events written before the log kept it. ⚠️ Another account's private document never appears in the timeline, silently — same rule as everywhere else in the product. Modifies nothing.

Input Schema

NameRequiredDescriptionDefault
limitNoNumber of results (default: 30, max: 100)
sinceNoISO 8601 (e.g. "2026-08-20T00:00:00Z") — returns only the events that occurred from this date/time on. Omitted: no lower bound.
cellIdNoLimits the timeline to THIS subject AND its children (tasks, content blocks, assignments that reference it) — this subject is never returned ALONE. Omitted: the timeline of the WHOLE project.
cursorNoPagination cursor — the `nextCursor` field of the previous page. It is never a date: two events of the same burst share the same second.
expectedProjectIdNoUUID of the project targeted by THIS call. ACTUALLY targets this project instead of the session project. Refused without changing anything if access is not granted.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • changedInput schema / properties / cellId / description
      Previous value: -"Borne la frise à CE sujet ET à ses enfants (tâches, blocs de contenu, affectations qui le référencent) — jamais ce sujet SEUL. Omis : la frise du PROJET entier."New value: +"Limits the timeline to THIS subject AND its children (tasks, content blocks, assignments that reference it) — this subject is never returned ALONE. Omitted: the timeline of the WHOLE project."
    • changedInput schema / properties / cursor / description
      Previous value: -"Curseur de pagination — le champ `nextCursor` de la page précédente. Jamais une date : deux événements d’une même salve partagent la seconde."New value: +"Pagination cursor — the `nextCursor` field of the previous page. It is never a date: two events of the same burst share the same second."
    • changedInput schema / properties / expectedProjectId / description
      Previous value: -"UUID du projet visé par CET appel. Cible RÉELLEMENT ce projet au lieu du projet de session. Refusé sans rien modifier si l'accès n'est pas accordé."New value: +"UUID of the project targeted by THIS call. ACTUALLY targets this project instead of the session project. Refused without changing anything if access is not granted."
    • changedInput schema / properties / limit / description
      Previous value: -"Nombre de résultats (défaut : 30, max : 100)"New value: +"Number of results (default: 30, max: 100)"
    • changedInput schema / properties / since / description
      Previous value: -"ISO 8601 (ex. \"2026-08-20T00:00:00Z\") — ne renvoie que les événements survenus à partir de cette date/heure. Omis : aucune borne basse."New value: +"ISO 8601 (e.g. \"2026-08-20T00:00:00Z\") — returns only the events that occurred from this date/time on. Omitted: no lower bound."
  2. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only cover the safety profile (readOnlyHint=true, openWorldHint=false); the description adds substantial behavioral context beyond them: the summary is a pre-rendered French sentence, pagination is never date-based because burst events share a second, actorKind's five values are fully explained, actorApiKeyId is conditionally absent, and the private-document exclusion rule is disclosed. The closing 'Modifies nothing' reinforces the read-only annotation rather than contradicting it.

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?

Front-loaded with the core purpose, then filters, then pagination, then actor semantics — a sensible order. It is long and occasionally repeats the schema (the cursor-is-not-a-date point appears twice), but nearly every sentence carries information an agent would otherwise have to guess.

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?

There is no output schema, so the description must describe what comes back, and it does: the summary sentence, actorKind/actorLabel/actorApiKeyId semantics, and nextCursor for pagination. Combined with the privacy exclusion caveat, an agent has everything needed to call and interpret this tool.

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 the schema already documents limit, since, cellId, cursor and expectedProjectId in comparable detail; the description's cellId and cursor explanations largely restate them. The actorKind/actorApiKeyId material adds real meaning but describes response fields, not parameters. Baseline 3 is appropriate when the schema does the heavy lifting.

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 ('Reads the project's ACTIVITY LOG — who created/updated/deleted what, and when') and immediately distinguishes itself from the sibling it could be confused with, get_schema_overview. An agent can tell what this returns and how it differs from a state-reading tool without opening the schema.

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

Usage Guidelines5/5

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

Explicit routing rule: 'This is the ONLY way to know what changed since a given moment: get_schema_overview shows the CURRENT state, not the history.' It also names the filtering conditions (cellId and/or since) and the pagination path (nextCursor), leaving nothing to inference.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.