# Qgiv MCP

> Qgiv MCP Server connects your AI agent directly to your nonprofit fundraising backend. Use it to manage donation forms, update custom fields, set suggested giving amounts, and run financial reports—all without logging into the Qgiv dashboard. It handles everything from cloning successful campaigns to pulling transaction histories.

## Overview
- **Category:** payment-processing
- **Price:** Free
- **Tags:** donation-forms, fundraising-tools, custom-fields, nonprofit-management, form-cloning

## Description

**Qgiv MCP Server: Your Nonprofit's Backend, Controlled by AI.**

Forget logging into the Qgiv dashboard just to change a form field or pull a statement. This server connects your AI agent directly to your nonprofit's fundraising backend. You manage everything—from designing new donation forms to pulling full financial audit trails—using natural conversation with your agent. It handles running campaigns, updating custom data points, and tracking pledges without you ever needing to touch the web interface.

**Building and Tuning Your Donation Forms**

You control every piece of copy and structure on your donor pages. You can start a brand-new campaign instantly by using `clone_form` to duplicate an existing template. To collect specific information, you'll use tools like `list_custom_fields` and then `create_custom_field`, letting you gather details such as 'How did you hear about us?' or other unique donor data. If a form needs specialized text—like boilerplate language for the donation page—you can retrieve it with `get_form_wording` or modify it using `update_form_wording`. 

For suggested giving, your agent manages custom amounts; you can use `list_custom_amounts` to see what's available and then set up new tiers or adjust existing ones via `create_custom_amount` or `update_custom_amount`, ensuring donors always see relevant options. You also define specific dedication rules by using `list_dedication_types` and `create_dedication_type`, making sure you track funds dedicated 'In memory of' or 'In honor of.' The system supports multiple types of fund restrictions, letting you designate money for specific causes like a 'Water Relief Fund,' which you manage with tools like `list_restrictions` and `create_restriction`. When you need to modify these elements—like changing the name on an existing restriction—you'll use `update_restriction`.

**Launching Campaigns and Events**

You can build out entire campaigns using specialized assets. To create a new point-of-sale or informational kiosk, your agent runs `create_kiosk`, building out the setup from scratch. For larger fundraising efforts, you can list all defined events with `list_events` and even update their details—like dates or ticket prices—using `update_event`. You establish specific donation goals by setting up pledges using `create_pledge`, and you manage your donor base by listing active and paused recurring profiles via `list_recurring_profiles`.

**Financial Oversight and Auditing**

The server gives you full control over financial reporting. To track every dollar that moves, you retrieve the latest financial statement with `get_latest_statement`, or you can pull detailed transaction logs for specific timeframes using `get_transactions_by_dates` or narrow down results to everything after a certain ID with `get_transactions_after`. You get full visibility into refunds by listing all records using `get_refunds_by_dates` or pulling details on the most recent payments using `get_last_transactions`. Furthermore, you can set up data mapping for third-party accounting tools using `list_report_mappings`, and then retrieve specific report settings with `get_report_mapping`.

**System Configuration and Data Retrieval**

Your agent handles the heavy lifting of account management. You access core organizational rules through `get_account_settings` or make changes by calling `update_account_settings`. If you need to know what's currently configured for a widget, kiosk, or specific form section, you can retrieve those details using tools like `list_widgets`, `get_widget`, or checking the current settings with `get_kiosk`. For managing complex data relationships, your agent lets you list and get all recurring profiles (`list_recurring_profiles` / `get_recurring_profile`) and handle specific payments, allowing you to check details on a single donation pledge via `get_pledge`, or review the history of refunds with `get_refunds`. You'll also find tools to manage the physical assets like listing all configured kiosks (`list_kiosks`), and modifying any structural element using `update_kiosk`.

## Tools

### clone_form
Duplicates an existing donation form template to start a new campaign.

### create_custom_amount
Sets up suggested donation amounts for donors (e.g., $25, $50).

### create_custom_field
Adds custom text fields to forms, gathering specific donor information.

### create_dedication_field
Creates new options for donors to dedicate funds (e.g., 'In memory of').

### create_dedication_type
Defines the types of dedications available on forms.

### create_kiosk
Builds a new point-of-sale or informational kiosk setup.

### create_pledge
Establishes a specific donation pledge goal or commitment amount.

### create_report_mapping
Sets up mappings to track data for third-party reporting tools.

### create_restriction
Defines a fund restriction or designation (e.g., 'Water Relief Fund').

### get_account_settings
Retrieves the current organization and form-level system settings.

### get_custom_amount
Gets details for one specific custom suggested donation amount by its ID.

### get_custom_field
Retrieves the details and current status of a single custom field on forms.

### get_dedication_field
Gets information about a specific dedication field by its ID.

### get_dedication_type
Retrieves details for a specific type of dedication (e.g., 'In Honor Of').

### get_event
Gets information about a single defined event.

### get_form_wording
Retrieves custom text wording used on organization forms.

### get_kiosk
Gets the current settings and navigation details for a specific kiosk.

### get_last_refunds
Retrieves the most recent group of processed refunds by date.

### get_last_registrations
Gets the last N records for peer-to-peer registrations.

### get_last_transactions
Retrieves the most recent group of financial transactions (payments, credits).

### get_latest_statement
Gets the latest official financial statement or payout summary.

### get_pledge
Retrieves details for a single, specific donation pledge by ID.

### get_recurring_profile
Gets information about one recurring donor profile by its ID.

### get_refund
Retrieves details for a single, specific refund transaction by ID.

### get_refunds_after
Gets refunds that occurred after a specified Refund ID.

### get_refunds_by_dates
Retrieves all refund records within a specified date range.

### get_registration
Gets details for one specific peer-to-peer registration by ID.

### get_registrations_by_dates
Retrieves all P2P registrations within a specified date range.

### get_report_mapping
Gets the details of one specific report mapping for integrations.

### get_restriction
Retrieves information about a single fund restriction or designation by ID.

### get_statement
Gets the details of one specific financial statement by its ID.

### get_transactions_after
Retrieves all transactions that occurred after a specified Transaction ID.

### get_transactions_by_dates
Gets all transaction records within a defined date range.

### get_widget
Retrieves details for one specific form widget by ID.

### list_custom_amounts
Lists all custom suggested donation amounts currently configured on your account.

### list_custom_fields
Shows a list of every custom field set up across your forms.

### list_dedication_fields
Lists all existing custom dedication fields.

### list_dedication_types
Shows available dedication types, like 'In Honor Of'.

### list_events
Lists all defined custom events and associated ticket packages.

### list_kiosks
Shows a list of configured kiosk settings and navigation menus.

### list_pledges
Retrieves a comprehensive list of all defined donation pledges.

### list_recurring_profiles_by_status
Filters and lists recurring donation profiles based on their current status (active, paused).

### list_recurring_profiles
Lists every active and inactive recurring donor profile.

### list_report_mappings
Shows all report mappings needed for third-party data integration.

### list_restrictions
Lists every fund restriction or designation currently in use (e.g., 'Scholarship Fund').

### list_statements
Retrieves a list of all available financial statements and payout summaries.

### list_widgets
Lists all custom widgets that can be added to your donation forms.

### update_account_settings
Modifies core organization and form-level system settings.

### update_custom_amount
Changes the value or description of an existing custom suggested donation amount.

### update_custom_field
Edits the label, type, and rules for a specific custom field on forms.

### update_dedication_field
Modifies the details of an existing custom dedication field.

### update_dedication_type
Changes the text or rules for a specific type of dedication.

### update_event
Updates details like dates, descriptions, or ticket prices for an event.

### update_form_wording
Changes the boilerplate text used on your organization's main donation forms.

### update_kiosk
Makes structural changes to a specific kiosk setup or navigation menu.

### update_pledge
Modifies the amount, due date, or status of an existing pledge commitment.

### update_report_mapping
Adjusts how data is mapped for a third-party report connection.

### update_restriction
Changes the rules, name, or status of an existing fund restriction.

## Prompt Examples

**Prompt:** 
```
Show me our current organization and form-level settings.
```

**Response:** 
```
I have retrieved your account settings using `get_account_settings`. Your organization is configured with standard receipting enabled, and default form-level settings are active. Would you like to update any of these settings?
```

**Prompt:** 
```
List all the custom suggested donation amounts configured on our account.
```

**Response:** 
```
I've fetched the custom suggested donation amounts using `list_custom_amounts`. You currently have four active tiers: $10, $25, $50, and $100. Would you like to modify any of these or create a new suggested amount?
```

**Prompt:** 
```
Get the details for the custom field with ID 'cf_98765'.
```

**Response:** 
```
Using `get_custom_field`, I retrieved the details for field 'cf_98765'. It is a text field labeled 'How did you hear about us?' and is currently set as optional on your main donation form.
```

## Capabilities

### Control donation form structure
Use tools like `clone_form`, `create_custom_field`, and `list_dedication_types` to build, modify, and retrieve all components of your fundraising forms.

### Build and deploy campaigns
Create new campaign assets by generating kiosks (`create_kiosk`) or setting up specific events that track pledges across multiple donation methods.

### Audit historical financial data
Retrieve transaction logs, refund details, and the latest financial statement using tools like `get_last_transactions` and `get_latest_statement`.

### Configure pledge tracking and fund limitations
Manage recurring donation profiles (`list_recurring_profiles`) and set up specific restrictions or designations for received funds (e.g., 'Building Fund').

### Adjust core organizational settings
Access and update organization-level configurations, such as general account settings or form wording, using `get_account_settings`.

## Use Cases

### Launching an annual giving campaign
The manager needs a new form that looks exactly like last year's successful Giving Day page. Instead of recreating it, the agent uses `clone_form` on the old template. Then, they call `create_custom_amount` to adjust suggested tiers for the current fiscal year. Done in minutes.

### Investigating a funding gap
The CFO needs to reconcile all funds designated specifically for scholarships last quarter. They use `list_restrictions` to confirm the fund name, then call `get_transactions_by_dates` and filter by that restriction ID to get a clear accounting of money received.

### Improving donor data capture
The operations team realizes they never know where their donors heard about the charity. They use `list_custom_fields` to see what exists, then call `create_custom_field` to add a mandatory text box labeled 'Source' to all active forms.

### Updating core organizational rules
The board changes the required language for donor receipts. Instead of navigating deep settings menus, the administrator asks their agent to run `get_account_settings` first, then executes `update_form_wording` with the new legal text.

## Benefits

- Launch campaigns faster. Instead of manually rebuilding a form, use `clone_form` to duplicate successful templates instantly. This saves setup time for seasonal or emergency drives.
- Audit payments easily. Need to know what happened last month? Use `get_transactions_by_dates` or `get_last_refunds` to pull structured data on all payments and returns in a single request.
- Customize the donor experience. You can use `list_custom_fields` and then `create_custom_field` to add specific tracking points—like professional affiliations or source of referral—that your organization needs to track.
- Maintain consistency across forms. Use `get_account_settings` to check global rules, or `update_form_wording` if the board changes the required language for the donation page.
- Manage pledges and funds precisely. You can list all pledge types with `list_pledges`, then use `create_restriction` to ensure incoming money is designated correctly for a specific cause.

## How It Works

The bottom line is: You talk to your AI client, and it handles all the API calls to Qgiv for you.

1. Subscribe to this server and enter your Qgiv API Token.
2. Tell your AI agent what needs to be done (e.g., 'Get the last 30 days of transactions').
3. The agent runs the specific tool, retrieves the data or confirms the update, and gives you a plain summary.

## Frequently Asked Questions

**How do I use list_custom_amounts to check my existing donation tiers?**
Running `list_custom_amounts` pulls a full catalog of every suggested donation amount you have set up. You'll see the values and IDs, letting you know if you need to adjust anything using `update_custom_amount`.

**Can I use clone_form for seasonal giving campaigns?**
Yes. `clone_form` duplicates a working template instantly. This is perfect because it preserves all the necessary fields and settings from your most successful form, saving setup time.

**What do I need to know before calling get_latest_statement?**
This tool retrieves the latest financial summary for the organization. You typically run this when you need an immediate overview of funds received or paid out, but remember it's a snapshot and doesn't list every single transaction.

**How do I update the core dedication options using update_dedication_type?**
You call `update_dedication_type` when you need to change the text or rules for a specific way donors can dedicate funds. It's best practice to run `list_dedication_types` first to get the correct ID.

**Is there a way to track donations by date range using get_last_transactions?**
Yes, use `get_transactions_by_dates`. This tool allows you to specify a start and end date, giving you every single transaction record that occurred within those specific boundaries.

**If I need to set up a new physical donation station or menu, how do I use `create_kiosk` and `list_kiosks`?**
You manage these using the Kiosk tools. First, run `list_kiosks` to see all current settings and menus. If you need a new one, `create_kiosk` lets you build it out completely before testing.

**When I use `get_custom_field`, what information do I get about the field's validation rules?**
The tool retrieves specific metadata for that custom field. This includes its required status, data type (text, number), and any predefined validation logic attached to it.

**I need to track a payout from last week; should I use `get_refund` or check the general transaction history?**
Use `get_refund` when you have the specific Refund ID. This tool pulls detailed records about that single refund event, giving you payment confirmation data.

**How do I clone an existing donation form using the AI?**
You can use the `clone_form` tool. Provide the JSON payload containing the details of the form you wish to clone, and the agent will handle the cloning process for you.

**Can I view and update the custom suggested donation amounts on my forms?**
Yes. You can list all custom suggested amounts using `list_custom_amounts`, retrieve a specific one with `get_custom_amount`, or update an existing amount using `update_custom_amount`.

**How do I manage custom fields on my donation forms?**
You can list all custom fields using `list_custom_fields`, retrieve a specific field's details with `get_custom_field`, or create and update fields using `create_custom_field` and `update_custom_field`.