Skip to main content
Glama

less-annoying-crm

Edit a contact or company

lacrm_edit_contact
Destructive

Update fields on an existing contact or company. Only the fields you pass change; omitted fields are left alone. Multi-value fields (email, phone, address, website) are REPLACED by the list you pass. Set is_company=true when renaming a company. LACRM: EditContact.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoNew full name (person) or company name.
emailNoEmail address(es).
phoneNoPhone number(s).
addressNoAddress(es).
websiteNoWebsite URL(s).
birthdayNoBirthday, yyyy-mm-dd (or 0000-M-D for no year).
job_titleNoJob title (people only).
contact_idYesThe contact or company id (a long numeric Uid — always pass it as a string).
is_companyNoSet true if this record is a company, so `name` maps to its Company Name field.
assigned_toNoReassign to this UserId.
company_nameNoFor a PERSON: the company they work at (created if it does not exist). Not used for company records.
custom_fieldsNoExtra fields keyed by the account's field names exactly as LACRM shows them (e.g. {"Lead Source": "Referral"}). Use lacrm_list_custom_fields to find them. Merged verbatim into Parameters.
background_infoNoThe Background Info text.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations only give destructiveHint=true; the description goes further by disclosing that the update is partial ('only fields you pass change') and that multi-value fields (email, phone, address, website) are REPLACED wholesale — the single most important data-loss behavior for an agent to know. It omits auth/permission requirements and any rate or idempotency notes.

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 compact sentences, front-loaded with the destructive replace warning, and every clause carries non-obvious information. No filler.

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 13-parameter mutation with no output schema, the description covers the highest-risk unknowns (partial update, replacement semantics, is_company coupling). What remains unstated — permission requirements and what the response returns on success — is minor but not trivial for an edit operation.

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 coverage is 100%, so the baseline is 3, but the description adds real meaning the schema does not: the partial-update rule, the replace-not-merge rule for multi-value lists, and the specific instruction to set is_company=true when renaming a company (which reframes the schema's terse 'set true if this record is a company' text).

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?

States a specific verb and resource ('Update fields on an existing contact or company'), and 'existing' implicitly distinguishes it from the sibling lacrm_create_contact. It never names get_contact or create_contact explicitly, so it stops short of full sibling differentiation.

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 implied by the semantics — agents can infer this is the tool for modifying an existing record vs. lacrm_create_contact — but no sentence states when to use it, when to prefer lacrm_search_contacts to find the id first, or when to fall back to field-specific tools. Adequate but guidance is left to inference.

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.