Skip to main content
Glama

jobs.offer.add_negotiation

Log a negotiation event on an offer (counter-offer, update, etc.)

Input Schema

NameRequiredDescriptionDefault
notesNoNotes about this negotiation event
job_idYesJob id
event_dateNoEvent date in YYYY-MM-DD format
event_typeYesWhether the event records an employer offer or your counter
bonus_centsNoSigning bonus in cents
equity_textNoEquity details (e.g. "0.05% over 4 years")
salary_centsNoSalary in cents (e.g. 15000000 for $150k)

Output Schema

NameRequiredDescriptionDefault
dataYes
metaNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed16 schema fields changed
    • removedOutput schema / properties / data / properties / bonus_cents / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / data / properties / bonus_cents / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / data / properties / created_at / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / data / properties / created_at / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / data / properties / equity_text / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / data / properties / equity_text / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / data / properties / id / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "number"
      -  }
      -]
    • addedOutput schema / properties / data / properties / id / type
      Added value: +[
      +  "string",
      +  "number"
      +]
    • removedOutput schema / properties / data / properties / notes / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / data / properties / notes / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / data / properties / salary_cents / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / data / properties / salary_cents / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / meta / properties / next_page / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / meta / properties / next_page / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / meta / properties / total_count / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / meta / properties / total_count / type
      Added value: +[
      +  "number",
      +  "null"
      +]
  2. Added

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare this is a non-read-only, non-destructive, non-idempotent write. The description adds that it records a negotiation event such as a counter or update, which clarifies the domain meaning, but it does not warn about duplicate event accumulation or ordering, which matter for a non-idempotent append operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler. It is efficient, though its brevity means nothing about sequencing or alternatives is ever established.

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?

With seven parameters, an output schema, and full schema coverage, the structured fields carry most of the burden. The description is adequate but omits the one thing only prose can supply: how this tool relates to the other offer tools.

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?

Schema description coverage is 100%, so every parameter including salary_cents, bonus_cents, equity_text, and the event_type enum is already documented. The description's 'counter-offer, update, etc.' loosely maps to event_type values but adds no format or unit detail beyond the schema.

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: logging a negotiation event on an offer, with parenthetical examples (counter-offer, update). It distinguishes the tool from the broader jobs.offer.update only implicitly, but the resource+action combination is clear enough to route on.

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

Usage Guidelines2/5

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

No guidance on when to log a negotiation event versus using jobs.offer.update or jobs.offer.delete_negotiation, and no preconditions such as whether the offer must already exist. The agent must infer the situation from the name alone.

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