io.usefulapi/virtuous-crm
up checked
Unclaimed · Unverified
Agent searches it appeared in, last 30 days: 0. Run this server? Claim the listing: verified label, uptime alerts and analytics.
Publisher-provided title
Virtuous MCP by usefulapi
Publisher-provided description
Search donors and contacts, giving history, notes and projects, and log notes, tags and gifts.
Summary by lookupd
Searches donor and contact records, reads giving history and projects, and logs notes, tags and gift transactions in a CRM.
Install
Claude Code, remote (streamable-http)
claude mcp add --transport http virtuous-crm https://virtuous-crm.usefulapi.io/mcp
Codex, remote (streamable-http)
codex mcp add virtuous-crm --url https://virtuous-crm.usefulapi.io/mcp
Cursor, remote (streamable-http) → .cursor/mcp.json
{
"mcpServers": {
"virtuous-crm": {
"url": "https://virtuous-crm.usefulapi.io/mcp"
}
}
}Other clients: docs. Or tell your agent: Set up lookupd for me: read https://lookupd.com/agent.md and follow it.
Tools (21 tools)
Publisher-provided text
virtuous_get_current_organizationFetch the Virtuous organization this API key acts in — its name, time zone and culture, and whether the key's user is an administrator. A cheap way to confirm tvirtuous_searchFull-text search across contacts, individuals and entities (campaigns, projects, segments, tags) — the same search as the Virtuous search bar. Returns hits withvirtuous_search_contactsFind contacts whose name, email, phone or address fully or partially matches a search string. Returns id, name, contact type, email, phone and address per matchvirtuous_get_contactFetch one contact (household, organization, foundation ...) with its address, giving summary (life-to-date, year-to-date, last gift), individuals and their contvirtuous_find_contactLook up a single contact by email address, or by an external reference (reference source + id, e.g. Stripe customer id). Give either email, or both reference_sovirtuous_list_contact_individualsList the individuals (people) that belong to a contact/household, with names, birth dates, and their emails and phones (contact methods). Virtuous: GET /api/Convirtuous_list_contact_notesList the notes logged on a contact — calls, meetings, emails and other touchpoints — with type, date, text and author. Virtuous: GET /api/ContactNote/ByContact/virtuous_list_contact_note_typesList the note types this organization accepts on a contact note (e.g. Call, Email, Visit; admins can add custom ones). Call it before virtuous_create_contact_novirtuous_list_contact_tagsList the tags applied to a contact (contactTagId, tagId, name). Virtuous: GET /api/ContactTag/ByContact/{contactId}.virtuous_list_contact_giftsList a contact's giving history: gift id, type, date, amount, segment and batch. Use virtuous_get_gift for designations and full detail. Virtuous: GET /api/Giftvirtuous_get_giftFetch one gift in full: contact, type, date, amount and currency, batch, segment, grant, tribute, receipt date, designations to projects, premiums and custom fivirtuous_list_tagsList the organization's tags (id, name, tag group). Use this to find a tagId before virtuous_add_contact_tag. Virtuous: GET /api/Tag.virtuous_search_projectsFind projects (funds / designations gifts are given to) by name or code, with their balances, financial need and life-to-date giving. Virtuous: POST /api/Projecvirtuous_get_projectFetch one project: code, type, status, balances, financial need, date range, life-to-date and calendar-year giving and gift/giver counts. Virtuous: GET /api/Provirtuous_list_eventsList the organization's events: name, type, location, start/end, invite and RSVP counts, attendance and total giving. Virtuous: GET /api/Event.virtuous_get_query_optionsList the parameters, their types, allowed operators and value options that virtuous_query accepts for one record type. Call this BEFORE building a query. Virtuovirtuous_queryRun a Virtuous query-builder query against one record type (contacts, gifts, campaigns, projects, tasks, grants, pledges, recurring gifts, events ...). Conditiovirtuous_create_contact_noteAdd a note to a contact's timeline — a call, meeting, visit or other touchpoint. Writes to the donor record. Get the valid type names from virtuous_list_contactvirtuous_add_contact_tagApply an existing tag to a contact (find the tagId with virtuous_list_tags). Virtuous: POST /api/ContactTag.virtuous_create_contact_transactionSubmit a new or updated contact through Virtuous's import pipeline (the recommended way to add contacts). It is matched against existing contacts by name, emailvirtuous_create_gift_transactionRecord a gift (donation already received) through Virtuous's gift import pipeline — the method Virtuous recommends. The gift is matched to a contact, recurring
Details
- Version: 1.39.3
- Transports: streamable-http
- Uptime (7 days): 100%
- Median latency: 626 ms
- First indexed:
- Last seen in registry:
- Repository: https://github.com/m190/usefulapi-mcp
- Website: https://usefulapi.io/virtuous-crm/
Badge for your README
Shows this live status and links here; updates hourly.
[](https://lookupd.com/servers/io.usefulapi/virtuous-crm)
- 62092 servers
- Last crawl: 2026-11-11T17:17:22.074Z
- API base:
https://api.lookupd.com - MCP URL:
https://api.lookupd.com/mcp