Skip to main content
Glama

Update employee profile

namely_update_profile
DestructiveIdempotent

Change standard fields of an employee profile (name, emails, start date, status, manager, job title). WRITES live HR data. Send only the fields to change. Setting user_status to pending needs a personal_email. Namely API: PUT /profiles/{id}.

Input Schema

NameRequiredDescriptionDefault
idYesNamely profile id (the `id` of a profile from namely_list_profiles).
emailNoCompany email.
job_titleNoNew job title: an object with the id or the exact title of an existing job title.
last_nameNoLast name.
first_nameNoFirst name.
reports_toNoProfile id of the new manager.
start_dateNoStart date, YYYY-MM-DD.
user_statusNoactive or pending.
personal_emailNoPersonal email (required when user_status is pending).

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?

Adds real context beyond annotations: the write is to live HR production data, and status=pending carries a dependency on personal_email. With destructiveHint=true declared, the agent already knows mutations are risky; the description doesn't cover permissions/authorization or rollback behavior.

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?

Four dense, front-loaded sentences with zero filler: scope first, then the write warning, then the patch instruction, then the conditional constraint. Every sentence earns its place.

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-parameter mutation with a nested job_title object and no output schema, the description covers scope, write risk, patch semantics and the one conditional constraint. It leaves out how invalid job titles are handled and what a successful response contains, but the rich schema compensates for most of that.

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 coverage is 100% and descriptions exist for every parameter, so the schema carries the burden and the baseline is 3. The description does add one genuinely useful cross-field rule (pending requires personal_email) that the schema only states per-field, but it adds nothing further on job_title nesting or id sourcing.

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?

Names a specific verb (change) and resource (employee profile) and enumerates the affected field families, which cleanly separates it from the read siblings (namely_get_profile, namely_list_profiles). The API endpoint (PUT /profiles/{id}) reinforces the exact operation.

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?

"Send only the fields to change" gives clear patch-style usage and "WRITES live HR data" signals this is not a dry run. It stops short of explicitly stating when not to use it (e.g. bulk updates or profile creation), so no full alternative routing is given.

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.