Skip to main content
Glama

TraydStar

Counter a proposal

counter_proposal
Destructive

Use this when the user wants to answer a received proposal with different terms instead of accepting or declining it. Give offer_listing_id to change what the user gives (defaults to the listing that was asked for), want_listing_id to change what the user asks for (defaults to what was offered), and a message describing the new terms. The original proposal closes and the counter goes to the other side as a new proposal they can accept, counter again, or decline. Confirm the terms with the user first.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
messageNoThe changed terms, in the user's words
proposal_idYesThe received proposal to counter
want_listing_idNoOne of the other member's listings to ask for
offer_listing_idNoOne of the user's listings to give

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
counteredNo
proposal_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already flag destructiveHint=true and openWorldHint=true; the description earns credit by explaining what gets destroyed ('the original proposal closes') and the follow-on lifecycle ('the counter goes to the other side as a new proposal they can accept, counter again, or decline'). This is meaningful context beyond the annotations, though it doesn't cover reversibility or authorization requirements.

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?

Front-loads usage guidance, then parameter semantics, then behavioral consequence, ending with a guardrail. Four sentences, each carrying distinct and non-redundant information, with no padding.

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?

With an output schema present, return values need no explanation, and the annotations cover the safety profile. Combined with clear when-to-use, parameter defaults, and lifecycle effects, the definition gives an agent everything needed to call it correctly.

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 100%, so the baseline is 3, but the description adds genuine meaning by explaining what offer_listing_id and want_listing_id change and their default behavior ('defaults to the listing that was asked for' / 'defaults to what was offered'). That default semantics is not captured by the schema descriptions.

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: answering a received proposal with different terms. It also explicitly distinguishes itself from the siblings accept_proposal and decline_proposal by contrasting the action ('instead of accepting or declining it'). An agent can identify this tool without opening any schema.

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

Usage Guidelines5/5

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

Gives an explicit trigger condition ('when the user wants to answer a received proposal with different terms') and names the alternatives it replaces (accept/decline). It adds a procedural guardrail, 'Confirm the terms with the user first,' which further constrains correct invocation.

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.

Resources