Virtuous MCP for AI. Manage entire donor relationships and fundraising history via chat.
Works with every AI agent you already use
…and any MCP-compatible client








Connect to your AI in seconds.
Virtuous manages nonprofit donor data and fundraising efforts directly from your AI agent. This MCP lets you list, create, update, and delete records for contacts, individuals, gifts, and projects without ever opening the Virtuous interface.
You get full control over complex giving histories—from initial contact creation to final gift tracking—all through natural conversation.
What your AI can do
Create contact
Creates a brand new contact record, which can be a household, organization, or foundation.
Create gift
Logs a new financial contribution (gift) into the donor database.
Create individual
Establishes a new person's profile within the system, linking them to a contact record.
Fetch all metadata for households, organizations, or foundations by listing them or getting details for a specific ID.
Create and update records for specific people (individuals) within the donor database using their unique profiles.
Query, list, or create new financial contributions (gifts) linked to any contact or individual record.
List and inspect specific fundraising projects to monitor progress, track allocations, and see who is involved in the campaign.
Add or modify custom fields across contacts and individuals, ensuring your data structure remains consistent for reporting.
Ask an AI about this
Waiting for input…
Virtuous: 18 Available Tools
These tools allow you to perform every common data operation—creation, reading, updating, and deleting records—across all aspects of donor management.
Make your AI actually useful.
Add this MCP to Claude, Cursor, or Windsurf and your AI stops guessing. It gets real tools to look things up, take action, and handle the stuff you keep doing by hand.
Start using Virtuous on VinkiusCreate Contact
Creates a brand new contact record, which can be a household, organization, or foundation.
Create Gift
Logs a new financial contribution (gift) into the donor database.
Create Individual
Establishes a new person's profile within the system, linking them to a contact...
Create Project
Sets up a completely new fundraising project for tracking funds and goals.
Delete Contact
Removes an existing general contact record from the system.
Get Contact
Retrieves all specific information for a single, known contact ID.
Get Gift
Fetches detailed records for one specific gift using its unique ID number.
Get Individual
Retrieves all personal details for a single, known individual ID.
Get Project
Pulls the full details and status of one specific fundraising project.
List Contact Custom Fields
Lists all custom data fields available for contact records, helping you know what...
List Contacts
Retrieves a list of all contacts in the database (households, organizations...
List Gifts
Provides a summary list of every single gift recorded in the system.
List Individual Custom Fields
Lists all custom data fields available specifically for individual person records.
List Individuals
Retrieves a list of every individual donor or contact in the database.
List Projects
Lists all active and past fundraising projects that have been set up.
Update Contact
Modifies existing information on a contact record, such as changing an address or...
Update Gift
Corrects or adjusts the details of an already recorded gift transaction.
Update Individual
Modifies existing personal information on a specific individual profile.
Security and governance baked right in.
Pick your AI client below to get set up. Just create a Vinkius account, subscribe, and you're instantly up and running. We handle the entire backend infrastructure, delivering out-of-the-box support for HTTPS Streamable, SSE, and OAuth2—zero messy routing required.
Choose How to Get Started
Build a custom MCP for your own tools, or connect a ready-made integration from our catalog.
Build Your Own
Turn any API into an MCP. Import a spec, define Agent Skills, or deploy with MCPFusion.
- Import from OpenAPI, Swagger, or YAML specs
- Create Agent Skills with progressive disclosure
- Deploy to edge with MCPFusion framework
- Built in DLP, auth, and compliance on every call
- Real time usage dashboard and cost metering
- Publish to catalog or keep private
Make Your AI Do More
Start with Virtuous, then connect any of our 5,100+ other servers whenever your AI needs more. One click, no limits.
- Use this MCP plus 5,100+ others, all in one place
- Add new capabilities to your AI anytime you want
- Every connection is secured and compliant automatically
- Track usage and costs across all your servers
- Works with Claude, ChatGPT, Cursor, and more
- New servers added to the catalog every week
Independent Platform Disclaimer: Vinkius is an independent platform and is not affiliated with, endorsed by, sponsored by, verified by, or otherwise authorized by Virtuous. All third-party trademarks, logos, and brand names are the property of their respective owners. Their use on this website is strictly for informational purposes to identify service compatibility and interoperability.
VINKIUS INFRASTRUCTURE
Cloud Hosted
Managed infra
V8 Isolated
Sandboxed per request
Zero-Trust Proxy
No stored credentials
DLP Enforced
Policy on every call
GDPR Compliant
EU data residency
Token Compression
~60% cost reduction
Works with Claude, ChatGPT, Cursor, and more
The Model Context Protocol standardizes how applications expose capabilities to LLMs. Instead of operating in isolation, your AI gains direct access to external platforms, live data, and real-world actions through secure, standardized connections.
This connection provides 18 powerful capabilities that interface natively with Claude, ChatGPT, Cursor, and other compatible AI platforms. No middleware. No custom integration required.
Managing Donor Data is a Mess of Tabs and Spreadsheets
Right now, if you want to know how much an individual donated last year, you jump into the CRM. You navigate to their profile, find the 'Gifts' tab, then filter by date range. If that person is connected to a foundation, you have to switch tabs again to check the contact details for that foundation.
With this MCP, your agent does all of that work in seconds. Instead of clicking through four different modules, you just ask: 'What did John Smith donate last year?' The agent runs the necessary background checks using tools like `list_individuals` and `get_gift`, then gives you one clear answer.
Get Complete Control with Virtuous MCP
The manual steps that vanish are the deep dives into sub-menus, the endless copy/pasting of IDs between tabs, and the risk of missing a crucial data point because you skipped one section. You don't have to leave your chat window.
You tell your agent what needs doing—like 'I need to log this new gift for Project X.' It handles the creation, linking, and updating across all relevant records instantly. That’s how accurate your data stays.
What your AI can actually do with this
Stop navigating complex menus just to check who gave what, or if that individual is connected to a foundation. This MCP connects your nonprofit's donor data directly to any AI agent, letting you manage the entire lifecycle of giving and relationships using only chat prompts. You can ask your agent to list all households in an area, retrieve every gift associated with them, and then create a new project for that specific fundraising effort—all in one go.
When you need to build complex automations, like sending out communications based on recent gift activity, the real power comes from chaining this MCP with other services via Vinkius. This means your agent can coordinate actions across multiple platforms using a single connection and budget.
019ea60f-0184-706f-985c-d278a758318b Here's how it actually works
The bottom line is you get natural conversation control over your entire donor database without ever needing to log into the backend system.
First, subscribe to this MCP in Vinkius and provide your Virtuous API key.
Next, connect your preferred AI client (like Claude or Cursor) to the Vinkius platform using that single connection point.
Finally, simply ask your agent a question—'What are the recent gifts for the education scholarship?'—and it handles all the data retrieval and processing.
Who is this actually for?
This MCP is essential for Development Directors, Nonprofit Administrators, and Data Analysts who spend too much time clicking through dashboards or juggling multiple spreadsheets. If you need a real-time view of your donor base and fundraising status without leaving the chat window, this is for you.
Needs to quickly pull gift histories and contact details on demand to prepare grant proposals or make personalized calls.
Must automate the creation of new contacts and individuals during outreach, ensuring every record is logged immediately.
Requires querying project data and gift totals instantly to generate reports on fundraising performance without manual exports.
What Changes When You Connect
Instantly get gift details. Instead of navigating to a reporting dashboard, you can just ask your agent for get_gift details using only the ID number. You get the full $ amount, donor name, and project it was intended for, immediately.
Maintain clean data by automating record creation. Need to log a new volunteer? Use create_individual and then update_contact in sequence. The agent handles linking everything correctly, eliminating manual entry errors.
See your entire donor base at a glance. You can run list_contacts or list_individuals right from the chat to get an overview of who you're dealing with before drafting an email.
Build cross-platform workflows. Combine this MCP with a messaging tool; for example, trigger a personalized follow-up message immediately after the agent runs create_gift, ensuring no donation goes unnoticed.
Track project funding status easily. Use list_projects to get all active campaigns, then ask your agent to pull details on a specific one using get_project, giving you instant operational visibility.
See it in action
Tracking a Complex Gift
A development director needs to know the full story behind a major donation. They ask their agent, 'What was gift ID 12345 for?' The agent uses get_gift and instantly replies with details on who donated it, when, and which project fund it paid into.
Onboarding New Donors
A nonprofit admin meets a new family. They tell their agent the name and contact info. The agent uses create_contact first (for the household) and then runs create_individual for each person, logging them all into the system instantly.
Auditing Campaign Progress
A data analyst needs to check if a recent annual gala was successful. They prompt the agent to run list_projects, find 'Annual Gala', and then ask for its progress using get_project to see how close they are to their goal.
Updating Donor Information
A staff member learns that a key contact changed their address. Instead of logging in, they tell the agent and it uses update_contact to change the record immediately, keeping all other gift history intact.
The honest tradeoffs
Trying to list everything manually
A user tries to get a full donor picture by asking for 'all contacts, gifts, and projects' in one vague prompt. The agent gets confused because it doesn't know where to start or what data schema you need.
Be specific with your requests. Start by running list_contacts to define the scope, then use targeted tools like get_contact for details on a single ID, and list_gifts to see recent giving activity.
Overwriting crucial data
A user attempts to 'fix' a donation amount by manually running an update without checking the gift’s original source or project link. This risks corrupting historical financial records.
Always use update_gift only after verifying the record with get_gift. If you need to change contact data, run update_contact and ensure your agent confirms which fields are changing.
Assuming a single tool does everything
A user thinks calling create_individual is enough, but forgets that the person needs to be associated with a family or organization first. The data ends up orphaned and unusable.
Remember the required sequence: First, use create_contact to set up the primary household/organization. Then, run create_individual to link the specific people to that parent contact.
When It Fits, When It Doesn't
Use this MCP if your core job involves tracking donor relationships and managing financial giving history. Specifically, you need to read or write data about contacts, individuals, gifts, or projects. Don't use it if you only need to manage internal employee records or track volunteer hours—you'll need a different system for that. If your goal is purely reporting on aggregate totals (e.g., 'total funds raised last year'), consider if an analytics-only tool might be better, as this MCP focuses heavily on the transactional CRUD operations like list_gifts and create_project.
Questions you might have
How do I list contacts using the list_contacts tool? +
You simply ask your agent to run list_contacts. The agent will pull a summary of all records, including households, organizations, and foundations, so you can see what data exists.
What is the difference between get_contact and list_contacts? +
Using list_contacts gives you an overview or a batch summary of many contacts. Use get_contact when you know the specific ID number and only need the detailed record for that single contact.
Can I update gift records using update_gift? +
Yes, update_gift lets you correct or adjust an already entered donation. You must provide the gift's ID number and specify exactly which values need changing to keep the record accurate.
How do I add a new donor? Do I use create_individual? +
While create_individual creates the person, you usually need to run create_contact first. That establishes the main entity (the household or organization) that owns the individual.
Does this MCP help me track projects? Use list_projects. +
Yes, running list_projects will show you every project record in the system. You can then ask for details on a specific one using get_project to see its current status.
What are the security requirements before I can run `list_contacts`? +
You connect via Vinkius, which handles your credentials through a zero-trust proxy. Your API keys pass in transit but never get stored on disk. This ensures that when you list contacts, your data remains secure.
How do I find out what custom fields are available for records using `list_contact_custom_fields`? +
You run list_contact_custom_fields to pull a full schema of metadata. This tool shows every unique data point attached to contacts, letting you know exactly what data your agent can read or write.
What is the proper workflow for deleting old records using `delete_contact`? +
You must first use get_contact to pull the specific contact ID. Once confirmed, the delete_contact tool removes the record entirely from Virtuous. Always verify the ID before running any deletion commands.
Can I record a new financial gift directly through the AI? +
Yes. You can use the create_gift tool by providing the necessary JSON payload containing the donor information and gift amount to record it in Virtuous.
How do I see the custom fields available for my contacts? +
You can use the list_contact_custom_fields tool. It will return a list of all custom metadata fields configured in your Virtuous instance.
Is it possible to update an individual's profile information? +
Absolutely. Use the update_individual tool with the specific Individual ID and the updated data fields to modify their record.
We've already built the connector for Virtuous. Just plug in your AI agents and start using Vinkius.
No hosting. No infrastructure. No complex setup.
All 18 tools are live and waiting.
You're up and running in seconds.
Vinkius gives your AI agents access to the full catalog of app connectors, all fully managed, secure, and enterprise-ready. One subscription, every tool you need.
Built, hosted, and secured by Vinkius. You just connect and go.