Skip to main content
Glama
JE4NVRG

MepMail

update_contact

Update a contact's name, custom properties, or global unsubscribe status; omitted fields stay unchanged. Provide the contact ID or email to apply changes.

Instructions

Update a contact's name, custom properties or global unsubscribe flag. Omitted fields are left unchanged.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesContact id or email address
last_nameNonull clears it
first_nameNonull clears it
propertiesNoMerged; null removes a key
unsubscribedNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.2

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are supplied, so the description carries the full behavioral burden. It does disclose a genuinely useful trait the schema does not frame explicitly: omitted fields are left unchanged (patch semantics), and that unsubscribed is a global flag rather than a per-broadcast suppression. It stops short of permissions, idempotency, behavior when the id does not resolve, or what the response contains.

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?

Two sentences, no filler. The primary purpose leads and the patch-semantics caveat follows immediately, which is exactly the ordering an agent needs before deciding to call it.

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

Completeness3/5

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

For a mutation tool with zero annotations, no output schema, and a nested arbitrary-key properties object, the description covers the core contract but leaves real gaps: no auth/permission expectations, no error behavior, no note on whether clearing fields is reversible, and nothing about what is returned. Adequate but clearly under-specified for the complexity of the operation.

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 80%, so the schema already explains id, first_name/last_name (null clears) and properties (merged; null removes a key), putting the baseline at 3. The description adds a little meaning by calling out the unsubscribe flag as 'global' and by summarizing the field groups, but it provides no format or syntax guidance for the custom properties map, and the unsubscribed parameter has no schema description of its own that the text compensates for in detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource (update a contact) and enumerates the mutable field groups: name, custom properties, and the global unsubscribe flag. That is enough to distinguish it from list_contacts/get_contact/delete_contact, though it never explicitly names a sibling or a boundary case to reinforce the distinction.

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

Usage Guidelines3/5

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

Usage is only implied: an agent can infer this is the tool for modifying an existing contact rather than creating one, and the patch-oriented phrasing hints that partial updates are the expected mode. There is no explicit when-to-use statement, no mention of prerequisites (the contact must already exist), and no routing to alternatives such as create_contact or delete_contact.

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