Skip to main content
Glama

list_proposals

Read-only

Lists the proposals of this project, from the most recent to the oldest, with their EFFECTIVE status (pending / applied / partially_applied / rejected / expired) and the count of accepted, rejected and pending operations. Lets you check, before proposing, what is already pending: a pending proposal on the same subject makes a new proposal useless, and the quota of pending proposals is capped — beyond it, propose_changes refuses. READ-ONLY, nothing is modified.

Input Schema

NameRequiredDescriptionDefault
limitNoMaximum number of proposals returned (default 20, maximum 100), from the most recent to the oldest.
statusNoFilters on this STORED status. Omitted, returns all statuses. Note: a pending proposal whose date has passed stays stored as 'pending' — its effective status 'expired' is returned in the response, it cannot be filtered here.
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. Changed3 schema fields changed
    • 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 maximum de propositions rendues (défaut 20, plafond 100), des plus récentes aux plus anciennes."New value: +"Maximum number of proposals returned (default 20, maximum 100), from the most recent to the oldest."
    • changedInput schema / properties / status / description
      Previous value: -"Ne garder que ce statut STOCKÉ. Omis, rend tous les statuts. Note : une proposition en attente dont la date est passée reste stockée « pending » — son statut effectif « expired » est rendu dans la réponse, il ne se filtre pas ici."New value: +"Filters on this STORED status. Omitted, returns all statuses. Note: a pending proposal whose date has passed stays stored as 'pending' — its effective status 'expired' is returned in the response, it cannot be filtered here."
  2. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, and the description reinforces this with "READ-ONLY, nothing is modified." More valuably, it discloses non-obvious behavior: the stored-vs-effective status distinction (expired cannot be filtered) and the capped pending-proposal quota that blocks propose_changes.

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 the returned fields, then the usage rationale. Slightly dense and the quota rule is folded into the same paragraph, but every clause carries information an agent needs.

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?

With no output schema, the description usefully enumerates what comes back (effective status values, accepted/rejected/pending operation counts) and the default ordering. It could say more about overall response shape, but it is sufficient to call the tool correctly.

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 limit, status and expectedProjectId are already fully documented, including the stored-vs-effective status caveat. The description adds no syntax or default detail beyond the schema, so the baseline 3 is appropriate.

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 (Lists) and resource (proposals of this project), plus ordering (most recent to oldest) and the returned fields (EFFECTIVE status, operation counts). It is clearly distinguishable from get_proposal (single) and propose_changes (write).

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?

Explicitly says when to use it ("check, before proposing, what is already pending") and why, naming propose_changes as the alternative that will refuse past the pending quota. The condition that makes a new proposal useless is spelled out rather than inferred.

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.