Givecloud MCP by usefulapi
Server Details
Read supporters, contributions, recurring donations, fundraising products and feed posts.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- m190/usefulapi-mcp
- GitHub Stars
- 0
TDQS
Scored across 10 tools
Each tool targets a distinct resource (contribution, post, product, recurring profile, supporter) and action (get vs list). The get/list split is explicit and consistent, and no two tools can be reasonably confused for one another.
All tools follow the same givecloud_{verb}_{resource} pattern with consistent snake_case and verb choice. The get/list pairing is predictable across every resource.
Ten tools is a right-sized read-only surface: one list and one get for each of five resources. There is no obvious filler or duplicated tool, and the set is easy to scan.
The list/get pairing covers five core resources, but there is no way to enumerate feeds even though list_posts and get_post require a known feed_id. That creates a real dead end for feed-related workflows, even if the connector is intentionally read-only.
Available Tools
10 toolsgivecloud_get_contributionGet a contributionARead-onlyInspect
Read one contribution by its Givecloud ID. Returns the same selected fields as the corresponding list tool. No business data is changed.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so "No business data is changed" largely restates them. The useful addition is the disclosure that the return fields match the corresponding list tool, which tells the agent what shape of payload to expect.
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?
Three short sentences, front-loaded with the core action and ID requirement. The safety sentence is somewhat redundant against the annotations but does not impede comprehension.
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 single-parameter read tool with no output schema, the description covers what it does, what it returns (same fields as the list tool), and its safety profile. Only not-found behavior and how to source the ID are left unstated.
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% — the only structured hint is the name `id` and a regex pattern. The description adds that the ID is a Givecloud ID and that it identifies a single contribution, but it does not explain the ID format or where an agent would obtain one.
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?
States a specific verb and resource with explicit scope: "Read one contribution by its Givecloud ID." The singular "one contribution" plus the reference to the corresponding list tool lets an agent distinguish this from givecloud_list_contributions 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the contrast between "one contribution" and the referenced list tool, but there is no explicit instruction such as 'use this when you already have the ID, otherwise use givecloud_list_contributions.' No prerequisites or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
givecloud_get_postGet a feed postBRead-onlyInspect
Read one feed post by its Givecloud ID. Returns the same selected fields as the corresponding list tool. A known feed_id is required. No business data is changed.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| feed_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered; 'No business data is changed' merely reinforces that. The one substantive addition is the note that the post lives under a feed and returns the same field selection as the list tool, but the shape of that selection and the not-found behavior are left undisclosed.
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?
Four short sentences, front-loaded with the action and key, zero filler. 'No business data is changed' is slightly redundant against readOnlyHint but is a cheap safety affirmation.
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?
With no output schema, the description should describe the return more concretely than 'the same selected fields as the corresponding list tool', and it says nothing about behavior when the post or feed does not exist. Adequate for a simple two-parameter read, but with clear gaps.
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 bears the burden. It does distinguish the two parameters by role ('one feed post by its Givecloud ID' vs 'a known feed_id') and correctly flags feed_id as required, but it never clarifies which identifier the post's own `id` is nor gives format guidance beyond the regex pattern.
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?
States a specific verb and resource ('Read one feed post') plus the lookup key, and contrasts scope with the list counterpart ('Returns the same selected fields as the corresponding list tool'). An agent can distinguish it from givecloud_list_posts without opening a schema, though the sibling is referenced generically rather than named.
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?
'A known feed_id is required' implies this is a second-step call after discovering a feed, but the description never states the when-to-use rule explicitly or names givecloud_list_posts as the way to obtain the ID. Usage is inferable rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
givecloud_get_productGet a fundraising productBRead-onlyInspect
Read one fundraising product by its Givecloud ID. Returns the same selected fields as the corresponding list tool. No business data is changed.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description reinforces this with 'No business data is changed' and adds the useful detail that field selection matches the list tool. It stops short of covering error behavior (e.g., what happens for an unknown or malformed ID) or return shape, leaving gaps beyond what annotations provide.
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?
Three short sentences, front-loaded with the core action and scope. The final sentence about no data being changed is largely redundant with readOnlyHint but costs little; there is no filler or restated title beyond that.
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?
No output schema exists, and 'same selected fields as the corresponding list tool' defers the return shape to a sibling rather than describing it, so an agent cannot know what fields come back without inspecting list_products. Error/not-found behavior and pagination are irrelevant here, but the undefined return content and unspecified ID format keep this at minimum-viable.
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?
With one parameter and 0% schema description coverage, the description carries some of the burden: it clarifies that 'id' is a Givecloud ID rather than an external or arbitrary identifier. The regex pattern constraint lives only in the schema, and the description adds no format guidance, so it only marginally compensates for the coverage gap.
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?
States a specific verb and resource ('Read one fundraising product') and scopes it to a single record by Givecloud ID, which implicitly contrasts with the list_products sibling. It doesn't explicitly name list_products as the alternative, but the singular 'one' makes the distinction clear.
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?
Usage is implied by 'Read one ... by its Givecloud ID' and the note that results match the corresponding list tool, hinting that this is the single-record counterpart to list_products. However, there is no explicit when-to-use/when-not-to-use guidance or named alternative for cases like bulk retrieval or lookup by other fields.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
givecloud_get_recurring_profileGet a recurring profileARead-onlyInspect
Read one recurring profile by its Givecloud ID. Returns the same selected fields as the corresponding list tool. No business data is changed.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so 'No business data is changed' largely restates that. The claim that it returns 'the same selected fields as the corresponding list tool' adds some useful context about return scope, but nothing is said about behavior for missing/invalid IDs, field selection, or auth.
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 sentences with the core action front-loaded; nothing is buried. The closing safety sentence is largely redundant with the annotations, which is the only wasted material.
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 single-parameter read tool with annotations covering the safety profile and no output schema, the description says enough to call it correctly. Remaining gaps (not-found behavior, which fields are selected) are minor 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?
There is one parameter with 0% schema description coverage, so the description carries the burden. It clarifies that the input is a Givecloud ID (as opposed to an external or supporter ID), which is genuinely useful, but it does not describe the ID format or validate the pattern constraint.
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?
States a specific verb and resource ('Read one recurring profile by its Givecloud ID') and scopes it to a single record, which distinguishes it from the sibling list_recurring_profiles. It refers to 'the corresponding list tool' rather than naming it, so differentiation is clear but not maximally explicit.
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?
Usage is implied: fetch one record when you already have its Givecloud ID. There is no explicit statement of when to prefer this over givecloud_list_recurring_profiles or how to obtain an ID when you don't have one, leaving the routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
givecloud_get_supporterGet a supporterARead-onlyInspect
Read one supporter by its Givecloud ID. Returns the same selected fields as the corresponding list tool. No business data is changed.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so 'No business data is changed' is largely a restatement of structured data. The line about returning 'the same selected fields as the corresponding list tool' does add useful behavioral context about the response shape that annotations don't cover, but nothing is said about not-found behavior or permissions.
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?
Three short sentences, front-loaded with the core action and scope. Minimal waste; the trailing 'No business data is changed' is the only mildly redundant element given the annotations.
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 single-parameter read with no output schema, the description covers the action, the key, and the shape of the result by reference to the list tool. The main residual gap is error/not-found behavior and whether the returned field set is configurable.
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; it does identify the single parameter as a 'Givecloud ID', which is meaningful disambiguation. It stops short of describing the format (though the schema pattern covers that) or whether the ID is the internal numeric ID vs an external identifier.
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?
States a specific verb and resource ('Read one supporter') and scopes it to a single record via the Givecloud ID, which implicitly distinguishes it from givecloud_list_supporters. It doesn't name the sibling explicitly, but the singular-vs-list contrast is unmistakable.
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?
'Read one supporter by its Givecloud ID' implies the lookup-by-primary-key use case, and the reference to 'the corresponding list tool' hints at the alternative. However, it never states when to prefer this over givecloud_list_supporters or what to do when you only have an email/name rather than an ID.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
givecloud_list_contributionsList contributionsBRead-onlyInspect
Read one page of contribution amounts, status, supporter identity and selected line items. Payment instruments, addresses, custom fields, comments and sponsored-child data are omitted. Date filters are exclusive and UTC. GET /admin/api/v3/contributions.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| sort | No | ||
| onetime | No | ||
| recurring | No | ||
| occurred_after | No | ||
| occurred_before | No | ||
| initial_recurring | No | ||
| one_time_and_initial_recurring | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile needs no restating. The description adds genuine behavior beyond that: pagination scope ('one page'), the exact set of returned fields, the fields deliberately omitted, and that date filters are exclusive and UTC. It stops short of return shape, page size, or ordering defaults.
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?
Three tight sentences, front-loaded with what is returned, then what is omitted, then filter semantics. The trailing raw endpoint 'GET /admin/api/v3/contributions' is low-value for an agent but costs little.
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?
With no output schema the description usefully enumerates returned and omitted fields, which is the right compensation. However, with 8 parameters at 0% schema coverage, four filter flags remain unexplained, and page size / default sort behavior is unstated — meaningful gaps for a paginated list tool.
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% across 8 parameters, so the description must carry the load and largely does not. Only the date boundary semantics are clarified ('Date filters are exclusive and UTC'); sort, page, onetime/recurring, and the ambiguous initial_recurring vs one_time_and_initial_recurring flags are left entirely undocumented in both schema and description.
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 specific verb and resource ('Read one page of contribution amounts, status, supporter identity and selected line items') and enumerates what the record contains and omits. It implicitly separates itself from givecloud_get_contribution (singular) and givecloud_list_recurring_profiles via 'one page' and the contribution-specific field list, but never names a sibling explicitly.
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?
Usage is only implied: 'Read one page' suggests a paginated list endpoint and the exclusion sentence hints at when to look elsewhere for payment instruments or addresses. There is no explicit statement of when to pick this over givecloud_get_contribution for a single record, nor any prerequisite or rate-limit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
givecloud_list_postsList feed postsARead-onlyInspect
Read one page of posts in a known feed. Obtain the feed ID in Givecloud; this connector does not enumerate feeds. name is partial. GET /admin/api/v2/feeds/{feedId}/posts.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| page | No | ||
| feed_id | Yes | ||
| include | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/non-destructive/openWorld, so the description's added value is the pagination model ('one page'), the absence of a feed-enumeration capability, and that name matching is partial — all behaviors not in the annotations. It does not say what a page contains or how to detect more pages.
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?
Three terse clauses front-load the scope, then the precondition, then the endpoint. No filler; every phrase contributes information an agent cannot get from the schema or annotations.
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 simple read-only paginated list with a small flat schema, the description establishes the retrieval scope, the pagination unit, the prerequisite ID source, and the filter semantics. Return values are not needed since no output schema exists but 'posts' is unambiguous here.
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?
With 0% schema description coverage the description must compensate: it clarifies that name is a partial match and that feed_id must come from Givecloud externally. But page and especially include (enum: categories, postType) receive no explanation at all, leaving half the parameters opaque.
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?
States a specific verb and resource with scope: 'Read one page of posts in a known feed.' The paginated-list framing clearly separates it from the single-item sibling givecloud_get_post, though it never names that sibling explicitly.
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?
'Obtain the feed ID in Givecloud; this connector does not enumerate feeds' is a genuine precondition plus an explicit exclusion, telling the agent when this tool is unusable. It stops short of routing to a sibling for single-post retrieval or feed discovery.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
givecloud_list_productsSearch fundraising productsARead-onlyInspect
Read one page of products, prices, goals and selected variants. code is exact; name is partial. GET /admin/api/v2/products.
| Name | Required | Description | Default |
|---|---|---|---|
| code | No | ||
| name | No | ||
| page | No | ||
| include | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false, openWorldHint=true). The description adds genuinely new context: results are paginated ('one page'), the payload includes prices, goals and variants, and it cites the underlying endpoint GET /admin/api/v2/products. It still omits page-size and total-count behavior.
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?
Three short sentences, no filler, with the scope statement front-loaded and the matching semantics and endpoint following. Every clause carries information.
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?
With no output schema, the description takes on the job of sketching the return shape ('products, prices, goals and selected variants') and it does so. It is nearly complete for a read-only list tool; only pagination mechanics (page size, ordering, how to know there are more pages) are missing.
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% across 4 parameters, so the description must carry the load. It usefully explains that code matches exactly while name matches partially, and 'one page' / 'selected variants' gesture at page and include. However, the include enum values (categories, variants), the default page size, and the page parameter's range are never spelled out.
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 gives a specific verb and scope ('Read one page of products, prices, goals and selected variants'), which implicitly separates it from the single-record givecloud_get_product sibling. It never names that alternative explicitly, so the differentiation is inferable rather than stated.
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?
Usage is only implied by the paginated-list framing and the matching hints ('code is exact; name is partial'). There is no explicit statement of when to prefer this over givecloud_get_product, nor when neither filter should be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
givecloud_list_recurring_profilesList recurring donation profilesARead-onlyInspect
Read one page of recurring donation amounts, schedules, status and supporter identity. Payment instruments and addresses are omitted. GET /admin/api/v3/recurring-profiles.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| sort | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds genuinely new behavioral context: results are a paged projection and sensitive sub-objects (payment instruments, addresses) are excluded from the response, which the agent would otherwise assume came back.
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 front-loaded sentences that lead with the payload scope and omissions; the endpoint reference is a minor redundancy but harmless. No wasted prose.
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?
With no output schema, the field enumeration and omission note usefully characterize the return value. However, for a paged list tool, the absence of any guidance on page numbering, sort behavior, or how to detect the last page leaves a real operational gap.
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 carries the full burden, yet it says nothing about the page parameter's numbering/default or the available sort values (id, started_on and their descending forms). "One page" is the only hint, leaving both parameters effectively undocumented for the agent.
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?
Specific verb+resource ("Read one page of recurring donation amounts, schedules, status and supporter identity") that names the returned field set and explicitly notes what is omitted (payment instruments, addresses). The plural "list" form is clearly distinguishable from the sibling givecloud_get_recurring_profile.
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?
"Read one page" implies pagination and thus repeat calls, but the description never states when to use this list tool versus givecloud_get_recurring_profile, nor any prerequisites or filtering context. Usage is inferable from the plural name but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
givecloud_list_supportersSearch supportersARead-onlyInspect
Read one page of supporters, with name/email and consent status. Addresses, payment details, custom fields and groups are omitted. Name and email are partial filters. GET /admin/api/v2/supporters.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| page | No | ||
| No | |||
| recurring_profile | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, openWorld, non-destructive), and the description adds genuinely useful behavior: results are paginated one page at a time, and addresses, payment details, custom fields and groups are deliberately excluded. It also discloses that name/email matching is partial rather than exact. It stops short of stating page size or total-count behavior.
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?
Four short sentences, front-loaded with what you get and what is excluded, then the filter semantics. The trailing 'GET /admin/api/v2/supporters' is marginally redundant but cheap.
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 read-only list tool with no output schema, the description covers returned fields, known omissions, and filter matching behavior – enough to call it correctly. Missing pagination size and what happens with recurring_profile filters are minor gaps.
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 coverage is 0%, so the description must carry all parameter meaning; it explains that name and email are partial (substring) filters, which is real added value the schema lacks. However, 'page' and the recurring_profile enum (active/suspended/cancelled/expired) receive no explanation at all, leaving half the parameters undocumented.
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?
States a specific verb and scope – 'read one page of supporters' – and names the fields returned (name/email, consent status). This implicitly separates it from the singular givecloud_get_supporter, though no sibling is named explicitly.
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?
'Read one page' and the field-omission note imply this is the lightweight browse path and that get_supporter should be used for full records, but the description never says so outright. No guidance on when to prefer list_recurring_profiles or list_contributions over this.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
10 tool updates
- First observed
givecloud_get_contribution - First observed
givecloud_get_post - First observed
givecloud_get_product - First observed
givecloud_get_recurring_profile - First observed
givecloud_get_supporter - First observed
givecloud_list_contributions - First observed
givecloud_list_posts - First observed
givecloud_list_products - First observed
givecloud_list_recurring_profiles - First observed
givecloud_list_supporters
Related MCP Connectors
Read campaigns, donations, profiles and supporters; record offline donations and upsert users.
Read Qgiv (Bloomerang Fundraising) donations, refunds, recurring gifts, P2P registrations, events.
Read Funraise supporters, donations, recurring gifts and forms; add notes, tasks and supporters.
Read GivingFuel forms, donations, transactions, recurring gifts and donors; manage coupons.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables to interact with Funraise nonprofit fundraising platform, allowing read and write access to donor, donation, subscription, campaign site, household, and interaction data.MIT
- AlicenseNot gradedqualityBmaintenanceEnables reading customer, subscription, transaction, and adjustment data from the Paddle Billing API to inspect billing and recurring-revenue state.16 npmMIT
- AlicenseAqualityBmaintenanceEnables read-only access to Klaviyo marketing data, including campaigns, flows, segments, metrics, reports, and customer profiles, across multiple Klaviyo accounts.2420 npmMIT
- AlicenseNot gradedqualityBmaintenanceRead-only access to Stripe data including customers, charges, subscriptions, balance, and invoices.195 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.