Skip to main content
Glama

Save Referral Contact

save_referral
Destructive

Add a referral contact or edit an existing one to store a company, careers page, and contact details. Updates only change passed fields while preserving the rest.

Instructions

Add a referral contact, or edit one when referral_id is given (list_referrals has the ids). A referral is a company the user can apply to with someone's referral: its careers page, the contact's name and notes. A new referral needs company and careers_url (an http or https address); contact_name and notes are optional, and each call without referral_id adds another referral. An edit changes only the fields passed, and company is optional there: a field left out keeps its saved value, and a field passed replaces it (referrals keep no history of earlier values). An unknown referral_id is a 404 and nothing is written. Returns the saved referral {id, company, careers_url, contact_name, notes, applications_count, created_at, updated_at}.

Input Schema

NameRequiredDescriptionDefault
notesNo
companyNo
careers_urlNo
referral_idNo
contact_nameNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.12.0

TDQS

A5/5.0
Behavior5/5

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

Goes well beyond annotations: it explains why the tool is non-idempotent and destructive (each call adds a new referral; edits replace saved values and keep no history), and that a failed edit writes nothing. It also discloses the full return shape for a tool with no output schema.

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?

Dense but zero waste: the create/edit switch is front-loaded, each parenthetical ('list_referrals has the ids', 'no history of earlier values') carries real signal, and the return contract closes the definition. Length is justified by the number of non-obvious semantics.

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?

For a mutation tool with no output schema and 0% parameter documentation, the description supplies required-vs-optional behavior per mode, replacement semantics, error behavior, and the response object. Nothing material an agent needs to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the schema only shows nullable, non-required params, so the description carries the burden: it explains that company/careers_url are required on create but company is optional on edit, and crucially that an omitted field keeps its value while a passed field replaces it. That is exactly the null-default semantic the schema cannot express.

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 ('Add a referral contact, or edit one when referral_id is given') and explicitly defines what a referral is (company, careers page, contact name, notes). An agent can distinguish this create-or-edit tool from list_referrals and from application-editing siblings 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.

Usage Guidelines5/5

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

Gives explicit when-to-use routing: omit referral_id to create (and 'each call without referral_id adds another referral'), pass referral_id to edit, and consult list_referrals for the ids. It also names the prerequisites (company and careers_url required on create) and the failure condition (unknown referral_id is a 404).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools