Skip to main content
Glama

SmartHR MCP by usefulapi

smarthr_create_dependent

Destructive

WRITE: Register a dependent (家族情報) for an employee. Needs the relation id from smarthr_list_dependent_relations. Returns the created dependent without pension number, income or documents.

Input Schema

NameRequiredDescriptionDefault
jobNoOccupation.
genderYesGender: male or female.
addressNoAddress; the city is required by SmartHR.
birth_atYesDate of birth, yyyy-mm-dd.
is_spouseNoTrue for a spouse.
last_nameYesFamily name.
first_nameYesGiven name.
tel_numberNoPhone number.
employee_idYesEmployee id (from smarthr_list_employees).
relation_idYesRelation id (from smarthr_list_dependent_relations).
last_name_yomiNoFamily name in katakana.
first_name_yomiNoGiven name in katakana.
live_together_typeYesLiving with the employee or separately.
tax_law_support_typeYesTax-law dependent status (required: SmartHR would otherwise default it to supported). Use unknown when not decided.
social_insurance_support_typeYesSocial-insurance dependent status (required: SmartHR would otherwise default it to supported). Use unknown when not decided.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already flag destructiveHint=true and idempotentHint=false; the description reinforces this with a 'WRITE:' marker and adds genuinely new context by disclosing that the returned record omits pension number, income and documents. It does not explain why the call is destructive, what permissions are needed, or what happens on a duplicate submission, which are the remaining behavioral gaps.

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?

Three short sentences, no filler, and the operation class ('WRITE:') plus resource are front-loaded. The prerequisite and return caveat follow in priority order.

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?

For a 9-required-parameter mutation with a nested object and no output schema, the description covers purpose, prerequisite, and return shape adequately. It leaves out duplicate-handling behavior and permission requirements, which matters for a non-idempotent, destructive write, but the core calling information is present.

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% across all 15 parameters, including enums and the nested address object, so the schema does the heavy lifting. The only parameter guidance in the description (relation_id comes from smarthr_list_dependent_relations) merely restates what the schema already says, so baseline 3 applies.

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?

Uses a specific verb+resource ('Register a dependent for an employee') and prefixes 'WRITE:' to signal the operation class, which cleanly separates it from read siblings like smarthr_list_dependents and smarthr_get_employee. It even states the return shape, so an agent knows exactly what the call does 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 Guidelines4/5

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

Gives an explicit prerequisite: 'Needs the relation id from smarthr_list_dependent_relations', which routes the agent to the correct sibling before calling. It does not state when NOT to use it (e.g. if the dependent already exists, or pointing to smarthr_list_dependents to check first), 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.