# GiveForms MCP MCP

> GiveForms connects your donation platform to any AI agent. It lets you pull detailed financial records, track donor giving history by email or name, and filter contributions for specific campaigns—all through natural conversation. Stop manually digging into dashboards; get instant visibility into your nonprofit's fundraising data.

## Overview
- **Category:** payment-processing
- **Price:** Free
- **Tags:** donation-forms, fundraising, donor-data, payment-collection, nonprofit

## Description

Managing a nonprofit's finances means juggling donor spreadsheets, campaign reports, and raw transaction logs. This MCP connects directly to your GiveForms account, letting your AI agent handle the heavy lifting of data retrieval. You can ask complex questions like, 'What did John Smith give last year for the annual gala?' or 'List all donations tied to Campaign ID 98765.' The system finds that information by searching across donation records and giving history without you ever leaving your primary workspace. It's a secure way to get real-time reports on who gave what, when they gave it, and which campaign it supported. This integration makes sure your AI agent has access to everything—from high-level organization metadata to the specific details of a single $5 gift. Connecting through Vinkius gives you one central point to manage all your fundraising reporting.

## Tools

### verify_api_connection
Checks and confirms that the connection between your AI client and GiveForms is active and working.

### find_donations_by_email
Searches the donation database specifically using a donor's email address.

### find_donations_by_name
Finds donation records by querying the system with a donor's full name.

### get_organization_info
Pulls high-level metadata for the organization to verify connectivity settings.

### get_donation_details
Retrieves all available metadata and specific details about a single contribution record.

### list_campaign_donations
Filters and lists donations that are specifically tied to a given campaign ID.

### list_all_donations
Generates a full list of every donation record recorded in the system.

### list_recent_donations
Gathers a list of the latest donation records submitted for quick review.

## Prompt Examples

**Prompt:** 
```
List all donations received this month.
```

**Response:** 
```
Retrieving donations... I found 15 donations for this month, including $100 from 'John Smith' and $25 from 'Jane Doe'. Would you like the full details for the largest contribution?
```

**Prompt:** 
```
Find all donations from donor 'alice@email.com'.
```

**Response:** 
```
Searching records... Alice Smith has made 3 donations totaling $150. Her most recent was $50 for the 'Winter Fundraiser'.
```

**Prompt:** 
```
Show me the 5 most recent donations for campaign '98765'.
```

**Response:** 
```
Fetching campaign donations... For campaign 98765, I found 5 recent contributions. All are processed successfully. Would you like to see the donor names?
```

## Capabilities

### Check donor records by email
Finds all donation activity associated with a specific donor's email address.

### Search for donors by name
Retrieves giving history for a person using only their full name.

### Get specific donation facts
Pulls up the detailed metadata and information for any single recorded contribution.

### See all donations in one list
Retrieves a complete listing of every donation record your organization has received.

### Filter by campaign ID
Limits the search to show only contributions linked to a specific fundraising effort or campaign.

### Review recent giving activity
Grabs a list of the most recently submitted donations for quick review.

## Use Cases

### Investigating a major gift from an unknown source
A donor calls and mentions giving money, but the staff can't immediately find it. Instead of panicking and calling finance, they ask their agent to run `find_donations_by_name` using the caller's name. The agent instantly retrieves the record, showing the date, amount, and campaign ID.

### Auditing year-end giving for compliance
The finance team needs a complete picture of all donations over $100 from the past quarter. They use `list_all_donations` to pull every record and ask their agent to filter that data, ensuring no large contributions are missed.

### Researching a specific fundraising initiative
The development lead needs to know the success of last month's 'Adopt-a-Park' campaign. They tell their agent to run `list_campaign_donations` with the campaign ID, immediately getting the count and total revenue for that single effort.

### Quickly checking donor activity during an event
During a major fundraising dinner, staff needs instant verification of whether a guest's gift was recorded. They use their agent to run `find_donations_by_email` on the attendee list, getting confirmation in seconds.

## Benefits

- Stop guessing. Use `find_donations_by_email` to instantly confirm a specific donor's giving history using just their email address, eliminating manual lookups.
- Track campaigns accurately. Instead of sifting through massive spreadsheets, call the tool that filters by campaign ID to get only the records for 'The Gala Fund'.
- Get full context on any gift. The `get_donation_details` function pulls all metadata you need for an audit or a thank-you letter, saving time.
- See everything at once. Running `list_all_donations` gives your agent the ability to pull comprehensive data sets without requiring multiple manual queries.
- Check connectivity first. Use `verify_api_connection` anytime you want to ensure that your AI client is properly linked before running critical reports.

## How It Works

The bottom line is that you ask questions in plain language; this MCP retrieves the structured data from GiveForms and hands it back to your AI client.

1. First, subscribe to this MCP through Vinkius and input your organization's GiveForms ID and API Key.
2. Next, tell your AI client exactly what data you need—for example, 'Show me all donations for the Winter Fundraiser.'
3. The agent runs the query against your donation database and gives you a clean summary of the results.

## Frequently Asked Questions

**How do I get an API Key for GiveForms?**
Log in to your GiveForms dashboard, navigate to Settings > Integrations, and look for the REST API section to find your Organization ID and API Key.

**Can I manually add donations via the agent?**
The current version of the GiveForms API is primarily designed for data retrieval and auditing. Creation tools may be added in future updates.

**How do I find a specific Campaign ID?**
The Campaign ID is the number found at the end of the URL when you view or edit a campaign within your GiveForms dashboard.

**Is the donation data returned in real-time?**
Yes, all data retrieved through this MCP server is fetched directly from the GiveForms REST API, providing you with the latest available donation records.

**What permissions are needed for `get_organization_info` to work correctly?**
It requires read-only scope across your main donation records. This ensures that your agent can access organizational metadata and view reports without any risk of making changes or modifying data.

**If I use `find_donations_by_email` and no record is found, what does the response show?**
The agent returns a clear failure message specifying that no records match the provided email. This immediate feedback lets you quickly correct your search criteria or verify the spelling of the address.

**When running `list_all_donations` for a large number of records, are there pagination limits?**
No, the MCP manages high-volume data using automated pagination. You'll receive results in manageable chunks, preventing timeouts and ensuring you get every single donation record.

**What does running the `verify_api_connection` tool confirm about my account setup?**
It confirms that your API keys and Organization ID are active, valid, and correctly configured for data access. This is the best way to verify connectivity before attempting any data retrieval tasks.