get_donations_recent
Calls GET /api/donations/recent as the signed-in person · REST reference
Recent completed gifts for the marketing site's homepage feed
PUBLIC — no authentication, and deliberately minimal: amount, a display name (or null for an anonymous gift), and a timestamp. No donation id, no Stripe reference, no raw metadata. Only ALLOCATED donations are returned (the terminal success state a completed Stripe webhook write leaves the record in), so a DISPUTED/REFUNDED/FAILED gift never appears. A FULLY_ANONYMOUS gift is dropped entirely — the donate form promises that choice never appears in any donation history, so it must not appear here either, even name-masked. Newest first. Donor identity on the remaining rows is masked by the record's own anonymity flag, fail-closed — an unselected or unrecognized value redacts the name.
Arguments
| Argument | Type | Description | |
|---|---|---|---|
limitquery | integer | Max rows. Defaults to 10, clamped to [1, 25]. |
Example call
A client sends this over the MCP session; Claude and other agents build it for you. The values are placeholders — the shape is real.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_donations_recent",
"arguments": {}
}
}Result
On success (HTTP 200) the tool returns one text item holding the API's JSON, pretty-printed.
Recent gifts, newest first.
{
"donations": [
{
"amount": 1,
"createdAt": "2026-01-15T12:00:00Z",
"currency": "string",
"donorName": "string"
}
]
}Fields
| Field | Type | Description |
|---|---|---|
donations | array of object | |
donations[].amount | integer | CENTS. |
donations[].createdAt | string (date-time) | |
donations[].currency | string | |
donations[].donorName | string | null | Null for an anonymous gift, or when the DAL never captured a name. |
When it fails
A failed call returns isError: true with the API's message as text.
What the model is shown
This is the tool exactly as the server lists it in tools/list. The description starts with the REST call it makes.
{
"name": "get_donations_recent",
"description": "GET /api/donations/recent — PUBLIC — no authentication, and deliberately minimal: amount, a display name (or null for an anonymous gift), and a timestamp. No donation id, no Stripe reference, no raw metadata. Only ALLOCATED donations are returned (the terminal success state a completed Stripe webhook write leaves the record in), so a DISPUTED/REFUNDED/FAILED gift never appears. A FULLY_ANONYMOUS gift is dropped entirely — the donate form promises that choice never appears in any donation history, so it must not appear here either, even name-masked. Newest first. Donor identity on the remaining rows is masked by the record's own anonymity flag, fail-closed — an unselected or unrecognized value redacts the name.",
"inputSchema": {
"type": "object",
"properties": {
"limit": {
"type": "string",
"description": "Max rows. Defaults to 10, clamped to [1, 25]."
}
}
},
"annotations": {
"readOnlyHint": true,
"openWorldHint": false
}
}