Read ChurchSuite contacts, children, small groups, rotas, events and attendance; add contact notes. Hosted by usefulapi — connect from Claude, Cursor, or any MCP client.
Add to your MCP config, then reload & authorize:
{
"mcpServers": {
"churchsuite": {
"url": "https://churchsuite.usefulapi.io/mcp"
}
}
}| Tool | Type | What it does |
|---|---|---|
churchsuite_get_account | read | Get church account The church's ChurchSuite account summary: name, unique id, subdomain, time zone, currency, language and first day of week (no billing or data-protection contact details). A good first call. API: GET /account/info. |
churchsuite_list_sites | read | List sites List the church's sites (campuses/congregations: id, name, initials, address). Site ids filter contacts, children, groups, events and plans. API: GET /account/sites. |
churchsuite_list_contacts | read | List address book contacts Search or list adult contacts in the Address Book (name, contact details, address, sites, status, tags via tag_ids). Personal data: ask only for what you need. API: GET /addressbook/contacts. |
churchsuite_get_contact | read | Get a contact Get one Address Book contact by id: names, sex, date of birth, marital status and spouse id, address, phones, email, job, custom fields, communication preferences, sites, status. API: GET /addressbook/contacts/{id}. |
churchsuite_list_contact_notes | read | List contact notes List the pastoral/admin notes on a contact (content, pinned, visibility, who wrote it and when), pinned first. API: GET /addressbook/contacts/{id}/notes. |
churchsuite_add_contact_note | write | Add a note to a contact WRITE: add a new note to a contact's record in ChurchSuite (it is visible to other ChurchSuite users who can see the contact, unless private_to_me is true). Only adds a note: never edits or deletes anything, sends nothing to the contact. API: POST /addressbook/contacts/{id}/notes. |
churchsuite_list_contact_tags | read | List address book tags List Address Book tags (id, name, category, whether it is a smart tag). Use a tag id as tag_ids in list_contacts to list the people with that tag. API: GET /addressbook/tags. |
churchsuite_list_children | read | List children Search or list children in the Children module (name, date of birth, school year, contact details, sites, status, consent flags). Medical and additional-needs fields are left out unless include_medical is true. API: GET /children/children. |
churchsuite_get_child | read | Get a child Get one child by id (names, date of birth, school, contact details, custom fields, consents, sites, status). Medical and additional-needs fields only with include_medical: true. API: GET /children/children/{id}. |
churchsuite_list_children_groups | read | List children's groups List the Children module's groups (classes/age groups: id, name, entry age, check-in capacity and ratio, status). API: GET /children/groups. |
churchsuite_list_small_groups | read | List small groups List small groups (home groups/life groups: name, day, time, frequency, location, description, dates, sign-up options). API: GET /smallgroups/groups. |
churchsuite_get_small_group | read | Get a small group Get one small group by id (schedule, location, description, custom fields, sign-up options, sites). API: GET /smallgroups/groups/{id}. |
churchsuite_list_small_group_members | read | List small group members List small group memberships (group id, person = contact or child id, status, role ids, joined date). Filter by group to get a group's members, or by contact/child to get a person's groups; look people up with get_contact / get_child. API: GET /smallgroups/members. |
churchsuite_list_events | read | List calendar events List calendar events (name, start/end, status, category, location, description, sign-up options, sites). Use starts_after/starts_before (YYYY-MM-DD) for a date window. API: GET /calendar/events. |
churchsuite_get_event | read | Get a calendar event Get one calendar event by id (times, status, category, location, description, visibility, sign-up options). API: GET /calendar/events/{id}. |
churchsuite_list_event_categories | read | List event categories List calendar categories (id, name, colour, status). Use the ids as category_ids in list_events. API: GET /calendar/categories. |
churchsuite_list_ministries | read | List rota ministries List the Rotas module's ministries (worship team, welcome team…: id, name, description, days, rota and rotation type, status, sites). API: GET /rotas/ministries. |
churchsuite_list_ministry_teams | read | List ministry teams List the teams inside rota ministries (id, ministry id, name, order). API: GET /rotas/ministry_teams. |
churchsuite_list_ministry_members | read | List ministry members List who serves in rota ministries (ministry id, team id, person = contact or child id, role ids). Look people up with get_contact / get_child. API: GET /rotas/ministry_members. |
churchsuite_list_unavailability | read | List rota unavailability List the dates people said they are unavailable to serve (person, description, start/end). Filter by person, ministry or a date window. API: GET /rotas/unavailability. |
churchsuite_list_service_plans | read | List service plans List service plans from the Planning module (name, date, time, status, linked event, sites). API: GET /planning/plans. |
churchsuite_list_plan_items | read | List service plan items List the running order of one or more service plans (items: type, name, song arrangement, duration, start time, notes, people). API: GET /planning/plan_items. |
churchsuite_list_giving_funds | read | List giving funds List the church's giving funds (id, name, description, Gift Aid / tax-deductible flags, whether shown in Donate, status). Funds only: no donors, donations or amounts. API: GET /giving/funds. |
churchsuite_list_gatherings | read | List attendance gatherings List the Attendance module's gatherings (services/meetings whose attendance is counted: id, name, sites, status). API: GET /attendance/gatherings. |
churchsuite_list_attendance_records | read | List attendance records List attendance records (headcounts per gathering and date: total number, total people, notes), sorted by date. Filter by gathering, weekday or a date window (YYYY-MM-DD). API: GET /attendance/records. |
churchsuite_usage_status | Usage status (free-tier meter) Report the caller's current free-tier usage this month: calls used, monthly limit, remaining, and whether the cap is reached. Read-only; does not count against the meter. | |
churchsuite_upgrade | Upgrade to Pro (unlimited) Subscribe to the Pro plan for UNLIMITED ChurchSuite tool calls (the free tier caps monthly usage). Choose monthly ($9/month) or yearly ($90/year — 2 months free) billing. Returns a Stripe Checkout link to open in your browser; after payment your account upgrades automatically. Does not count against the meter. | |
churchsuite_cancel_subscription | Cancel the Pro subscription Cancel the caller's ChurchSuite Pro subscription at the end of the paid period (no refund for the current period; unlimited calls continue until then, then the free tier applies). Requires confirm: true. Run churchsuite_upgrade later to undo the cancel before the period ends. Does not count against the meter. |
| Plan | Price | Limit |
|---|---|---|
| Free | $0 | 100 tool calls / month |
| Proper church account | $9/mo · $90/yr | Unlimited |
Pro covers this ChurchSuite server only. Subscribe with churchsuite_upgrade (it returns a Stripe Checkout link). Cancel any time with churchsuite_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running churchsuite_upgrade before then undoes the cancel. Or write to [email protected].
This is a Model Context Protocol endpoint — meant to be connected from an AI client, not opened in a browser. An invalid_token response at the URL is the auth gate working as designed; clients authenticate automatically.