Skip to main content
Glama

Bloomerang MCP by usefulapi

Create a constituent

bloomerang_create_constituent
Destructive

WRITE: create a new individual or organization constituent. For an individual give first_name/last_name; for an organization give full_name. Search first (bloomerang_search_constituents) to avoid creating a duplicate donor. Bloomerang: POST /constituent.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
typeYesRecord type.
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.
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

A4.1/5.0
Behavior3/5

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

Annotations only carry destructiveHint=true; the 'WRITE:' prefix is consistent with that and adds mutation framing. The dedupe warning usefully implies the API will not block duplicates on its own, but there is no disclosure of permissions, error behavior, or reversibility for a 20-parameter write 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?

Three tight sentences, front-loaded with the write indicator and the type-conditional rule, with no filler. The trailing 'Bloomerang: POST /constituent' is minor noise that earns little but costs little.

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 20-parameter nested-object write with no output schema, the description covers the hardest part — which name fields each type requires — plus the duplicate-prevention workflow. It omits any hint of what is returned (e.g. the new constituent ID) and doesn't flag the CRM-configured-value constraints on prefix/suffix/state beyond what the schema already says.

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 only 45% and the schema marks just 'type' as required, so the description's conditional rule — first_name/last_name for Individual, full_name for Organization — supplies required-field semantics the schema omits entirely. Remaining parameters (gender, employer, website, etc.) are self-explanatory and left to the schema.

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?

The description states a specific verb and resource ('create a new individual or organization constituent') and immediately distinguishes the two creation modes. It is trivially separable from siblings like bloomerang_update_constituent, bloomerang_get_constituent, and bloomerang_create_note 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?

It gives an explicit pre-condition and routing rule: search with bloomerang_search_constituents first to avoid duplicate donors. That names the alternative tool and the condition selecting it, though it doesn't state when *not* to create or how duplicates are handled if one is found.

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.