提出一项合作条款修改
propose_cooperation_change仅用户明确提出修改时提交单字段建议,必须基于用户看过的当前revision,并解释理由;另一方决定是否采用,不直接修改方案。
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| field | Yes | ||
| quote | No | ||
| value | Yes | ||
| reason | Yes | ||
| comment | No | ||
| requestId | Yes | ||
| baseRevision | Yes |
propose_cooperation_change仅用户明确提出修改时提交单字段建议,必须基于用户看过的当前revision,并解释理由;另一方决定是否采用,不直接修改方案。
| Name | Required | Description | Default |
|---|---|---|---|
| field | Yes | ||
| quote | No | ||
| value | Yes | ||
| reason | Yes | ||
| comment | No | ||
| requestId | Yes | ||
| baseRevision | Yes |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With only destructiveHint=false as annotation, the description carries most of the burden and succeeds: it discloses that the change is a proposal not a direct write ('不直接修改方案'), that another party decides adoption, and that it must be based on the revision the user actually saw ('用户看过的当前revision') – useful optimistic-concurrency context. It omits permissions, return format, and failure behavior, so not 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence with the trigger condition front-loaded, followed by the concurrency constraint and the non-destructive consequence. Every clause earns its place; slightly dense semicolon chaining is the only minor cost.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-param, 5-required mutation tool with no output schema and one annotation, the essential guardrails (trigger, baseRevision, non-direct-write, reason) are covered. What happens on success, how it relates to the target's revision lifecycle, and the roles of quote/comment/requestId are left unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% with 7 parameters, so the description must compensate, and it partially does: it explains that only one field is proposed, that baseRevision must be the revision the user has seen, and that reason is required. But quote, comment, requestId, and value remain undocumented in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: submitting a single-field suggestion ('单字段建议') against a cooperation plan, backed by the current revision. It also differentiates from sibling mutators by stressing '不直接修改方案' (does not directly modify the plan), which separates it from edit/save/update tools. The differentiation is implied rather than naming a specific sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit trigger condition: only submit when the user explicitly requests a modification ('仅用户明确提出修改时'). It also explains the downstream consequence ('另一方决定是否采用'). No named alternatives or explicit when-not guidance, so it stops short of 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.