Skip to main content
Glama
agenthouse-org

dealdesk-mcp

dealdesk.replace_quote_items

Replace draft quote lineItems, options, and groups in one write so you can update the full persisted structure; accepted or declined quotes are refused.

Instructions

Replace draft quote lineItems, options, and groups in one write (classic authoring). Draft-only; refused for accepted/declined quotes. Send the full arrays you want persisted.

Input Schema

NameRequiredDescriptionDefault
groupsNo
optionsNo
quoteIdYes
lineItemsNo
projectIdNoDealDesk project id. Omit when the OAuth token or API key authorizes exactly one project. Required when Connect authorized several projects.
priceConfirmationsNoOptional CPQ on-request sales confirmations when editing a CPQ draft

Output Schema

NameRequiredDescriptionDefault
quoteYesQuote status, totals, and optional analytics/shares. Extra fields live on this object, not beside it.
idempotentReplayNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv0.1.1
    • changedInput schema / properties / projectId / description
      Previous value: -"DealDesk project id (must match API key / OAuth project)"New value: +"DealDesk project id. Omit when the OAuth token or API key authorizes exactly one project. Required when Connect authorized several projects."
    • changedInput schema / required
      Previous value: -[
      -  "projectId",
      -  "quoteId"
      -]New value: +[
      +  "quoteId"
      +]
    • changedOutput schema / additionalProperties
      Previous value: -falseNew value: +true
    • changedOutput schema / properties / quote / description
      Previous value: -"Quote summary shown in the quote-totals widget"New value: +"Quote status, totals, and optional analytics/shares. Extra fields live on this object, not beside it."
  2. First observedv0.1.0

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does meaningful work: it discloses that this is a destructive full-array replacement (existing lineItems/options/groups are overwritten), that it is draft-only, and that the server refuses accepted/declined quotes. It omits auth/permission requirements and any atomicity or partial-failure behavior, keeping it short of a 5.

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 tight sentences with the core action front-loaded, then the gating constraint, then the payload rule. Every clause carries information and there is no filler.

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?

An output schema exists, so return values need no explanation. For a six-parameter mutation with no annotations, the description covers the essential behavior (replacement, draft-only, full arrays) but leaves the sibling relationship and CPQ priceConfirmations context unaddressed.

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 coverage is only 33%. The description names three of the six parameters (lineItems, options, groups) and reinforces that full arrays must be sent, which adds replacement semantics. But it says nothing about quoteId, projectId, or priceConfirmations, and gives no shape guidance for the array items, so it only partially compensates for the coverage gap.

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?

The description states a specific verb (Replace) and resource (draft quote lineItems, options, and groups), and the 'Send the full arrays you want persisted' phrasing signals full-replacement semantics that distinguish it from patch_quote. It does not explicitly name the sibling it supersedes, so an agent must infer the boundary with patch_quote/update_quote_from_configuration.

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?

It gives a clear negative condition — 'Draft-only; refused for accepted/declined quotes' — so the agent knows when the call will fail. However, it never names an alternative tool for accepted/declined quotes or explains when to prefer this over patch_quote, leaving the routing decision partly to inference.

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

Deploy Server

Other Tools