Skip to main content
Glama
Priceminder MCP Server

Priceminder MCP Server

by haidrau

adopt_decision

Marks a pricing decision recommendation as adopted and records the actual execution price, defaulting to the suggested target price when none is provided.

Instructions

采纳一条决策建议,状态变为 adopted。可记录实际执行价。

用户可能的问法:

  • "这条建议我采纳了"

  • "我实际执行价是 195,不是建议的 199"

  • "把那条降价建议标记为已采纳"

参数:

  • decision_id: 决策 ID

  • actual_price: 实际执行价;留空则采用建议的 target_price

注意:hold_price / observe / improve_rating 这类建议通常没有目标价,采纳后实际执行价可能仍为空。

Input Schema

NameRequiredDescriptionDefault
decision_idYes
actual_priceNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

A3.9/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 the state transition to adopted, the default-fill behavior (actual_price 留空则采用建议的 target_price), and an edge case where certain decision types have no target price so actual_price may remain empty. It does not state preconditions (must the decision be pending?) or whether adoption is reversible, which keeps 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?

The action and state outcome are front-loaded in the first sentence, then parameter notes, then an edge-case caveat. The example utterances are slightly verbose but directly aid routing, and no sentence is redundant 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, and for a two-parameter mutation the description covers the key semantics and one important edge case. Missing are precondition/validation behavior (e.g., what happens if the decision was already adopted or rejected), which an agent would want before calling a state-changing tool.

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 description coverage is 0%, so the description must compensate, and it does: decision_id is identified as the decision ID, and actual_price is defined both as the executed price and as optional with a documented fallback to the suggestion's target_price. The only gap is the absence of format/range hints for the price value.

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?

States a specific verb+resource (采纳一条决策建议) and the resulting state change (状态变为 adopted), which goes beyond the tool name. It does not explicitly contrast itself with sibling review_decision or reject_decision, so an agent must infer the boundary from the verb alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Three example user utterances ('这条建议我采纳了', '我实际执行价是 195…', '把那条降价建议标记为已采纳') give concrete trigger contexts, which is genuinely useful. However there is no explicit when-not guidance or named alternative (e.g., 'to reject instead, use reject_decision'), leaving the sibling boundary implied.

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