Skip to main content
Glama
agenthouse-org

dealdesk-mcp

dealdesk.apply_quote_preset

Preview or apply a quote preset onto a draft quote. confirm=false writes nothing and returns empty, missing, and stale lines.

Instructions

Preview or apply a quote preset onto a draft quote. confirm=false writes nothing and returns empty, missing, and stale lines. confirm=true writes only after mode replace|append|merge (unless the quote has no positions), a freeText|omit choice for every missing product, and priceChoice keep|refresh when prices differ. Refused for accepted, declined, or shared quotes and for a currency mismatch.

Input Schema

NameRequiredDescriptionDefault
modeNo
confirmNofalse previews. true writes after the user has chosen.
quoteIdYes
presetIdYes
projectIdNoDealDesk project id. Omit when the OAuth token or API key authorizes exactly one project. Required when Connect authorized several projects.
priceChoiceNo
missingLinesNoChoices for products no longer in the portfolio: { lineId, action: freeText|omit }

Output Schema

NameRequiredDescriptionDefault
emptyNo
quoteNo
staleNo
confirmNo
missingNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.1.2

TDQS

A4.1/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 well: it discloses that preview is non-mutating and returns empty/missing/stale line categories, that writes are gated on user choices, and the exact refusal conditions. It does not cover authorization/project scoping behavior or what happens to untouched positions under each mode.

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?

Two sentences, front-loaded with the preview/apply distinction and then the preconditions. Dense but every clause adds a rule the caller must satisfy; a small amount of nesting ('unless the quote has no positions') makes it slightly harder to parse than ideal.

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 shapes need not be described; the description instead supplies the decision logic, gating conditions, and refusal cases an agent needs before invoking a conditional mutation on a draft quote. Nothing essential for a correct call is missing.

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 only 43%, so the description must compensate, and it does for the conditional parameters: mode's replace|append|merge is tied to the write gate, missingLines is explained as a freeText|omit choice per missing product, and priceChoice keep|refresh is qualified by 'when prices differ'. quoteId, presetId and projectId remain undocumented beyond the schema.

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?

Names specific verbs (preview/apply) and the resource (a quote preset onto a draft quote), with a clear scope constraint that the target must already be a draft. An agent can distinguish it from preset-side tools like get_quote_preset or create_quote_from_preset, though no sibling is named explicitly.

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 states the preview-vs-write decision (confirm=false writes nothing; confirm=true writes only after choices are supplied) and enumerates when the call is refused: accepted, declined or shared quotes, and currency mismatch. It lacks explicit pointers to alternative tools for those fallback cases.

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