Skip to main content
Glama

CATS MCP by usefulapi

Create a candidate

cats_create_candidate
Destructive

WRITE: Requires confirm:true. create one candidate record (personal data) with name, optional contact details and notes. Refuses when CATS finds a duplicate (check_duplicate=true, the default). Creates a new record each time (not idempotent); no email-send request is made to the candidate and no login is created. POST /candidates.

Input Schema

NameRequiredDescriptionDefault
cityNo
emailNoPrimary e-mail address (stored only, never mailed).
notesNo
phoneNoPhone number with country code.
stateNo
titleNoCurrent job title.
sourceNoWhere the candidate came from.
confirmYesConfirm this change to the CATS account.
owner_idNoCATS user id of the record owner.
last_nameYes
first_nameYes
key_skillsNo
phone_typeNoPhone type (default mobile).
postal_codeNo
country_codeNoISO 3166 two-letter country code.
check_duplicateNoRefuse to create when a duplicate exists (default true).
current_employerNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already flag destructive/non-idempotent/openWorld, but the description adds context annotations cannot express: the mandatory confirm flag, the refusal-on-duplicate behavior and its default, the fact that each call creates a new record, and the deliberate absence of email or login side effects. That is meaningful disclosure of concrete side-effect boundaries for a write.

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 'WRITE: Requires confirm:true' before any detail, then packs behavior, defaults and side-effect exclusions into a few dense clauses with no filler.

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

Completeness4/5

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

Strong on preconditions and side effects for a 17-parameter mutation, but with no output schema the description never says what comes back (e.g., the new candidate id or the duplicate match found), which is the one thing an agent still has to guess.

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?

With 17 parameters at 53% schema coverage, the description only illuminates 'name', 'notes', 'confirm' and 'check_duplicate' (including its default). It adds real value on the duplicate flag but says nothing about owner_id, source, key_skills, phone_type, or the address fields, leaving a sizeable coverage gap unaddressed.

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?

A specific verb plus resource ('create one candidate record') with an explicit data scope ('personal data ... name, optional contact details and notes') and the underlying endpoint POST /candidates. It is trivially distinguishable from the get/list/search candidate siblings.

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

Usage Guidelines4/5

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

States the precondition (confirm:true required) and the duplicate policy (refuses when check_duplicate=true, which is the default), plus negative scope: no email is sent and no login is created. It does not explicitly route to an alternative such as search-before-create or an update tool, so it stops short of full when/when-not guidance.

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.