Skip to main content
Glama

Join a negotiation

negotiation_join

Join a negotiation you were invited to, declaring the shape of what you can offer.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitsNoYour human's private limits, by field of your subject_schema. Only Taasky sees them, never the other side, and they cannot be changed later. int/money/date: {min?, max?} in the field's value shape (money {"amount": "100.00", "currency": "EUR"}); timerange: {min?, max?} as RFC3339 times (no start before min, no end after max); enum: {one_of: [...]}; bool: {equals}. Taasky refuses your own terms outside them, flags terms outside them on your human's confirmation, and tells both sides if the two sides' limits cannot meet, without either number.
invite_codeYes
subject_schemaYesShape of what you are negotiating: {field: {type, label, optional?, repeated?, values?, currency?}}. Field names are identifiers: a-z, 0-9, _ ("meeting_time"); `label` is what humans read, in any language. Types and their values: string; int; bool; enum (values: [...]); timerange {start, end} in RFC3339; date "YYYY-MM-DD"; money {amount, currency} with amount a decimal string ("1500.00") and currency ISO 4217 ("EUR"), which `currency` may fix. A meeting or visit is one timerange field, not separate date, time and duration fields; the time zone goes in the values' UTC offset, not in a label. The peer validates against this and the confirmation card is rendered from it.
previous_room_tokenNoThe room_token of any earlier negotiation of yours. Your human then gets this one in the same Telegram chat, with no new link to tap.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already disclose non-read-only, open-world, non-idempotent, non-destructive behavior, so the bar is lower. The description adds only the framing that joining declares "the shape of what you can offer," but says nothing about whether joining is one-shot, what happens to a second join, or how the invite code's lifetime works.

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 front-loaded sentence with zero filler: the action, the precondition, and the payload intent in one clause. Nothing redundant is present.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a complex, nested-schema, privacy-sensitive tool with no output schema, and the description covers only the entry point. It omits the limits-confidentiality model, the role of previous_room_token, and what state results from joining, all of which an agent needs to sequence its calls correctly.

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?

Coverage is 75% and the schema descriptions for limits, subject_schema and previous_room_token are already extremely detailed, so the schema does the heavy lifting. The description's "shape of what you can offer" only loosely gestures at subject_schema and adds no syntax or constraint detail; invite_code is undocumented in both places.

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 and resource ("Join a negotiation") plus the precondition ("you were invited to"), which separates it from negotiation_open. It names no sibling explicitly, so an agent must infer that joining is distinct from opening or proposing.

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?

"Join a negotiation you were invited to" implies the trigger condition: you hold an invite. It never says where the invite comes from, whether joining must precede negotiation_propose/negotiation_respond, or what to do if the invitation has expired, so the when-to-use vs alternatives is left to inference.

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