Get supporter
funraise_get_supporterOne supporter: name, email, phone, tags, opt-ins, household, primary address, institution. GET /api/v1/crm/supporter/{id}.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| supporter_id | Yes |
funraise_get_supporterOne supporter: name, email, phone, tags, opt-ins, household, primary address, institution. GET /api/v1/crm/supporter/{id}.
| Name | Required | Description | Default |
|---|---|---|---|
| supporter_id | Yes |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so safety is covered. The description adds the returned field set and the underlying REST path, but says nothing about not-found behavior, permissions/API key requirements, or rate limits that openWorldHint hints at.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short fragments with no filler, and the payload contents are front-loaded before the endpoint reference. The telegraphic style is efficient, though the leading 'One supporter:' is slightly elliptical.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with annotations covering the safety profile and no output schema, the description's field enumeration effectively describes the return payload. Only error/edge-case behavior is missing, which is a minor gap at this complexity level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate; the {id} path template does signal that supporter_id is the record identifier. However, it omits the schema's positive-integer constraint and gives no format/example, leaving a gap for a single required parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a single resource type (one supporter) and enumerates the fields returned, and the explicit endpoint GET /api/v1/crm/supporter/{id} makes the retrieve-by-id action unambiguous. It implicitly distinguishes itself from funraise_list_supporters, though it never says so explicitly and no verb is stated in prose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus funraise_list_supporters (browse/search) or funraise_get_household (related records). The agent must infer the choice from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.