Skip to main content
Glama

List Proposals

list_proposals
Read-onlyIdempotent

Lists company proposals (priced offers sent or being written for a client) with client, value in currency units, status and creation date, most recent first, or reads one proposal's full content by its id. Filters by status (accepted proposals are the ones that can become invoices) or by client. Workshop proposals are listed with their stage; older quotes made before the workshop are marked legacy: true and are read-only. Covers priced offers only: not unpriced sales opportunities and not expected cash. Answers questions like "what proposals are out?", "what has been accepted?" or "what did we quote this client?".

Input Schema

NameRequiredDescriptionDefault
idNoReturn this one proposal in full under `proposal`, by the id an earlier list result gave. The other arguments are then ignored.
limitNoMax results (1-50, default 20)
statusNoFilter by status, as each row reports it.
clientIdNoOnly proposals for this client, by clientId. Older quotes carry no client id, so they are left out.

Output Schema

NameRequiredDescriptionDefault
proposalNoSet when id is given
proposalsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the safety bar is low. The description adds real behavioral context beyond that: results are 'most recent first', legacy quotes are read-only, and the id mode returns one proposal in full while ignoring other arguments. It stops short of mentioning pagination beyond the schema's limit.

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-loads the core purpose and returned fields, then layers filters, edge cases, and scope exclusions. Every sentence carries information, but the parenthetical asides make it denser and longer than strictly necessary for a list tool.

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?

An output schema exists so return values needn't be explained; the description nonetheless covers ordering, the workshop/legacy distinction, filter semantics, and scope boundaries. For a read-only listing tool this is fully sufficient to call correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description still adds meaning beyond the schema: it clarifies that 'accepted' proposals are the ones that become invoices, that older quotes lack a clientId and are excluded from client filtering, and that id-mode takes precedence over other args.

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 ('Lists company proposals') and enumerates the returned fields, plus a distinct lookup mode by id. It actively distinguishes itself from siblings by scoping to 'priced offers only: not unpriced sales opportunities and not expected cash', which separates it from list_deals and forecast_cash_flow.

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?

Gives clear usage context via example questions ('what proposals are out?', 'what has been accepted?') and states filter conditions. It implies when to use the id-mode versus list mode. However, it never names the alternative sibling tools to route to for the excluded categories, so routing is left partly 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.

Resources