Skip to main content
Glama

Senta MCP by usefulapi

Update a client

senta_update_client
DestructiveIdempotent

WRITE: partially update an existing client; only submitted properties are changed, per Senta's Client API. Read current contacts with senta_get_client before editing them and pass the contact details to update or add. Changing clientstate or enabling a service can start jobs in Senta. There is no delete tool. PUT /api/clients/{id}.

Input Schema

NameRequiredDescriptionDefault
webNo
townNo
titleNoClient name (Senta's `title`).
twitterNo
address1No
address2No
contactsNoContact details to update or add, following the practice's contact form. Read current contacts before editing.
districtNo
postcodeNo
client_idYesThe client id (`_id`) to update.
telephoneNo
clienttypeNoType, e.g. "Partnership".
vatserviceNoWhether the VAT service applies.
clientstateNoState, e.g. "Prospect" or "Client" (the practice's own states).
businessareaNoBusiness area, e.g. "Veterinary".
extra_fieldsNoOther fields configured by the practice (Settings > Forms > Edit Client), keyed by Senta's internal field name.
paymentmethodNoPayment method, e.g. "Monthly".

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Goes beyond the annotations by disclosing that only submitted properties change, that changing clientstate or enabling a service can trigger jobs in Senta, and that no delete capability exists. The annotations already flag destructiveHint and idempotentHint, so this adds genuine side-effect context; it stops short of saying what 'destructive' concretely means for existing values.

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-loaded with 'WRITE:' and then five tight clauses covering semantics, prerequisite, side effects, absent capability, and endpoint. Every sentence carries distinct information with no filler.

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 17-parameter mutation tool with no output schema, the description covers the decision-relevant facts: partial-update behavior, the prerequisite read, job side effects, and lack of delete. The remaining undocumented fields are conventional address/contact properties the schema constrains by type and length.

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

Parameters4/5

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

With 17 parameters and only 53% schema description coverage, the description compensates where it matters most: it explains the nested contacts array (read current contacts, then pass details to update or add) and the side effect of clientstate. The remaining address/phone fields are self-evident, but several others are left to the schema.

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 ('partially update an existing client') and pins down the partial-update semantics, which distinguishes it cleanly from senta_create_client and senta_get_client. The 'WRITE:' prefix and endpoint make the operation unmistakable.

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?

Explicitly directs the agent to read current contacts with senta_get_client before editing, and notes there is no delete tool, which rules out a path an agent might otherwise look for. It does not explicitly contrast with senta_create_client (when to create vs update), so it falls short of full when/when-not coverage.

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.