Wild Apricot MCP by usefulapi
Look up members, events, registrations, invoices and payments, and add contacts or check in guests.
Connect it
Settings → Connectors → Add custom connector
URL: https://wild-apricot.usefulapi.io/mcpSettings → Apps & Connectors → Advanced → Developer mode
Create connector with URL: https://wild-apricot.usefulapi.io/mcp{
"mcpServers": {
"wild-apricot": {
"url": "https://wild-apricot.usefulapi.io/mcp"
}
}
}claude mcp add --transport http wild-apricot https://wild-apricot.usefulapi.io/mcp{
"servers": {
"wild-apricot": {
"type": "http",
"url": "https://wild-apricot.usefulapi.io/mcp"
}
}
}21 tools, verified live
wildapricot_list_accountsread-onlyList the Wild Apricot accounts this API key can reach — id, name, primary domain, currency, contact limit. A cheap way to confirm the key works. Wild Apricot: GET /accounts.
wildapricot_get_accountread-onlyFetch the current account's details (name, primary domain, time zone, currency, billing plan, contact limit). Wild Apricot: GET /accounts/{accountId}.
wildapricot_list_contactsread-onlySearch contacts and members. Use simple_query for a substring match on name, organization, email or phone, or filter for an OData-style expression over field names/system codes (e.g. "'Membership status' eq 'Active'", "'Profile last updated' gt 2026-01-01"). Runs synchronously ($async=false). Wild Apricot: GET /accounts/{accountId}/contacts.
wildapricot_get_contactread-onlyFetch one contact or member with all field values, membership level and status. Set extended_membership_info for the pending membership order, its invoice and allowed actions. Wild Apricot: GET /accounts/{accountId}/contacts/{contactId}.
wildapricot_list_contact_fieldsread-onlyList the contact and membership field definitions — names, system codes, types, allowed values, whether each is searchable ($filter) and editable. Use it to build filters and field_values. Wild Apricot: GET /accounts/{accountId}/contactfields.
wildapricot_list_membership_levelsread-onlyList membership levels — name, fee, renewal period, individual vs bundle, whether the public can apply. Wild Apricot: GET /accounts/{accountId}/membershiplevels.
wildapricot_list_member_groupsread-onlyList ad hoc member groups (id, name, description). Wild Apricot: GET /accounts/{accountId}/membergroups.
wildapricot_list_saved_searchesread-onlyList the contact saved searches defined by admins (id, name, description). Wild Apricot: GET /accounts/{accountId}/savedsearches.
wildapricot_get_saved_searchread-onlyRun one saved search and return the ids of the contacts it currently matches. Wild Apricot: GET /accounts/{accountId}/savedsearches/{savedSearchId}.
wildapricot_list_eventsread-onlyList events. filter supports e.g. "IsUpcoming eq true", "StartDate gt 2026-01-01", "RegistrationEnabled eq true", "Tags in [workshop]", "Id in [1,2]". Wild Apricot: GET /accounts/{accountId}/events.
wildapricot_get_eventread-onlyFetch one event with its details — description, registration types, registration fields, sessions, registration counts and totals paid/due. Wild Apricot: GET /accounts/{accountId}/events/{eventId}.
wildapricot_list_event_registration_typesread-onlyList an event's registration types (ticket types) — price, availability, limits, waitlist. You need a type id to register someone. Wild Apricot: GET /accounts/{accountId}/EventRegistrationTypes?eventId=.
wildapricot_list_event_registrationsread-onlyList registrations for an event (attendee list) or for a contact (what they signed up for) — registration type, fee, paid, checked in, waitlist. Wild Apricot: GET /accounts/{accountId}/eventregistrations.
wildapricot_list_invoicesread-onlyList invoices, optionally for one contact, event or event registration, paid/unpaid only, or within a created-date range. Wild Apricot: GET /accounts/{accountId}/invoices.
wildapricot_list_paymentsread-onlyList payments received, optionally for one contact or event, unsettled only, or within a created-date range. Wild Apricot: GET /accounts/{accountId}/payments.
wildapricot_list_donationsread-onlyList donations — donor, amount, date, comments and donation field values — optionally within a date range. Wild Apricot: GET /accounts/{accountId}/donations.
wildapricot_list_audit_logread-onlyList audit log items (membership changes, payments, invoices and other admin/member activity) within a date range. Wild Apricot: GET /accounts/{accountId}/auditLogItems.
wildapricot_create_contactcan modifyCreate a contact. To make them a member set membership_enabled=true and membership_level_id (Wild Apricot may create a membership invoice unless recreate_invoice=false). Custom fields go in field_values. Wild Apricot: POST /accounts/{accountId}/contacts.
wildapricot_update_contactcan modifyUpdate an existing contact: names, email, membership level/status, or custom field values. Only the fields you pass are sent. Wild Apricot: PUT /accounts/{accountId}/contacts/{contactId}.
wildapricot_create_event_registrationcan modifyRegister an existing contact for an event under one registration type (from wildapricot_list_event_registration_types). Can add to the waitlist instead. Wild Apricot: POST /accounts/{accountId}/eventregistrations.
wildapricot_check_in_attendeecan modifyMark an event registration as checked in (checked_in=true) or undo it (false); for anonymous guests, set how many are checked in. Wild Apricot: POST /rpc/{accountId}/CheckInEventAttendee.
Alternatives in Finance & Payments
Compare →
PreReasonA
Financial market context for AI agents: macro, rates, bonds, FX, commodities, companies and Bitcoin.
Beancount.ioA
Query, edit, and reconcile a hosted Beancount ledger: BQL, reports, files, and bank imports.
PAPayqrA
European payment QR — SPAYD (CZ/SK) & EPC/GiroCode (SEPA), plus text/WiFi/vCard. Local, free.
ADAdisA
Czech VAT-payer reliability (ADIS / nespolehlivý plátce DPH) + registered bank accounts by DIČ.
CNCnbA
Official ČNB exchange rates — daily & historical CZK vs EUR, USD, 30+ currencies. For accounting.
ISIsirA
Czech insolvency register (ISIR) — active/historical insolvency & bankruptcy by IČO or person.