io.usefulapi/civicrm
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
CiviCRM MCP by usefulapi
Publisher-provided description
Work with your own CiviCRM: contacts, contributions, memberships, events; log activities.
Summary by lookupd
Reads and writes CiviCRM records: contacts, groups, memberships, events, contributions and activities, with query and update tools.
Install
Claude Code, remote (streamable-http)
claude mcp add --transport http civicrm https://civicrm.usefulapi.io/mcp
Codex, remote (streamable-http)
codex mcp add civicrm --url https://civicrm.usefulapi.io/mcp
Cursor, remote (streamable-http) → .cursor/mcp.json
{
"mcpServers": {
"civicrm": {
"url": "https://civicrm.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 (24 tools)
Publisher-provided text
civicrm_whoamiThe CiviCRM contact this API key belongs to (contact id, display name, contact type) and how it authenticated. Everything the other tools do is limited to thatcivicrm_search_contactsFind contacts (people, organizations, households) by a word in their name, e-mail address or phone number, optionally of one contact type. Trashed contacts arecivicrm_get_contactOne contact by id: name, type, job title, source, communication preferences (do not e-mail, opted out, ...), dates, plus all their e-mail addresses, phone numbecivicrm_list_contact_notesThe notes recorded on one contact (subject, text, who wrote it, when), newest first. APIv4 Note.get.civicrm_list_relationshipsThe relationships of one contact (employee of, spouse of, volunteer for, ...) with the other contact, start and end date and whether it is active. APIv4 Relatiocivicrm_list_contributionsContributions (donations, membership dues, event fees) with contact, amount, currency, financial type, status, payment method, date and source, newest first. Ficivicrm_list_membershipsMemberships with contact, membership type, status (New, Current, Grace, Expired, ...), join, start and end date. Filter by contact, status, type, or those endincivicrm_list_eventsEvents with title, type, start and end date, whether active and public, maximum participants and summary. Upcoming events first when upcoming_only is set. Templcivicrm_list_participantsEvent registrations with event, contact, status (Registered, Attended, Cancelled, ...), role, registration date and fee. Filter by event, contact or status. Tescivicrm_list_activitiesActivities (meetings, phone calls, e-mails, follow-ups, ...) with type, subject, status, date and details, newest first. With contact_id: the activities that cocivicrm_list_casesCases (CiviCase) with subject, case type, status and dates. With contact_id: the cases that contact is a client of. Needs the CiviCase component to be enabled.civicrm_list_groupsContact groups (mailing lists, static groups, smart groups) with title, description, visibility and type. APIv4 Group.get.civicrm_list_group_contactsThe members of one static group (or the groups one contact belongs to): contact, group and membership status (Added, Removed, Pending). Smart groups are computecivicrm_get_fieldsThe fields of one CiviCRM entity (Contact, Contribution, Event, ...) including custom fields: name, label, data type, whether required, and the allowed optionscivicrm_list_entitiesThe APIv4 entities this CiviCRM site offers (Contact, Contribution, Event, plus those of installed extensions), with a short description. Use the names with civcivicrm_queryRead records of ANY CiviCRM entity with APIv4 Entity.get: choose fields, filter, sort and page. Use civicrm_list_entities and civicrm_get_fields for the names.civicrm_create_contactWRITE: creates ONE new contact (an individual, organization or household) and optionally its first e-mail address and phone number. Does not check for duplicatecivicrm_update_contactWRITE: changes basic fields of ONE existing contact (name, job title, source, preferred language) and/or its communication preferences (do not e-mail, do not phcivicrm_add_contact_noteWRITE: adds ONE note to a contact's record, written by the contact this API key belongs to. Sends nothing. APIv4 Note.create.civicrm_log_activityWRITE: records ONE activity (a meeting, phone call, e-mail, follow-up, ...) with one or more contacts. It only STORES the record: an activity of type Email doescivicrm_record_contributionWRITE: records ONE contribution (a donation, a payment received elsewhere) for a contact. It only STORES the financial record: no card is charged, no receipt iscivicrm_create_membershipWRITE: gives ONE contact a membership of a type. CiviCRM works out the dates and status from the type unless you give dates. It does NOT record a payment (use ccivicrm_add_contact_to_groupWRITE: adds ONE contact to ONE static group. If the group is used as a mailing list, the contact will receive future mailings sent to it, so only add people whocivicrm_register_participantWRITE: registers ONE contact for ONE event (a participant record). It does not check the event's capacity or fee, does not take payment and sends no confirmatio
Details
- Version: 1.17.3
- Transports: streamable-http
- Uptime (7 days): 100%
- Median latency: 516 ms
- First indexed:
- Last seen in registry:
- Repository: https://github.com/m190/usefulapi-mcp
- Website: https://usefulapi.io/civicrm/
Badge for your README
Shows this live status and links here; updates hourly.
[](https://lookupd.com/servers/io.usefulapi/civicrm)
- 62071 servers
- Last crawl: 2026-11-11T16:39:06.253Z
- API base:
https://api.lookupd.com - MCP URL:
https://api.lookupd.com/mcp