# Little Green Light MCP

> Little Green Light connects your AI agent directly to your donor database. It lets you query and update constituent profiles, record new gifts, and audit active fundraising appeals using simple conversation. You don't need to build a custom dashboard; you just ask for the data.

## Overview
- **Category:** customer-relationship-management
- **Price:** Free
- **Tags:** donor-management, fundraising, constituent-profiles, gift-tracking, nonprofit-crm

## Description

**Little Green Light connects your AI agent directly to your donor database.** Forget logging into clunky dashboards or running reports manually every time you need data. Your agent handles the heavy lifting; you just ask for what you want, and it gets it done using natural language. This server lets you manage everything from finding a donor's profile to recording a new gift in seconds.

**People Management:** You can check out your entire roster of supporters using `list_donor_constituents`, which pulls an exhaustive list of every registered person or organization in the system. If you know who you're looking for, calling `get_donor_details` retrieves all specific information attached to a known constituent ID. Need to track someone who just showed up? Use `create_new_donor` to build out an entirely new profile using names or organization details.

**Transaction Tracking:** When it comes to money, your agent has full visibility into the gift lifecycle. You can generate a list of multiple recorded donations and gifts by calling `list_donation_gifts`. If you need the deep dive on just one specific payment, `get_gift_details` pulls up every record about that single transaction. To process incoming funds, you use `record_new_donation`, which requires you to give it a donor ID, the amount, and the date of the gift. This links new money right into the system.

**System Auditing & Oversight:** The server doesn't just track donors; it manages your whole fundraising structure. You can check all active appeals with `list_fundraising_appeals` or look at general efforts by calling `list_fundraising_campaigns`. Need to see what funds the organization has available for accounting? Use `list_organizational_funds` to get a full list of those accounts. If you need to know about all the money being tracked, this system keeps records for it.

Basically, your agent lets you query and update donor profiles, record gifts, and audit every single fundraising appeal using nothing but plain conversation. You don't have to build a custom dashboard; you just speak up and get the data.

## Tools

### list_fundraising_appeals
Shows a list of all active fundraising appeals currently running.

### list_fundraising_campaigns
Lists all general fundraising campaigns managed by the organization.

### list_donor_constituents
Retrieves an exhaustive list of all registered donor profiles in the database.

### create_new_donor
Creates an entirely new donor profile in the system using provided names or organization names.

### record_new_donation
Processes and records a new donation gift, requiring a donor ID, amount, and date.

### list_organizational_funds
Provides a list of funds available to the organization for financial tracking.

### get_donor_details
Retrieves all specific information for a known constituent ID.

### get_gift_details
Pulls detailed records about one specific gift transaction.

### list_donation_gifts
Generates a list of multiple recorded gifts and donations within the system.

## Prompt Examples

**Prompt:** 
```
List all constituents in my Little Green Light account.
```

**Response:** 
```
I've retrieved your constituents. You have 15 registered profiles, including 'John Smith', 'Alice Doe', and 'The Acme Foundation'. Would you like to see details for any of them?
```

**Prompt:** 
```
Record a new donation of $100.00 for constituent ID '12345' dated today.
```

**Response:** 
```
Successfully recorded the gift of $100.00 for constituent 12345. The gift has been added to your records with today's date.
```

**Prompt:** 
```
Show active fundraising appeals.
```

**Response:** 
```
I found 3 active appeals: 'Winter Mailing 2024 (ID: 987)', 'Annual Gala (ID: 654)', and 'Building Fund (ID: 321)'.
```

## Capabilities

### Find Donor Profiles
Retrieve full records for existing donors or list every constituent in your database.

### Record Donations
Submit new donation amounts and gift dates, linking the money to a specific donor ID.

### Manage Appeals and Funds
List all ongoing fundraising appeals, campaigns, or available organizational funds for auditing.

### Create New Records
Add entirely new donor profiles or organization records to the system using key details like name.

## Use Cases

### Checking for Duplicate Records
A developer needs to know if John Smith already exists before creating his profile. They ask the agent: 'First, run `list_donor_constituents` and check for John Smith.' The agent runs the tool and immediately reports back whether the ID is present, stopping redundant work before it starts.

### Processing a Walk-In Gift
A donor gives $500 cash at an event. Instead of finding a form, the admin just says: 'Record a donation of $500 for constituent ID 9876.' The agent uses `record_new_donation`, ensuring the gift is logged instantly with today's date.

### Preparing for an Annual Report
The manager needs to report on all active money-making efforts. They ask the agent to run both `list_fundraising_appeals` and `list_fundraising_campaigns`. The agent pulls both lists, giving a complete picture of where the organization's focus is right now.

### Investigating Missing Data
A board member questions why certain funds aren't being used. They prompt: 'Show all available organizational funds.' The agent runs `list_organizational_funds` and immediately provides the list, letting the team know what financial structures exist.

## Benefits

- Stop manually compiling donor lists. Use `list_donor_constituents` to instantly get a full roster of donors, saving time compared to exporting and cleaning data in Excel.
- Never lose track of a gift again. Call `record_new_donation` with just the constituent ID, amount, and date. The system handles all the complex ledger updates.
- Quickly audit your efforts by listing appeals. Use `list_fundraising_appeals` to see exactly which campaigns are currently active, ensuring your communications hit the right target.
- Build profiles efficiently. Need a new donor? Just call `create_new_donor`. It handles the initial record creation so you don't have to manually input basic contact info.
- Understand the money flow. Use `list_organizational_funds` and `list_fundraising_campaigns` together to map out your entire financial logic, something that usually takes a finance meeting.

## How It Works

The bottom line is, your AI client handles all the API calls; you just talk to it.

1. First, subscribe to the Little Green Light server and provide your API Key (Bearer Token).
2. Next, tell your AI client what you need. For example: 'List all donors who gave over $500 last year.'
3. The agent runs the necessary tools—like `list_donor_constituents` or `list_donation_gifts`—and gives you a clean answer in chat.

## Frequently Asked Questions

**How do I check if a donor exists using list_donor_constituents?**
You ask your agent to run `list_donor_constituents` first. This gives you the master list of IDs and names, so you know exactly which constituent ID to use when recording anything.

**Can I record a donation without knowing the donor's name?**
Yes, as long as you have their existing constituent ID. The `record_new_donation` tool requires the `constituent_id`, the amount, and the date. Name isn't strictly necessary for the transaction itself.

**What if I need to find out how much money was raised this year?**
You should run a combination of tools: use `list_fundraising_campaigns` first to narrow down the scope, then check `list_donation_gifts` for recent activity against those campaigns.

**Is getting gift details the same as listing all donations?**
No. `get_gift_details` pulls a deep dive into one specific transaction using an ID. `list_donation_gifts`, however, gives you a summary list of many recorded gifts at once.

**What happens if I need to update a constituent's address after running `get_donor_details`?**
You must use the dedicated API endpoint for updates, as the current tools focus on retrieval and creation. Your agent needs explicit write permission to modify existing profiles.

**How do I filter results when I run `list_fundraising_appeals` by a specific date range?**
The API accepts start and end dates as parameters, allowing you to narrow the scope. This lets your agent pull only appeals active during that time period.

**When I use `record_new_donation`, do I need a donor ID or just the name?**
You must provide a valid constituent ID for the donation to attach correctly. Using the ID ensures the gift records against the right person or organization.

**If my API key expires, how does it affect running `list_donor_constituents`?**
The connection fails immediately with an authentication error. You must refresh your bearer token and re-authenticate the server before running any listing commands.

**How do I find my LGL API Key?**
Log in to your Little Green Light account, navigate to Settings > Integration Settings > LGL API to enable and copy your unique API key.

**What fields are required to create a gift?**
You must provide a `constituent_id`, an `amount` (numerical), and a `gift_date` (YYYY-MM-DD).

**Can I associate a gift with a specific campaign?**
Yes, when using the `record_new_donation` tool, you can include a `campaign_id`, `appeal_id`, or `fund_id` within the JSON body.