Skip to main content
Glama

Vision6 MCP by usefulapi

Update a contact

vision6_update_contact
Destructive

WRITE: change one contact's email, mobile, custom field values, subscription status (email_subscribed/mobile_subscribed=false unsubscribes), active flag or double opt-in. Only the fields you pass change. May trigger 'contact updated' automations. Returns the updated contact. PATCH /lists/{list_id}/contacts/{contact_id}.

Input Schema

NameRequiredDescriptionDefault
emailNoEmail address (the list must have an Email field).
fieldsNoCustom list field values, keyed by the lowercase key of the field name (underscores for spaces/dashes, e.g. first_name). Use vision6_list_list_fields to see the list's fields.
mobileNoMobile number in international format without + or spaces (Australia: 61400000009). The list must have a Mobile field.
list_idYes
is_activeNoThe contact's active status.
contact_idYes
double_opt_inNotrue marks the contact as already confirmed (sets the double opt-in time to now). It cannot be reset to false afterwards.
email_subscribedNoWhether the email address is subscribed to receive messages.
mobile_subscribedNoWhether the mobile number is subscribed to receive messages.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already flag destructiveHint=true and idempotentHint=false; the description goes further by disclosing side effects ("May trigger 'contact updated' automations"), the irreversibility of double_opt_in (cannot be reset to false), and the return value. It also clarifies which values get overwritten, which is exactly the context a destructive, non-idempotent PATCH needs beyond the annotation flags.

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:", then capabilities, then semantics, then side effect and return value in four tight sentences with zero filler. Every sentence carries distinct information an agent needs.

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 free-form fields object and no output schema, the description covers scope, partial-update behavior, side effects, irreversibility, and the return value. The remaining gap is error behavior for invalid custom field keys or mismatched list field types, which the description leaves unaddressed.

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?

Schema description coverage is 78%, so most parameters are already documented, but the description adds aggregate meaning by naming the changeable categories and the specific unsubscribe semantics of the two *_subscribed booleans. It does not add detail for list_id/contact_id (only implied by the endpoint path), keeping it short of a 5.

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 ("WRITE: change one contact's ...") and enumerates exactly what can be changed, plus the underlying endpoint PATCH /lists/{list_id}/contacts/{contact_id}. This distinguishes it cleanly from vision6_create_contact, vision6_add_contacts, and vision6_delete_contact without opening any 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?

"Only the fields you pass change" establishes partial-update semantics and "email_subscribed/mobile_subscribed=false unsubscribes" gives a concrete usage pattern, while pointing to vision6_list_list_fields for discovering custom field keys. There is no explicit when-not-to-use or a direct comparison to create_contact, so routing guidance is strong but not complete.

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.