Skip to main content
Glama
freeagent-mcp-server

freeagent-mcp-server

by samaxbytez

freeagent_update_contact

Destructive

Update an existing FreeAgent contact by providing its contact ID and any fields to change, such as name, address, phone, or payment terms.

Instructions

Update an existing contact in FreeAgent

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "contact_id": "<contact_id>"
    },
    "name": "freeagent_update_contact"
  }
}

Input Schema

NameRequiredDescriptionDefault
townNoTown or city
countryNoCountry
address1NoAddress line 1
address2NoAddress line 2
address3NoAddress line 3
postcodeNoPostal code
last_nameNoContact last name
contact_idYesThe ID of the contact to update
first_nameNoContact first name
phone_numberNoContact phone number
organisation_nameNoOrganisation name
default_payment_terms_in_daysNoDefault payment terms in days

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv3.0.0
    • removedInput schema / additionalProperties
      Removed value: -false
    • removedInput schema / properties / email
      Removed value: -{
      -  "description": "Contact email address",
      -  "type": "string"
      -}
  2. First observedv1.3.0

TDQS

C2.8/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false and destructiveHint=true, so the safety profile is covered structurally; the description contributes nothing beyond restating that it updates. Critically, for a destructive-flagged mutation it does not say whether omitted fields are cleared, whether the change is reversible, or what happens to the 11 optional fields if left out.

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

Conciseness3/5

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

A single five-word sentence with no filler, but it is under-specified rather than efficient — the brevity comes at the cost of the update semantics an agent needs. It is front-loaded correctly but has almost no content to front-load.

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

Completeness2/5

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

For a 12-parameter destructive mutation with no output schema, the description leaves major gaps: partial-update behavior, effect of omitted fields, authorization requirements, and return value are all absent. The structured fields cover safety hints and parameter names, but the description does not complete the picture.

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 100% with 12 well-labeled properties, so the schema already carries parameter meaning and the baseline of 3 applies. The description adds no semantics of its own, such as which fields are patchable or how contact_id must be obtained.

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 an existing contact'), which cleanly separates it from freeagent_create_contact, freeagent_get_contact, and freeagent_delete_contact in the sibling list. It stops short of explicitly naming those alternatives, so it is clear but not fully differentiated.

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

Usage Guidelines2/5

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

There is no guidance on when to choose this over create_contact or delete_contact, no prerequisites (e.g. contact must exist, ID sourced from list_contacts), and no mention of partial-vs-full update expectations. The agent must infer everything about invocation context.

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

Deploy Server

Other Tools