Skip to main content
Glama

Freshsales MCP by usefulapi

Update deal

freshsales_update_deal
DestructiveIdempotent

WRITE: change fields of an existing deal, e.g. move it to another stage (deal_stage_id), change amount or expected close; only the fields you pass are changed. PUT /deals/{id}.

Input Schema

NameRequiredDescriptionDefault
nameNoDeal name.
amountNoDeal value in the deal's own currency (a multi-currency account: freshsales_get_deal shows the deal's currency first when updating).
deal_idYesDeal id.
owner_idNoOwner user id (freshsales_list_owners).
probabilityNoWin probability, 0-100.
custom_fieldNoCustom field values keyed by field name, e.g. {"cf_is_active": true}. Field names start with cf_.
deal_type_idNoDeal type id (freshsales_list_options deal_types).
deal_stage_idNoStage id (freshsales_list_deal_stages).
expected_closeNoExpected close date, YYYY-MM-DD.
lead_source_idNoLead source id (freshsales_list_options lead_sources).
add_contact_idsNoExisting contact ids to attach.
deal_pipeline_idNoPipeline id (freshsales_list_deal_pipelines).
sales_account_idNoCompany the deal belongs to (freshsales_search sales_account).
remove_contact_idsNoContact ids to detach from the deal.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare write, destructive, idempotent, and openWorld, so the safety profile is covered. The description adds genuinely non-redundant behavior: it is a partial update ("only the fields you pass are changed") and it maps to PUT /deals/{id}. It omits any note on the contact attach/detach semantics or permission requirements, which is why it isn't 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?

A single compact sentence pair with the WRITE intent and partial-update semantics front-loaded and the endpoint trailing. No filler and nothing an agent must wade through.

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 14 parameters fully described in the schema and no output schema, the description only needs to convey the update model, which it does via the partial-update statement. Missing: guidance on add_contact_ids/remove_contact_ids being additive rather than replacing the full contact set, which matters for a destructive write.

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 100%, including maxItems on the contact arrays and the currency caveat for amount, so the schema carries nearly all parameter meaning. The description only echoes deal_stage_id, amount, and expected_close as examples, adding no syntax or constraint detail beyond the schema. Baseline 3 applies.

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 ("change fields of an existing deal") and leads with a WRITE marker plus the underlying PUT endpoint. The examples (stage move, amount, expected close) make it clearly distinguishable from freshsales_create_deal and freshsales_get_deal.

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?

Scopes usage to existing deals and names the motivating operations (stage change, amount, close date). It does not say when NOT to use it or point to a sibling such as freshsales_create_deal for new deals, so it stops just short of explicit alternative routing.

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.