Read Qgiv (Bloomerang Fundraising) donations, refunds, recurring gifts, P2P registrations, events.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
The latest statement(s) for the organization or form, with summary totals (per-transaction rows left out). POST /reporting/statements/latest.
This tool takes no arguments.
The latest statement(s) for the organization or form, with summary totals (per-transaction rows left out). POST /reporting/statements/latest.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}One pledge option by id. POST /pledges/{id} (no package is sent, so nothing is changed).
| Argument | Type | Description |
|---|---|---|
| pledge_id* | integer | Numeric Qgiv id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"pledge_id"
],
"properties": {
"pledge_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Numeric Qgiv id.",
"exclusiveMinimum": 0
}
}
}One recurring donation schedule by id (read-only; schedules cannot be changed here). POST /reporting/recurring/{id}.
| Argument | Type | Description |
|---|---|---|
| recurring_id* | integer | Numeric Qgiv id. |
| include_contact | boolean | Include donor contact details (email, phone, postal address). Off by default: names, ids and amounts only. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"recurring_id"
],
"properties": {
"recurring_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Numeric Qgiv id.",
"exclusiveMinimum": 0
},
"include_contact": {
"type": "boolean",
"description": "Include donor contact details (email, phone, postal address). Off by default: names, ids and amounts only."
}
}
}One refund in full by id (read-only; this server never issues refunds). POST /reporting/refunds/{id}.
| Argument | Type | Description |
|---|---|---|
| refund_id* | integer | Numeric Qgiv id. |
| include_contact | boolean | Include donor contact details (email, phone, postal address). Off by default: names, ids and amounts only. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"refund_id"
],
"properties": {
"refund_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Numeric Qgiv id.",
"exclusiveMinimum": 0
},
"include_contact": {
"type": "boolean",
"description": "Include donor contact details (email, phone, postal address). Off by default: names, ids and amounts only."
}
}
}One peer-to-peer registration in full (purchase history, team, totals, child registrations). Contact details only with include_contact. POST /reporting/registrations/{id}.
| Argument | Type | Description |
|---|---|---|
| include_contact | boolean | Include donor contact details (email, phone, postal address). Off by default: names, ids and amounts only. |
| registration_id* | integer | Numeric Qgiv id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"registration_id"
],
"properties": {
"include_contact": {
"type": "boolean",
"description": "Include donor contact details (email, phone, postal address). Off by default: names, ids and amounts only."
},
"registration_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Numeric Qgiv id.",
"exclusiveMinimum": 0
}
}
}One report mapping by id. POST /reporting/mappings/{id}.
| Argument | Type | Description |
|---|---|---|
| mapping_id* | integer | Numeric Qgiv id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"mapping_id"
],
"properties": {
"mapping_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Numeric Qgiv id.",
"exclusiveMinimum": 0
}
}
}One statement by id with its transaction rows (first 100 shown; donor names only). POST /reporting/statements/{id}.
| Argument | Type | Description |
|---|---|---|
| statement_id* | integer | Numeric Qgiv id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"statement_id"
],
"properties": {
"statement_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Numeric Qgiv id.",
"exclusiveMinimum": 0
}
}
}One transaction in full: donation lines, fund/restriction, dedication, custom-field answers, event packages, registrations, refunds. Contact details only with include_contact; card data is reduced to the last four digits. POST /reporting/transactions/{id}.
| Argument | Type | Description |
|---|---|---|
| transaction_id* | integer | Numeric Qgiv id. |
| include_contact | boolean | Include donor contact details (email, phone, postal address). Off by default: names, ids and amounts only. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"transaction_id"
],
"properties": {
"transaction_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Numeric Qgiv id.",
"exclusiveMinimum": 0
},
"include_contact": {
"type": "boolean",
"description": "Include donor contact details (email, phone, postal address). Off by default: names, ids and amounts only."
}
}
}Custom (additional-question) fields configured on the form(s): id, reference, title, input type, required flags, display flags. POST /customFields/list.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Records to return (1-100, default 25). |
| offset | integer | Records to skip, for paging through a larger result (use next_offset from the previous reply). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Records to return (1-100, default 25)."
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 100000,
"minimum": 0,
"description": "Records to skip, for paging through a larger result (use next_offset from the previous reply)."
}
}
}Events (ticketed/auction events) on the forms the token covers: id, dates and the top-level settings. Set include_details for packages, questions and promo codes. Notification e-mail addresses are never returned. POST /events/list.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Events to return (1-50, default 20). |
| offset | integer | Records to skip, for paging through a larger result (use next_offset from the previous reply). |
| include_details | boolean | Include nested packages, fields and promo codes (large). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"default": 20,
"maximum": 50,
"minimum": 1,
"description": "Events to return (1-50, default 20)."
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 100000,
"minimum": 0,
"description": "Records to skip, for paging through a larger result (use next_offset from the previous reply)."
},
"include_details": {
"type": "boolean",
"description": "Include nested packages, fields and promo codes (large)."
}
}
}Pledge options configured on the form(s) (title, value, frequency, begin date, iterations, state), not donors' pledge records. POST /pledges/list.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Records to return (1-100, default 25). |
| offset | integer | Records to skip, for paging through a larger result (use next_offset from the previous reply). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Records to return (1-100, default 25)."
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 100000,
"minimum": 0,
"description": "Records to skip, for paging through a larger result (use next_offset from the previous reply)."
}
}
}The most recent refunds (read-only): id, original transaction, refund and settle dates, amount, payment type, last four digits, fund. POST /reporting/refunds/last/{limit}.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Records to return (1-100, default 25). |
| include_contact | boolean | Include donor contact details (email, phone, postal address). Off by default: names, ids and amounts only. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Records to return (1-100, default 25)."
},
"include_contact": {
"type": "boolean",
"description": "Include donor contact details (email, phone, postal address). Off by default: names, ids and amounts only."
}
}
}The most recent peer-to-peer (Hobnob) event registrations: id, category, registrant name, team, fundraising goal and amount raised. Contact details only with include_contact. POST /reporting/registrations/last/{limit}.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Records to return (1-100, default 25). |
| include_contact | boolean | Include donor contact details (email, phone, postal address). Off by default: names, ids and amounts only. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Records to return (1-100, default 25)."
},
"include_contact": {
"type": "boolean",
"description": "Include donor contact details (email, phone, postal address). Off by default: names, ids and amounts only."
}
}
}The most recent donations/transactions (newest first as Qgiv returns them): id, status, date, amount, fee, net, donor name and id, form, recurring link, payment type and last four card digits, fund. Donor contact details are left out unless include_contact is set; full card numbers are never returned. POST /reporting/transactions/last/{limit}.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Records to return (1-100, default 25). |
| include_contact | boolean | Include donor contact details (email, phone, postal address). Off by default: names, ids and amounts only. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Records to return (1-100, default 25)."
},
"include_contact": {
"type": "boolean",
"description": "Include donor contact details (email, phone, postal address). Off by default: names, ids and amounts only."
}
}
}Recurring donation schedules (read-only): id, start/end date, next billing date, frequency, amount, state, donor name and id, plus Qgiv's 12-month forecast. Filter by status active, paused, expired or deleted. Paged with offset/limit. POST /reporting/recurring/list or /reporting/recurring/{status}.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Records to return (1-100, default 25). |
| offset | integer | Records to skip, for paging through a larger result (use next_offset from the previous reply). |
| status | string | Only schedules in this state (default: all). |
| include_contact | boolean | Include donor contact details (email, phone, postal address). Off by default: names, ids and amounts only. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Records to return (1-100, default 25)."
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 100000,
"minimum": 0,
"description": "Records to skip, for paging through a larger result (use next_offset from the previous reply)."
},
"status": {
"enum": [
"active",
"paused",
"expired",
"deleted"
],
"type": "string",
"description": "Only schedules in this state (default: all)."
},
"include_contact": {
"type": "boolean",
"description": "Include donor contact details (email, phone, postal address). Off by default: names, ids and amounts only."
}
}
}Refunds between two dates (inclusive), at most 31 days per call, paged with offset/limit. POST /reporting/refunds/dates/{begin}:{end}.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Records to return (1-100, default 25). |
| offset | integer | Records to skip, for paging through a larger result (use next_offset from the previous reply). |
| end_date* | string | Last day (yyyy-mm-dd). |
| begin_date* | string | First day (yyyy-mm-dd). |
| include_contact | boolean | Include donor contact details (email, phone, postal address). Off by default: names, ids and amounts only. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"begin_date",
"end_date"
],
"properties": {
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Records to return (1-100, default 25)."
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 100000,
"minimum": 0,
"description": "Records to skip, for paging through a larger result (use next_offset from the previous reply)."
},
"end_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Last day (yyyy-mm-dd)."
},
"begin_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "First day (yyyy-mm-dd)."
},
"include_contact": {
"type": "boolean",
"description": "Include donor contact details (email, phone, postal address). Off by default: names, ids and amounts only."
}
}
}Peer-to-peer registrations between two dates (inclusive), at most 31 days per call, paged with offset/limit. POST /reporting/registrations/dates/{begin}:{end}.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Records to return (1-100, default 25). |
| offset | integer | Records to skip, for paging through a larger result (use next_offset from the previous reply). |
| end_date* | string | Last day (yyyy-mm-dd). |
| begin_date* | string | First day (yyyy-mm-dd). |
| include_contact | boolean | Include donor contact details (email, phone, postal address). Off by default: names, ids and amounts only. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"begin_date",
"end_date"
],
"properties": {
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Records to return (1-100, default 25)."
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 100000,
"minimum": 0,
"description": "Records to skip, for paging through a larger result (use next_offset from the previous reply)."
},
"end_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Last day (yyyy-mm-dd)."
},
"begin_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "First day (yyyy-mm-dd)."
},
"include_contact": {
"type": "boolean",
"description": "Include donor contact details (email, phone, postal address). Off by default: names, ids and amounts only."
}
}
}Report mappings (accounting export mappings) on the form(s): id, identifier, mapping data, export service, type. POST /reporting/mappings/list.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Records to return (1-100, default 25). |
| offset | integer | Records to skip, for paging through a larger result (use next_offset from the previous reply). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Records to return (1-100, default 25)."
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 100000,
"minimum": 0,
"description": "Records to skip, for paging through a larger result (use next_offset from the previous reply)."
}
}
}Monthly fee/payout statements: id, date, amount contributed, fees, refunded, debited, credited and the summary totals (without the per-transaction rows; use qgiv_get_statement for those). Paged with offset/limit. POST /reporting/statements/list.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Records to return (1-100, default 25). |
| offset | integer | Records to skip, for paging through a larger result (use next_offset from the previous reply). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Records to return (1-100, default 25)."
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 100000,
"minimum": 0,
"description": "Records to skip, for paging through a larger result (use next_offset from the previous reply)."
}
}
}Transactions with an id greater than the given one, sorted by id ascending and paged with limit; next_after_id is the cursor for the next call (use it as after_id). Handy for syncing new gifts. POST /reporting/transactions/after/{id}.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Records to return (1-100, default 25). |
| after_id* | integer | Return transactions with an id greater than this. |
| include_contact | boolean | Include donor contact details (email, phone, postal address). Off by default: names, ids and amounts only. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"after_id"
],
"properties": {
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Records to return (1-100, default 25)."
},
"after_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Return transactions with an id greater than this.",
"exclusiveMinimum": 0
},
"include_contact": {
"type": "boolean",
"description": "Include donor contact details (email, phone, postal address). Off by default: names, ids and amounts only."
}
}
}Transactions between two dates (inclusive), at most 31 days per call, paged with offset/limit. Same fields as qgiv_list_recent_transactions. Qgiv has no server-side paging, so a busy range is fetched whole and sliced; use a shorter range if it is too large. POST /reporting/transactions/dates/{begin}:{end}.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Records to return (1-100, default 25). |
| offset | integer | Records to skip, for paging through a larger result (use next_offset from the previous reply). |
| end_date* | string | Last day (yyyy-mm-dd). |
| begin_date* | string | First day (yyyy-mm-dd). |
| include_contact | boolean | Include donor contact details (email, phone, postal address). Off by default: names, ids and amounts only. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"begin_date",
"end_date"
],
"properties": {
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Records to return (1-100, default 25)."
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 100000,
"minimum": 0,
"description": "Records to skip, for paging through a larger result (use next_offset from the previous reply)."
},
"end_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Last day (yyyy-mm-dd)."
},
"begin_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "First day (yyyy-mm-dd)."
},
"include_contact": {
"type": "boolean",
"description": "Include donor contact details (email, phone, postal address). Off by default: names, ids and amounts only."
}
}
}