# Tithe.ly MCP

> Tithe.ly MCP Server connects your AI agent directly to Tithe.ly. This lets you manage church giving and nonprofit finances via natural conversation. You can list organizations, create new payment categories, process transactions, and send donor receipts—all without opening the dashboard. It handles all core financial operations for nonprofits.

## Overview
- **Category:** payment-processing
- **Price:** Free
- **Tags:** church-giving, donations, fundraising, payment-management, tithely

## Description

You're connecting your AI agent straight to Tithe.ly, which means you can handle all the books for any church or nonprofit without ever touching their dashboard. This server lets your agent talk directly to Tithe.ly’s core financial functions, letting you manage everything from setting up new giving types to logging donations and sending official receipts—all through natural conversation. You don't need to click a single button; you just tell the agent what needs doing.

**Connecting and Verifying Your Accounts:**
First off, your agent uses the `login` tool to authenticate the connection and pull down general account details for verification. This ensures that everything else it does afterward is operating on current data. To get a full picture of what you manage, you can use `list_organizations`, which pulls a comprehensive rundown of every single church or nonprofit account tied to your Tithe.ly profile. If you need to drill down and find out who the specific owners are for those accounts, `list_organization_owners` lets you search Tithe.ly for that precise owner information.

**Handling Giving Categories:**
Managing how money comes in is critical, so the server gives you full control over payment categories. You can use `list_payment_categories` to pull a list of every giving type currently set up—you can view or search through them like 'Youth Ministry' or 'Coffee Sales.' If your organization starts taking money from a new source, you don't have to log in manually; the `create_payment_category` tool lets you add that brand-new giving type right away. Should the details for an existing category change—maybe you need to update its name or description—the `update_payment_category` tool handles those modifications seamlessly.

**Recording Financial Movements:**
When money comes in, your agent takes care of it. You use the `create_transaction` tool to record and process any incoming payment or donation directly into Tithe.ly’s financial records. This keeps your books accurate instantly. To make sure every donor gets their paperwork on time, you can trigger the `send_email` function, which sends official receipts or status updates using Tithe.ly's built-in templates to specified recipients.

It's all about automation. You never have to switch windows or navigate complex menus. Your agent manages the entire financial cycle for nonprofits: it pulls account lists, structures giving types, logs transactions, and sends communications—all in one flow.

## Tools

### create_payment_category
Adds a brand new giving type to your Tithe.ly account.

### create_transaction
Records and processes an incoming payment or donation into the system.

### login
Authenticates the connection and fetches general account details for verification.

### list_organization_owners
Searches Tithe.ly for specific account owners related to your organizations.

### list_organizations
Retrieves a list of all the church or nonprofit accounts you manage on Tithe.ly.

### list_payment_categories
Shows all current payment categories, allowing you to view or search giving types.

### send_email
Sends emails, like donation receipts, to specified recipients using Tithe.ly's official templates.

### update_payment_category
Changes the details of an existing payment category or giving type.

## Prompt Examples

**Prompt:** 
```
List all organizations I manage on Tithe.ly.
```

**Response:** 
```
I've retrieved your organizations. You have access to 'Grace Community Church' (ID: 77482) and 'Hope Outreach' (ID: 99231). Which one would you like to manage?
```

**Prompt:** 
```
Create a new giving category called 'Youth Ministry' for organization 77482.
```

**Response:** 
```
Successfully created the 'Youth Ministry' category (Type: giving_type) for organization 77482. It is now active and ready to receive donations.
```

**Prompt:** 
```
Send a receipt for transaction 55021 to donor@example.com.
```

**Response:** 
```
The receipt for transaction 55021 has been queued and sent to donor@example.com using the official receipt template.
```

## Capabilities

### List Organization Data
Retrieve details for all managed organizations or search for a specific account owner.

### Manage Giving Categories
Create, update, or list the specific types of giving (payment categories) used by your organization.

### Record Transactions
Process and log a new financial transaction into Tithe.ly's records.

### Send Donor Communication
Generate and send official receipts or updates to donors via email, using required templates.

### Authenticate Connection
Verify your API credentials and pull down core account details to ensure the connection is working.

## Use Cases

### Quarterly Audit Prep
The finance coordinator needs to confirm which organizations they manage. They ask their agent to `list_organizations`. The agent returns a clean list of all IDs and names, saving hours of navigating the main dashboard.

### New Campaign Launch
A ministry lead starts a new fundraising effort (e.g., 'Summer Picnic'). Instead of waiting for admin approval to create a giving type, they ask their agent to `create_payment_category`. The category is active and ready to accept donations immediately.

### Donor Follow-Up
A donor gave money last week. Instead of manually finding the transaction ID and then emailing a receipt, the administrator asks the agent to `send_email` using the specific transaction details, automating the entire communication process.

### Fixing Giving Types
The café changed its pricing structure. The admin knows they need to update the giving type but doesn't want to mess with the backend dashboard. They simply tell the agent to `update_payment_category` for 'Cafe Sales', adjusting the parameters.

## Benefits

- Record transactions instantly. Instead of finding the 'Donate' tab, specifying the date, amount, and category, just tell your agent to `create_transaction`. It handles the rest.
- Keep giving types organized. Need a new category for online merchandise? Use `create_payment_category` instead of logging in, navigating, and clicking through three different settings menus.
- Automate donor communication. After processing funds, you can use `send_email` to queue up the official receipt right away. No manual export/import needed.
- Get visibility into your network. Use `list_organizations` or `list_organization_owners` when you need to know which accounts exist or who is in charge of a specific account without guessing.
- Maintain data integrity. If a category name changes, use `update_payment_category` directly through the agent, ensuring all your records stay current.

## How It Works

The bottom line is that you talk to your agent, and it handles the connection, authentication, and API calls with Tithe.ly in the background.

1. Subscribe to the server on Vinkius.
2. Enter your Tithe.ly API ID and API Token into the configuration fields.
3. Ask your agent (e.g., 'List all payment categories for Grace Community Church'). The agent uses the tools, passes data to Tithe.ly's APIs, and returns structured results.

## Frequently Asked Questions

**How do I check if a giving type exists with list_payment_categories?**
Run `list_payment_categories`. This tool will return an array of all current payment categories, letting you see their names and types before you try to create or update them.

**Can I process a donation with Tithe.ly using the create_transaction tool?**
Yes. The `create_transaction` tool is designed specifically to log incoming payments, taking details like the amount, date, and donor name to record it accurately.

**What do I need to know about list_organizations before using it?**
Use `list_organizations` when you need a directory of all Tithe.ly accounts linked to your system. This ensures you target the correct organization ID for any subsequent action.

**Do I have permission issues with send_email on Tithe.ly?**
The `send_email` tool requires that the API credentials used belong to an admin account or at least match the recipient's domain for the email to actually go out.

**What steps do I need to take when using the `login` tool?**
You must run the `login` tool first. This verifies your API credentials and confirms your agent has the necessary permissions before it attempts any financial actions or data retrieval.

**How do I change details for an existing category using `update_payment_category`?**
You pass the Category ID along with the updated parameters. The tool modifies the record immediately, helping you keep your giving types and revenue streams current without manual dashboard access.

**When should I use `list_organization_owners` instead of listing organizations?**
Use this tool specifically when you need to find contact details or user accounts tied directly to an organization. It focuses on retrieving people, not general institutional data.

**What happens if I run into issues with the `create_transaction` tool?**
If a transaction fails, the API response returns an error code and message. This tells you exactly why—whether it's due to insufficient funds or an invalid ID—so your agent can correct the request.

**Can I list all organizations associated with my Tithe.ly account?**
Yes! Use the `list_organizations` tool with the ID set to 'mine'. The agent will return details for all organizations you have permission to access.

**How do I create a new giving type for my church?**
You can use the `create_payment_category` tool. Provide the organization ID, a name (e.g., 'Building Fund'), and set the type to 'giving_type'.

**Is it possible to send a receipt email for a specific transaction?**
Absolutely. Use the `send_email` tool by providing the recipient's email, the transaction ID as the 'object', and 'receipt' as the template name.