ChurchSuite MCP server

Read ChurchSuite contacts, children, small groups, rotas, events and attendance; add contact notes. Hosted by usefulapi — connect from Claude, Cursor, or any MCP client.

Claude

  1. Open Settings → Connectors → Add custom connector
  2. Paste this URL:
    https://churchsuite.usefulapi.io/mcp
  3. Authenticate with ChurchSuite when prompted

Cursor · VS Code · Windsurf · Cline

Add to your MCP config, then reload & authorize:

{
  "mcpServers": {
    "churchsuite": {
      "url": "https://churchsuite.usefulapi.io/mcp"
    }
  }
}
live28 toolsFree 100 tool calls / monthPro $9/mo · $90/yr

Tools 28

ToolTypeWhat it does
churchsuite_get_accountread
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_sitesread
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_contactsread
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_contactread
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_notesread
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_notewrite
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_tagsread
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_childrenread
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_childread
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_groupsread
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_groupsread
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_groupread
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_membersread
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_eventsread
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_eventread
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_categoriesread
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_ministriesread
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_teamsread
List ministry teams
List the teams inside rota ministries (id, ministry id, name, order). API: GET /rotas/ministry_teams.
churchsuite_list_ministry_membersread
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_unavailabilityread
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_plansread
List service plans
List service plans from the Planning module (name, date, time, status, linked event, sites). API: GET /planning/plans.
churchsuite_list_plan_itemsread
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_fundsread
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_gatheringsread
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_recordsread
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_statusmeta
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_upgrademeta
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_subscriptionmeta
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.

Pricing

PlanPriceLimit
Free$0100 tool calls / month
Proper church account$9/mo · $90/yrUnlimited

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.

More CRM & Sales MCP servers

CopperFolkFollow Up BossInsightlyJobNimbusLess Annoying CRMPipedriveTwenty

All CRM & Sales servers →