ChurchSuite Bookings MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CHURCHSUITE_CLIENT_ID | Yes | Client ID for ChurchSuite API authentication | |
| CHURCHSUITE_CLIENT_SECRET | Yes | Client Secret for ChurchSuite API authentication |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_bookingsA | List ChurchSuite bookings, optionally filtered by status, date range, customer, type, or a fuzzy search string. Dates (starts_after/starts_before) must be in YYYY-MM-DD format. |
| get_bookingA | Retrieve a single ChurchSuite booking by its ID. |
| list_booked_resourcesB | List resources booked against ChurchSuite bookings, optionally filtered by booking ID. |
| list_resourcesC | List the bookable resources (rooms, equipment, etc.) that can be booked against a booking. |
| get_resourceA | Retrieve a single bookable resource by its ID. |
| list_contactsB | List addressbook contacts, optionally filtered by status, tag, or a fuzzy search string. Use this to find a contact's numeric ID (person_id, with person_type "addressbook_contact") for use with find_serving_pattern. The fuzzy search (q) matches against first_name, last_name, formal_name, email, telephone, mobile, address, job, and employer. |
| get_contactA | Retrieve a single addressbook contact by its ID. |
| list_ministriesC | List ChurchSuite Rotas ministries (e.g. Worship, Production), optionally filtered by status or name. |
| get_ministryB | Retrieve a single Rotas ministry by its ID, including its serving days, times, and rotation type. |
| list_ministry_teamsB | List the teams within Rotas ministries, optionally filtered by ministry or team ID. |
| get_ministry_teamB | Retrieve a single Rotas ministry team by its ID. |
| list_ministry_membersA | List members of Rotas ministries, optionally filtered by ministry, role, or team. Each member links to a person (an addressbook contact or child) via person.id and person.type. There is no API filter by person, so to find a specific person's memberships, list members for the relevant ministries/teams and filter the results by person.id client-side. |
| list_rota_rolesC | List the roles (e.g. Worship Leader, Sound Engineer) defined within Rotas ministries. |
| find_serving_patternA | Find which Rotas ministries/teams/roles a person belongs to, and their typical serving pattern. IMPORTANT: ChurchSuite's API v2 does not expose individual rota slot assignments or dates, only ministry membership and a ministry's recurring schedule definition (days, starts_at/ends_at, rotation_type). This tool cannot tell you the exact next date someone is rostered on; it returns the ministries they serve in plus that ministry's recurrence pattern so you can describe roughly how often/when they serve (e.g. "fortnightly on Sundays at 09:30"). For a confirmed next serving date, the user should check My ChurchSuite directly. |
| find_next_booking_for_resourceA | Find the next upcoming booking that has a specific resource booked against it. Provide either resource_id, or resource_name to resolve it via a fuzzy search against /bookings/resources (must match exactly one resource). from_date (YYYY-MM-DD) is inclusive and defaults to today. Note: ChurchSuite's API has no resource or date filter on /bookings/booked_resources, so this fetches every booked resource record and filters client-side - it may be slow on accounts with a long booking history. |
| find_next_booking_by_nameA | Find the next upcoming booking whose name/title fuzzy-matches the given string. Searches /bookings/bookings by name (ChurchSuite's q filter also matches date, reference, and sequence_id). from_date (YYYY-MM-DD) is inclusive and defaults to today. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/stevehaskew/churchsuite-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server