Skip to main content
Glama

little-green-light

Record a gift

lgl_create_gift
Destructive

WRITE: record a gift (donation, pledge payment, in-kind, etc.) on a constituent's record. This writes a CRM record of a gift that already happened — it does NOT charge a card or move money. Give gift_type_id or gift_type_name (required; see lgl_list_type_values type=gift_types). Fund, campaign, appeal, event, gift category and payment type may each be given by id or by exact name. Set ack_template_name to 'do_not_ack' to skip acknowledgment. LGL: POST /api/v1/constituents/{constituent_id}/gifts.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
noteNoGift note.
fund_idNo
is_anonNoGift is anonymous.
event_idNo
appeal_idNo
fund_nameNo
event_nameNo
appeal_nameNo
campaign_idNo
external_idNoExternal gift id (your own system's id).
team_memberNoTeam member credited: id, email, or 'first_name last_name' (see lgl_list_team_members).
check_numberNoCheck/reference number.
deposit_dateNoDeposit date (YYYY-MM-DD).
gift_type_idNoGift type id.
campaign_nameNo
received_dateNoGift date (YYYY-MM-DD).
constituent_idYesConstituent id (integer).
gift_type_nameNoGift type name, e.g. 'Gift'.
payment_type_idNo
received_amountNoGift amount.
deposited_amountNo
gift_category_idNo
ack_template_nameNoAcknowledgment mailing template name, or 'do_not_ack'.
deductible_amountNoTax-deductible amount.
payment_type_nameNoPayment type name, e.g. 'Check', 'Credit Card'.
gift_category_nameNoGift category name, e.g. 'Donation'.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

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

With destructiveHint=true already given, the description adds real context: it is a CRM write, not a money movement, and it explains the id-or-exact-name resolution rule and the 'do_not_ack' sentinel. It does not contradict the annotation (this is a write) and goes beyond it usefully, though return/permission behavior is unstated.

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?

Dense but front-loaded with the WRITE: action and the core caveat, followed by required-parameter and resolution guidance in tight sentences. Every sentence earns its place, though the packed run-on list of id/name fields is slightly heavy to parse.

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 26-parameter mutation with no output schema, the description covers the essential calling semantics (required type, id/name duality, ack opt-out). It omits auth expectations and any return confirmation, leaving a small but non-critical gap.

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 58%, so the description carries weight: it documents the id-or-exact-name pattern shared by fund/campaign/appeal/event/category/payment type, and notably declares gift_type_id/name required even though the schema required-list shows only constituent_id. This adds genuine meaning beyond 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?

States a specific verb (record/write) and resource (a gift on a constituent's record), and disambiguates from payment tools by clarifying it 'does NOT charge a card or move money.' An agent can distinguish this from lgl_create_constituent and lgl_get_gift without opening either 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?

Clearly frames the context: it records a gift that already happened rather than processing a payment, and points to lgl_list_type_values (type=gift_types) for the required type lookup. It does not, however, name alternatives for updating or retrieving gifts, so the routing is implied rather than exhaustive.

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.