wildapricot_list_accounts
List accounts
List 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.
Takes no parameters.
io.usefulapiPublished by usefulapi.ioOfficial publisherv1.39.1Updated Nov 14, 2026
Look up members, events, registrations, invoices and payments, and add contacts or check in guests.
The publisher's own server: Ably MCP by usefulapi
Hosted MCP server for Wild Apricot that lets an assistant look up members, events, registrations, invoices, payments and donations, and add contacts or check…
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/io.usefulapi%2Fwild-apricot/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Add this to your client's mcpServers config.
{
"mcpServers": {
"wild-apricot-by-usefulapi": {
"type": "http",
"url": "https://wild-apricot.usefulapi.io/mcp"
}
}
}Use Wild Apricot from Claude, Cursor, or any MCP client — look up contacts, members, membership levels, events, registrations, invoices, payments and donations, and add contacts or check in attendees. Hosted, no local install: connect with your own Wild Apricot credentials.
Live endpoint: https://wild-apricot.usefulapi.io/mcp · Homepage: https://usefulapi.io/wild-apricot
https://wild-apricot.usefulapi.io/mcp.claude mcp add --transport http wild-apricot https://wild-apricot.usefulapi.io/mcp, then run /mcp to log in.Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your Wild Apricot credentials.
Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/wild-apricot/
On first connect you'll provide your Wild Apricot API key (Settings → Integration → Authorized applications), plus an optional account ID. They're validated, stored per-user, and scoped to you — no keys in config files.
read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.
Each paid plan covers this server only. Ask your AI to run wildapricot_upgrade and choose Pro or Pro+, billed monthly or yearly (it returns a Stripe Checkout link). If you already have Pro, ask to change it to Pro+. The change requires your confirmation, keeps your billing interval and charges the price difference for the rest of the period immediately. Cancel any time with wildapricot_cancel_subscription: your paid plan continues to the end of the paid period, with no refund for the current period, and asking to resume the same plan with wildapricot_upgrade before then undoes the cancel. Or write to [email protected].
MIT © usefulapi. Not affiliated with or endorsed by Wild Apricot.
Source: servers/wild-apricot/README.md at commit f22f848
List accounts
List 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.
Takes no parameters.
Get the account
Fetch the current account's details (name, primary domain, time zone, currency, billing plan, contact limit). Wild Apricot: GET /accounts/{accountId}.
Takes no parameters.
Search contacts and members
Search 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.
topskipsortcountfilterselectids_onlysimple_queryGet one contact
Fetch 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}.
contact_idrequiredextended_membership_infoList contact fields
List 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.
Takes no parameters.
List membership levels
List membership levels — name, fee, renewal period, individual vs bundle, whether the public can apply. Wild Apricot: GET /accounts/{accountId}/membershiplevels.
Takes no parameters.
List member groups
List ad hoc member groups (id, name, description). Wild Apricot: GET /accounts/{accountId}/membergroups.
topskipList saved searches
List the contact saved searches defined by admins (id, name, description). Wild Apricot: GET /accounts/{accountId}/savedsearches.
Takes no parameters.
Run a saved search
Run one saved search and return the ids of the contacts it currently matches. Wild Apricot: GET /accounts/{accountId}/savedsearches/{savedSearchId}.
saved_search_idrequiredexclude_archivedList events
List 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.
topskipsortcountfilterids_onlyGet one event
Fetch one event with its details — description, registration types, registration fields, sessions, registration counts and totals paid/due. Wild Apricot: GET /accounts/{accountId}/events/{eventId}.
event_idrequiredList event registration types
List 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=.
event_idrequiredList event registrations
List 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.
event_idcontact_idinclude_detailsinclude_canceledinclude_waitlistList invoices
List invoices, optionally for one contact, event or event registration, paid/unpaid only, or within a created-date range. Wild Apricot: GET /accounts/{accountId}/invoices.
topskipend_dateevent_idids_onlypaid_onlycontact_idstart_dateunpaid_onlyinclude_voidedevent_registration_idList payments
List payments received, optionally for one contact or event, unsettled only, or within a created-date range. Wild Apricot: GET /accounts/{accountId}/payments.
topskipend_dateevent_idids_onlycontact_idstart_dateunsettled_onlyList donations
List donations — donor, amount, date, comments and donation field values — optionally within a date range. Wild Apricot: GET /accounts/{accountId}/donations.
topskipend_dateids_onlystart_dateList audit log items
List audit log items (membership changes, payments, invoices and other admin/member activity) within a date range. Wild Apricot: GET /accounts/{accountId}/auditLogItems.
topskipend_datestart_dateCreate a contact or member
Create 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.
emailstatuslast_namefirst_namefield_valuesorganizationrecreate_invoicemembership_enabledmembership_level_idUpdate a contact or member
Update 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}.
emailstatuslast_namecontact_idrequiredfirst_namefield_valuesorganizationrecreate_invoicemembership_enabledmembership_level_idRegister a contact for an event
Register 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.
memoevent_idrequiredcontact_idrequiredon_waitlistshow_to_publicrecreate_invoiceregistration_fieldsregistration_type_idrequiredCheck an attendee in or out
Mark 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.
checked_inrequiredregistration_idrequiredchecked_in_guests100% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
io.usefulapiOfficial publisher
Hosted MCP server for Ably that lets an assistant inspect realtime channels, presence and usage stats, publish messages, and review app configuration.
io.usefulapiOfficial publisher
Remote MCP server for Oyster that lets an assistant read team, time off, expense, contract and invoice data and approve or decline requests.
io.usefulapiOfficial publisher
Reads Avirato hotel PMS data — reservations, availability, rates, prices and meal plans — and records cash payments on bookings.
io.usefulapiOfficial publisher
Hosted read-only MCP server that lets an assistant list interview, participant and department metadata from a Willo account.
io.usefulapiOfficial publisher
Hosted MCP server that lets an assistant read Testlify hiring workspace details, assessments and assessment candidates.
{ "mcpServers": { "wild-apricot": { "url": "https://wild-apricot.usefulapi.io/mcp" } }}