回应合作请求
respond_cooperation_request用户明确决定后调用:接收方 ACCEPT 表示愿意细聊,DECLINE 表示暂不考虑;发起方 WITHDRAW 撤回待回应请求。接受并非签约或承诺收益。
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| action | Yes |
respond_cooperation_request用户明确决定后调用:接收方 ACCEPT 表示愿意细聊,DECLINE 表示暂不考虑;发起方 WITHDRAW 撤回待回应请求。接受并非签约或承诺收益。
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| action | Yes |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare idempotentHint, so the description carries most of the behavioral load and does add real value: it clarifies that ACCEPT merely signals willingness to talk and is not a contract or promise of benefits, which an agent would otherwise have to guess. It omits side effects such as notifying the counterparty or whether a DECLINE/ACCEPT can later be reversed.
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 compact sentence front-loads the precondition, then enumerates each action's meaning, followed by one clause of caveat. No filler and every clause adds information.
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 simple two-parameter tool with no output schema and only an idempotency annotation, the description covers precondition, action semantics and the key caveat. It stops short of saying what happens after a successful response (e.g. whether a conversation is opened for ACCEPT).
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%, but the description compensates well for the enum parameter by defining ACCEPT, DECLINE and WITHDRAW in business terms. The 'id' parameter is only implicitly defined as the target request, which is the one remaining gap.
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?
The description gives a specific verb (respond) and resource (cooperation request) and enumerates the three possible actions with their meaning. It is clearly distinct from send_cooperation_request or get_cooperation_request, though it never names a sibling explicitly. An agent can tell what this tool does without opening the schema.
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?
"用户明确决定后调用" sets a clear precondition (only after the user has explicitly decided), and the description maps each action to the correct party role — receiver for ACCEPT/DECLINE, initiator for WITHDRAW. It does not name an alternative tool or say what to do if the request is stale, so it falls short of explicit when-not guidance.
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.