Skip to main content
Glama

Bloomerang MCP by usefulapi

Update a constituent

bloomerang_update_constituent
Destructive

WRITE: update fields on an existing constituent's profile (names, job, status, primary address/email/phone). Only the fields you supply are sent. Bloomerang: PUT /constituent/{id}.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
genderNo
prefixNoMust match a prefix configured in the CRM, e.g. Mr., Ms., Dr.
statusNoConstituent status.
suffixNoMust match a suffix configured in the CRM.
websiteNo
employerNo
birthdateNoBirth date (YYYY-MM-DD).
full_nameNoOrganization name, or an explicit individual full name.
job_titleNo
last_nameNo
first_nameNo
formal_nameNo
middle_nameNo
envelope_nameNo
informal_nameNo
primary_emailNoPrimary email address.
primary_phoneNoPrimary phone.
constituent_idYesThe API Id of the constituent (not the CRM AccountNumber).
primary_addressNoPrimary postal address.
recognition_nameNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already flag destructiveHint=true, so the mutation risk is known. The description adds genuinely new behavioral context: this is a partial update where unspecified fields are untouched, and it names the underlying PUT /constituent/{id}. It omits auth/permission requirements and any reversibility or rate-limit notes, keeping it out of 5 territory.

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?

Three compact, front-loaded segments: the operation, the partial-update rule, and the API mapping. Zero filler; every clause carries information an agent needs.

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 20-parameter mutation with nested objects, no output schema, and sub-50% schema coverage, the description is only moderately complete. It communicates partial-update semantics and field categories, but says nothing about error handling, permission requirements, or what happens to fields deliberately excluded from the payload.

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 only 45% across 20 parameters (including nested primary_email/phone/address objects), so the description carries part of the burden. It does helpfully group the updatable fields into names/job/status/primary contact info, but adds no per-parameter format or constraint detail beyond what the schema already documents.

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 (update) plus resource (existing constituent profile) and enumerates the field groups affected (names, job, status, primary address/email/phone). The word 'existing' and the WRITE prefix cleanly separate it from bloomerang_create_constituent and the get_/list_ read siblings.

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?

'Only the fields you supply are sent' implies patch-style partial updates, which is real usage guidance, but there is no explicit when-to-use vs when-not, no prerequisites (e.g. permissions), and no named alternative for creating a new constituent. Usage is implied rather than stated.

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.