# Kindful MCP

> Kindful MCP connects your AI agent directly to your nonprofit's fundraising data. Use this tool to query donor lists, track financial transactions, monitor campaign progress, and manage organizational settings—all without logging into the Kindful platform.

## Overview
- **Category:** data-management
- **Price:** Free
- **Tags:** donor-management, fundraising, crm, nonprofit, transaction-tracking

## Description

Need to know who gave how much money last quarter? This MCP lets you ask about your entire donor base using plain language. You can check contact records by group or location, pull detailed transaction histories using date filters, and list active campaigns to see goals versus amounts raised. It's like having a direct line into Kindful’s database through your AI client. If you use Vinkius, this MCP gives you instant access to these powerful donor tools alongside thousands of others.

It goes beyond simple lookups. You can even connect external IDs to existing records and check organization metadata or custom field setups. This means you don't just see the data; you understand how it all connects together within your nonprofit structure.

## Tools

### create_import
Initiates a data upload job into your nonprofit's system.

### get_campaigns
Retrieves a list of all current and past fundraising campaigns.

### get_custom_fields
Lists the specific custom fields configured for your organization.

### get_groups
Provides a list of defined donor groups within Kindful.

### get_import_stats
Retrieves statistics showing how many records were successfully imported or failed to import.

### get_import_status
Checks the current processing status of a submitted data import job.

### get_org_details
Pulls general metadata and configuration details about your specific nonprofit organization setup.

### link_contact
Connects an external record ID to a specific donor contact in Kindful.

### link_transaction
Associates an outside financial transaction record with a known donation.

### query_contacts
Searches and returns donor contact details based on provided search criteria.

### query_transactions
Finds specific financial transactions using filters for date, campaign, or amount.

### verify_webhook
Confirms that an external system is correctly sending data updates to Kindful.

## Prompt Examples

**Prompt:** 
```
List all active fundraising campaigns and show their current progress.
```

**Response:** 
```
I've retrieved 3 active campaigns: 'Annual Gala' (Raised: $45,000 / Goal: $50,000), 'Clean Water Project' (Raised: $12,000 / Goal: $20,000), and 'Youth Education' (Raised: $5,500 / Goal: $10,000).
```

**Prompt:** 
```
Search for Kindful contacts who have an email address and belong to group ID 789.
```

**Response:** 
```
Searching... I found 12 contacts in Group 789 with valid email addresses. Would you like me to list their names and primary emails?
```

**Prompt:** 
```
Show me all transactions recorded after 2024/01/01 for campaign ID 123.
```

**Response:** 
```
I found 8 transactions for campaign 123 since January 1st, 2024, totaling $2,450. The largest single donation was $1,000 from donor ID 4567.
```

## Capabilities

### Find and Filter Donor Contacts
Query donor contacts by specific groups, location criteria, or email status.

### Review Financial Transactions
Track donation records and financial details using precise date ranges and campaign identifiers.

### Get Campaign Performance Data
List all running fundraising campaigns to check against stated goals and current amounts raised.

### Manage Organizational Settings
Retrieve core organizational details, custom fields, or group configurations for your nonprofit setup.

## Use Cases

### Checking Compliance Before an Audit
A Data Manager needs proof that all records imported last month are accounted for. They ask their agent to 'Check the import stats and status.' The MCP runs `get_import_stats` and `get_import_status`, confirming every record was processed correctly, avoiding a week of manual spreadsheet cross-referencing.

### Targeting a Specific Donor Segment
A Development Director needs to create a list for an exclusive dinner. Instead of running complex reports, they ask the agent to 'List donors who gave over $500 and are in the 'Corporate' group.' The `query_contacts` tool filters this instantly.

### Reconciling Funds from a Partner
The nonprofit receives quarterly reports from a partner. To verify totals, the admin asks the agent to 'Show all transactions for Campaign ID 99 since March 1st.' Using `query_transactions` gives them an immediate, verifiable list of funds.

### Updating Legacy Data Fields
The team decides they need a new field—like 'Preferred Donor Type'—on their donor profiles. Instead of contacting IT, the admin uses `get_custom_fields` to see what fields are available and confirms which ones need setup.

## Benefits

- Find donors by criteria: Instead of writing complex SQL queries, you simply ask your agent to 'Show me all contacts in Group 5 who live in California.' The `query_contacts` tool handles the rest. This saves hours of manual database work.
- Track donations instantly: Need a report on giving since Q1? Using `query_transactions`, you specify a date range, and your agent returns total amounts and transaction counts immediately. You never have to manually filter a spreadsheet again.
- Understand data linkage: When integrating other tools, the `link_contact` or `link_transaction` tools ensure external IDs match up with Kindful records. This keeps your entire donor profile accurate without manual cleanup.
- Monitor campaigns on demand: Don't wait for monthly reports. Ask to see all active fundraising efforts and their progress using `get_campaigns`. You get real-time insight into goals versus funds raised, right in the chat window.
- Verify setup details: Quickly check organization structure or custom fields by calling `get_org_details` or `get_custom_fields`. This is perfect for development directors who need to confirm data availability before a major campaign launch.

## How It Works

The bottom line is you talk to your AI client like you're talking to an employee who has instant access to your nonprofit's core database.

1. Subscribe to this MCP and enter your Kindful API Token along with the subdomain.
2. Select this connection in any compatible AI client, like Cursor or Windsurf.
3. Ask your agent a question—for example, 'Show me all transactions after January 1st for Campaign ID 123.' — and it pulls the answer directly from Kindful.

## Frequently Asked Questions

**How do I use Kindful MCP to list active campaigns?**
To see all current fundraising efforts, just ask your agent to run `get_campaigns`. It will pull a list detailing the campaign names and their overall progress against goals.

**What is the difference between query_contacts and get_groups in Kindful MCP?**
`get_groups` lists all defined groups (like 'Alumni' or 'Corporate'). `query_contacts`, however, lets you search for specific donors who belong to those groups or meet other criteria.

**Can I track a donation if I don't have the donor ID?**
Yes. You can use `query_transactions` and filter by campaign ID or date range, allowing you to find the transaction even if the primary contact details aren't immediately known.

**Does Kindful MCP help me with data imports?**
Yes. You can use `create_import` to start an upload job. After submitting the file, you check its progress using `get_import_status` and verify results with `get_import_stats`.

**How do I know if my external data links correctly?**
Use the `link_contact` or `link_transaction` tools. You provide the external ID, and the MCP confirms that the record successfully links to an existing Kindful profile.