Skip to main content
Glama
pjosols
by pjosols

contacts_update_contact

Update an existing contact by providing only the fields to change. Modify name, emails, phones, org, notes, or address book membership using JSON patch.

Instructions

Update an existing contact card via JSON patch.

Only the fields you provide will be changed; omitted fields are left as-is.

Args: contact_id: ID of the ContactCard to update. name: New full display name. emails: Replace all email addresses with this list. phones: Replace all phone numbers with this list. org: Replace organization name. notes: Replace notes. address_book_ids: Replace address book membership.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
contact_idYes
nameNo
emailsNo
phonesNo
orgNo
notesNo
address_book_idsNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior2/5

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

No annotations are provided, so the description should disclose behavioral traits. It mentions JSON patch and partial update, but fails to cover error handling, required permissions, side effects, or behavior when contact_id is invalid. This is insufficient for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with a brief introductory sentence and a bullet list of parameters. It is front-loaded and contains minimal superfluous text, though it could be even more structured.

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?

The description covers all 7 parameters and the update logic. However, it omits details about return values (though output schema exists), error conditions, and prerequisites. For a tool with 7 parameters and no annotations, more context is warranted.

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?

The input schema has 0% description coverage, but the description explicitly defines each parameter (contact_id, name, emails, etc.) with clear meaning, adding value beyond the schema. This compensates well for the lack of schema descriptions.

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 clearly states the action ('Update an existing contact card via JSON patch') and resource, using a specific verb. It does not explicitly differentiate from sibling tools like create or delete, but the purpose is unambiguous.

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?

The description notes that only provided fields change and omitted fields are left as-is, which is a usage hint. However, it lacks explicit guidance on when to use this tool over alternatives or when not to use it (e.g., for creating new contacts).

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/pjosols/pyfastmail-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server