_ registry / mcp streamable-http · checked 2h ago

churchsuite-mcp

https://churchsuite.usefulapi.io

Registry code: 32b7a89fa4325224

api record

Tools for ChurchSuite, hosted by usefulapi.io. Read-only tools never change data; ask the user before a tool that creates, changes or deletes ChurchSuite data. Free plan: 100 tool calls per month. Run churchsuite_usage_status to see the calls used this month. Pro (unlimited calls, $9/month or $90/year): when the user wants more calls or reaches the limit, run churchsuite_upgrade; it returns a Stripe Checkout link for the user to open. churchsuite_cancel_subscription cancels Pro at the end of the paid period.

endpoint
https://churchsuite.usefulapi.io/mcp
protocol
streamable-http ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is churchsuite-mcp live?
Yes — it answered the hub's last check (checked 2h ago). It answered 100% of checks over the last 30 days.
Is churchsuite-mcp free to use?
Not measured yet.
What tools does churchsuite-mcp have?
25 tools: churchsuite_get_account, churchsuite_list_children_groups, churchsuite_get_small_group, churchsuite_get_event, churchsuite_list_ministry_teams, churchsuite_list_sites, churchsuite_list_contacts, churchsuite_get_contact, ….
Is churchsuite-mcp safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
100%

90 days 100%· all time 100%

latency
471ms

last good check

priced tools
0

of 25 tools

_ answered our checks, 90 days 1 checks · signed record
  • unknown → live
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 25 tools
25 never probed 0 of 25 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • churchsuite_get_account unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {}
    }
    arguments 5 lines
  • churchsuite_list_children_groups unknown never probed

    List the Children module's groups (classes/age groups: id, name, entry age, check-in capacity and ratio, status). API: GET /children/groups.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "q": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Fuzzy search on the group name."
        },
        "page": {
          "type": "integer",
          "maximum": 100000,
          "minimum": 1,
          "description": "Page number (default 1). Use next_page from the previous reply."
        },
        "status": {
          "enum": [
            "active",
            "archived"
          ],
          "type": "string"
        },
        "per_page": {
          "type": "integer",
          "maximum": 100,
          "minimum": 1,
          "description": "Items per page, 1-100 (default 25)."
        }
      }
    }
    arguments 31 lines
  • churchsuite_get_small_group unknown never probed

    Get one small group by id (schedule, location, description, custom fields, sign-up options, sites). API: GET /smallgroups/groups/{id}.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "group_id"
      ],
      "properties": {
        "group_id": {
          "type": "integer",
          "maximum": 2147483647,
          "description": "The small group's numeric id.",
          "exclusiveMinimum": 0
        }
      }
    }
    arguments 15 lines
  • churchsuite_get_event unknown never probed

    Get one calendar event by id (times, status, category, location, description, visibility, sign-up options). API: GET /calendar/events/{id}.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "event_id"
      ],
      "properties": {
        "event_id": {
          "type": "integer",
          "maximum": 2147483647,
          "description": "The event's numeric id.",
          "exclusiveMinimum": 0
        }
      }
    }
    arguments 15 lines
  • churchsuite_list_ministry_teams unknown never probed

    List the teams inside rota ministries (id, ministry id, name, order). API: GET /rotas/ministry_teams.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "page": {
          "type": "integer",
          "maximum": 100000,
          "minimum": 1,
          "description": "Page number (default 1). Use next_page from the previous reply."
        },
        "per_page": {
          "type": "integer",
          "maximum": 100,
          "minimum": 1,
          "description": "Items per page, 1-100 (default 25)."
        },
        "team_ids": {
          "type": "array",
          "items": {
            "type": "integer",
            "maximum": 2147483647,
            "exclusiveMinimum": 0
          },
          "maxItems": 100,
          "minItems": 1,
          "description": "Only these teams (numeric ChurchSuite ids, up to 100)."
        },
        "ministry_ids": {
          "type": "array",
          "items": {
            "type": "integer",
            "maximum": 2147483647,
            "exclusiveMinimum": 0
          },
          "maxItems": 100,
          "minItems": 1,
          "description": "Only these ministries (numeric ChurchSuite ids, up to 100)."
        }
      }
    }
    arguments 40 lines
  • churchsuite_list_sites unknown never probed

    List the church's sites (campuses/congregations: id, name, initials, address). Site ids filter contacts, children, groups, events and plans. API: GET /account/sites.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "ids": {
          "type": "array",
          "items": {
            "type": "integer",
            "maximum": 2147483647,
            "exclusiveMinimum": 0
          },
          "maxItems": 100,
          "minItems": 1,
          "description": "Only these sites (numeric ChurchSuite ids, up to 100)."
        }
      }
    }
    arguments 17 lines
  • churchsuite_list_contacts unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "q": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Fuzzy search on first/last/formal name, email, telephone, mobile and address."
        },
        "page": {
          "type": "integer",
          "maximum": 100000,
          "minimum": 1,
          "description": "Page number (default 1). Use next_page from the previous reply."
        },
        "status": {
          "enum": [
            "active",
            "archived",
            "pending"
          ],
          "type": "string",
          "description": "Only contacts with this status."
        },
        "tag_ids": {
          "type": "array",
          "items": {
            "type": "integer",
            "maximum": 2147483647,
            "exclusiveMinimum": 0
          },
          "maxItems": 100,
          "minItems": 1,
          "description": "Only these tags (contacts with ANY of them) (numeric ChurchSuite ids, up to 100)."
        },
        "order_by": {
          "enum": [
            "created_at:asc",
            "created_at:desc",
            "id:asc",
            "id:desc",
            "modified_at:asc",
            "modified_at:desc",
            "name:asc",
            "name:desc"
          ],
          "type": "string",
          "description": "Sort order, field:direction."
        },
        "per_page": {
          "type": "integer",
          "maximum": 100,
          "minimum": 1,
          "description": "Items per page, 1-100 (default 25)."
        },
        "site_ids": {
          "type": "array",
          "items": {
            "type": "integer",
            "maximum": 2147483647,
            "exclusiveMinimum": 0
          },
          "maxItems": 100,
          "minItems": 1,
          "description": "Only these sites (numeric ChurchSuite ids, up to 100)."
        }
      }
    }
    arguments 69 lines
  • churchsuite_get_contact unknown never probed

    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}.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "contact_id"
      ],
      "properties": {
        "contact_id": {
          "type": "integer",
          "maximum": 2147483647,
          "description": "The contact's numeric id.",
          "exclusiveMinimum": 0
        }
      }
    }
    arguments 15 lines
  • churchsuite_list_contact_notes unknown never probed

    List the pastoral/admin notes on a contact (content, pinned, visibility, who wrote it and when), pinned first. API: GET /addressbook/contacts/{id}/notes.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "contact_id"
      ],
      "properties": {
        "contact_id": {
          "type": "integer",
          "maximum": 2147483647,
          "description": "The contact's numeric id.",
          "exclusiveMinimum": 0
        }
      }
    }
    arguments 15 lines
  • churchsuite_add_contact_note unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "contact_id",
        "content"
      ],
      "properties": {
        "pinned": {
          "type": "boolean",
          "description": "Pin the note to the top of the contact's notes (default false)."
        },
        "content": {
          "type": "string",
          "maxLength": 10000,
          "minLength": 1,
          "description": "The note text."
        },
        "contact_id": {
          "type": "integer",
          "maximum": 2147483647,
          "description": "The contact's numeric id.",
          "exclusiveMinimum": 0
        },
        "private_to_me": {
          "type": "boolean",
          "description": "true = only the API user can see the note (ChurchSuite visible_to.just_me). Default: no restriction."
        }
      }
    }
    arguments 30 lines
  • churchsuite_list_contact_tags unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "q": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Fuzzy search on the tag name."
        },
        "page": {
          "type": "integer",
          "maximum": 100000,
          "minimum": 1,
          "description": "Page number (default 1). Use next_page from the previous reply."
        },
        "order_by": {
          "enum": [
            "created_at:asc",
            "created_at:desc",
            "id:asc",
            "id:desc",
            "modified_at:asc",
            "modified_at:desc",
            "name:asc",
            "name:desc"
          ],
          "type": "string",
          "description": "Sort order, field:direction."
        },
        "per_page": {
          "type": "integer",
          "maximum": 100,
          "minimum": 1,
          "description": "Items per page, 1-100 (default 25)."
        }
      }
    }
    arguments 38 lines
  • churchsuite_list_children unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "q": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Fuzzy search on first/last/formal name, email, mobile and address."
        },
        "page": {
          "type": "integer",
          "maximum": 100000,
          "minimum": 1,
          "description": "Page number (default 1). Use next_page from the previous reply."
        },
        "status": {
          "enum": [
            "active",
            "archived",
            "pending"
          ],
          "type": "string",
          "description": "Only children with this status."
        },
        "tag_ids": {
          "type": "array",
          "items": {
            "type": "integer",
            "maximum": 2147483647,
            "exclusiveMinimum": 0
          },
          "maxItems": 100,
          "minItems": 1,
          "description": "Only these tags (numeric ChurchSuite ids, up to 100)."
        },
        "order_by": {
          "enum": [
            "created_at:asc",
            "created_at:desc",
            "id:asc",
            "id:desc",
            "modified_at:asc",
            "modified_at:desc",
            "name:asc",
            "name:desc"
          ],
          "type": "string",
          "description": "Sort order, field:direction."
        },
        "per_page": {
          "type": "integer",
          "maximum": 100,
          "minimum": 1,
          "description": "Items per page, 1-100 (default 25)."
        },
        "site_ids": {
          "type": "array",
          "items": {
            "type": "integer",
            "maximum": 2147483647,
            "exclusiveMinimum": 0
          },
          "maxItems": 100,
          "minItems": 1,
          "description": "Only these sites (numeric ChurchSuite ids, up to 100)."
        },
        "group_ids": {
          "type": "array",
          "items": {
            "type": "integer",
            "maximum": 2147483647,
            "exclusiveMinimum": 0
          },
          "maxItems": 100,
          "minItems": 1,
          "description": "Only these children's groups (see list_children_groups) (numeric ChurchSuite ids, up to 100)."
        },
        "include_medical": {
          "type": "boolean",
          "description": "true = also return the medical, medical_short, doctor_details and additional_needs fields (sensitive; default false)."
        }
      }
    }
    arguments 84 lines
  • churchsuite_get_child unknown never probed

    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}.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "child_id"
      ],
      "properties": {
        "child_id": {
          "type": "integer",
          "maximum": 2147483647,
          "description": "The child's numeric id.",
          "exclusiveMinimum": 0
        },
        "include_medical": {
          "type": "boolean",
          "description": "true = also return the medical, medical_short, doctor_details and additional_needs fields (sensitive; default false)."
        }
      }
    }
    arguments 19 lines
  • churchsuite_list_small_groups unknown never probed

    List small groups (home groups/life groups: name, day, time, frequency, location, description, dates, sign-up options). API: GET /smallgroups/groups.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "q": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Fuzzy search on the group name and location."
        },
        "days": {
          "type": "array",
          "items": {
            "enum": [
              "monday",
              "tuesday",
              "wednesday",
              "thursday",
              "friday",
              "saturday",
              "sunday"
            ],
            "type": "string"
          },
          "maxItems": 7,
          "minItems": 1,
          "description": "Only groups meeting on these days."
        },
        "page": {
          "type": "integer",
          "maximum": 100000,
          "minimum": 1,
          "description": "Page number (default 1). Use next_page from the previous reply."
        },
        "view": {
          "enum": [
            "past",
            "active",
            "active_future",
            "future"
          ],
          "type": "string",
          "description": "Groups whose date range is in the past, active now, active or future, or future."
        },
        "order_by": {
          "enum": [
            "created_at:asc",
            "created_at:desc",
            "id:asc",
            "id:desc",
            "modified_at:asc",
            "modified_at:desc",
            "name:asc",
            "name:desc"
          ],
          "type": "string",
          "description": "Sort order, field:direction."
        },
        "per_page": {
          "type": "integer",
          "maximum": 100,
          "minimum": 1,
          "description": "Items per page, 1-100 (default 25)."
        },
        "site_ids": {
          "type": "array",
          "items": {
            "type": "integer",
            "maximum": 2147483647,
            "exclusiveMinimum": 0
          },
          "maxItems": 100,
          "minItems": 1,
          "description": "Only these sites (numeric ChurchSuite ids, up to 100)."
        },
        "frequency": {
          "enum": [
            "weekly",
            "fortnightly",
            "monthly",
            "quarterly",
            "custom"
          ],
          "type": "string"
        },
        "cluster_ids": {
          "type": "array",
          "items": {
            "type": "integer",
            "maximum": 2147483647,
            "exclusiveMinimum": 0
          },
          "maxItems": 100,
          "minItems": 1,
          "description": "Only these clusters (numeric ChurchSuite ids, up to 100)."
        }
      }
    }
    arguments 98 lines
  • churchsuite_list_small_group_members unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "page": {
          "type": "integer",
          "maximum": 100000,
          "minimum": 1,
          "description": "Page number (default 1). Use next_page from the previous reply."
        },
        "status": {
          "enum": [
            "active",
            "pending"
          ],
          "type": "string"
        },
        "role_id": {
          "type": "integer",
          "maximum": 2147483647,
          "description": "Only members with this role id.",
          "exclusiveMinimum": 0
        },
        "order_by": {
          "enum": [
            "created_at:asc",
            "created_at:desc",
            "id:asc",
            "id:desc",
            "modified_at:asc",
            "modified_at:desc",
            "name:asc",
            "name:desc"
          ],
          "type": "string",
          "description": "Sort order, field:direction."
        },
        "per_page": {
          "type": "integer",
          "maximum": 100,
          "minimum": 1,
          "description": "Items per page, 1-100 (default 25)."
        },
        "child_ids": {
          "type": "array",
          "items": {
            "type": "integer",
            "maximum": 2147483647,
            "exclusiveMinimum": 0
          },
          "maxItems": 100,
          "minItems": 1,
          "description": "Only these children (numeric ChurchSuite ids, up to 100)."
        },
        "group_ids": {
          "type": "array",
          "items": {
            "type": "integer",
            "maximum": 2147483647,
            "exclusiveMinimum": 0
          },
          "maxItems": 100,
          "minItems": 1,
          "description": "Only these small groups (numeric ChurchSuite ids, up to 100)."
        },
        "contact_ids": {
          "type": "array",
          "items": {
            "type": "integer",
            "maximum": 2147483647,
            "exclusiveMinimum": 0
          },
          "maxItems": 100,
          "minItems": 1,
          "description": "Only these contacts (numeric ChurchSuite ids, up to 100)."
        }
      }
    }
    arguments 78 lines
  • churchsuite_list_events unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "q": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Fuzzy search on the event name."
        },
        "page": {
          "type": "integer",
          "maximum": 100000,
          "minimum": 1,
          "description": "Page number (default 1). Use next_page from the previous reply."
        },
        "status": {
          "enum": [
            "cancelled",
            "confirmed",
            "pending"
          ],
          "type": "string"
        },
        "order_by": {
          "enum": [
            "created_at:asc",
            "created_at:desc",
            "date:asc",
            "date:desc",
            "id:asc",
            "id:desc",
            "modified_at:asc",
            "modified_at:desc",
            "name:asc",
            "name:desc"
          ],
          "type": "string",
          "description": "Sort order, field:direction."
        },
        "per_page": {
          "type": "integer",
          "maximum": 100,
          "minimum": 1,
          "description": "Items per page, 1-100 (default 25)."
        },
        "site_ids": {
          "type": "array",
          "items": {
            "type": "integer",
            "maximum": 2147483647,
            "exclusiveMinimum": 0
          },
          "maxItems": 100,
          "minItems": 1,
          "description": "Only these sites (numeric ChurchSuite ids, up to 100)."
        },
        "sequence_id": {
          "type": "integer",
          "maximum": 2147483647,
          "description": "Only events of this recurring sequence.",
          "exclusiveMinimum": 0
        },
        "category_ids": {
          "type": "array",
          "items": {
            "type": "integer",
            "maximum": 2147483647,
            "exclusiveMinimum": 0
          },
          "maxItems": 100,
          "minItems": 1,
          "description": "Only these event categories (see list_event_categories) (numeric ChurchSuite ids, up to 100)."
        },
        "starts_after": {
          "type": "string",
          "description": "Only events starting after this date (YYYY-MM-DD)."
        },
        "starts_before": {
          "type": "string",
          "description": "Only events starting before this date (YYYY-MM-DD)."
        }
      }
    }
    arguments 84 lines
  • churchsuite_list_event_categories unknown never probed

    List calendar categories (id, name, colour, status). Use the ids as category_ids in list_events. API: GET /calendar/categories.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "q": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Fuzzy search on the category name."
        },
        "page": {
          "type": "integer",
          "maximum": 100000,
          "minimum": 1,
          "description": "Page number (default 1). Use next_page from the previous reply."
        },
        "status": {
          "enum": [
            "active",
            "archived"
          ],
          "type": "string"
        },
        "per_page": {
          "type": "integer",
          "maximum": 100,
          "minimum": 1,
          "description": "Items per page, 1-100 (default 25)."
        }
      }
    }
    arguments 31 lines
  • churchsuite_list_ministries unknown never probed

    List the Rotas module's ministries (worship team, welcome team…: id, name, description, days, rota and rotation type, status, sites). API: GET /rotas/ministries.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "q": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Fuzzy search on the ministry name."
        },
        "ids": {
          "type": "array",
          "items": {
            "type": "integer",
            "maximum": 2147483647,
            "exclusiveMinimum": 0
          },
          "maxItems": 100,
          "minItems": 1,
          "description": "Only these ministries (numeric ChurchSuite ids, up to 100)."
        },
        "page": {
          "type": "integer",
          "maximum": 100000,
          "minimum": 1,
          "description": "Page number (default 1). Use next_page from the previous reply."
        },
        "per_page": {
          "type": "integer",
          "maximum": 100,
          "minimum": 1,
          "description": "Items per page, 1-100 (default 25)."
        },
        "site_ids": {
          "type": "array",
          "items": {
            "type": "integer",
            "maximum": 2147483647,
            "exclusiveMinimum": 0
          },
          "maxItems": 100,
          "minItems": 1,
          "description": "Only these sites (numeric ChurchSuite ids, up to 100)."
        },
        "statuses": {
          "type": "array",
          "items": {
            "enum": [
              "active",
              "archived"
            ],
            "type": "string"
          },
          "maxItems": 2,
          "minItems": 1,
          "description": "Only ministries with these statuses."
        }
      }
    }
    arguments 59 lines
  • churchsuite_list_ministry_members unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "page": {
          "type": "integer",
          "maximum": 100000,
          "minimum": 1,
          "description": "Page number (default 1). Use next_page from the previous reply."
        },
        "order_by": {
          "enum": [
            "created_at:asc",
            "created_at:desc",
            "id:asc",
            "id:desc",
            "modified_at:asc",
            "modified_at:desc",
            "name:asc",
            "name:desc"
          ],
          "type": "string",
          "description": "Sort order, field:direction."
        },
        "per_page": {
          "type": "integer",
          "maximum": 100,
          "minimum": 1,
          "description": "Items per page, 1-100 (default 25)."
        },
        "role_ids": {
          "type": "array",
          "items": {
            "type": "integer",
            "maximum": 2147483647,
            "exclusiveMinimum": 0
          },
          "maxItems": 100,
          "minItems": 1,
          "description": "Only these roles (numeric ChurchSuite ids, up to 100)."
        },
        "team_ids": {
          "type": "array",
          "items": {
            "type": "integer",
            "maximum": 2147483647,
            "exclusiveMinimum": 0
          },
          "maxItems": 100,
          "minItems": 1,
          "description": "Only these teams (numeric ChurchSuite ids, up to 100)."
        },
        "ministry_ids": {
          "type": "array",
          "items": {
            "type": "integer",
            "maximum": 2147483647,
            "exclusiveMinimum": 0
          },
          "maxItems": 100,
          "minItems": 1,
          "description": "Only these ministries (numeric ChurchSuite ids, up to 100)."
        }
      }
    }
    arguments 65 lines
  • churchsuite_list_unavailability unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "page": {
          "type": "integer",
          "maximum": 100000,
          "minimum": 1,
          "description": "Page number (default 1). Use next_page from the previous reply."
        },
        "order_by": {
          "enum": [
            "created_at:asc",
            "created_at:desc",
            "date:asc",
            "date:desc",
            "id:asc",
            "id:desc",
            "modified_at:asc",
            "modified_at:desc"
          ],
          "type": "string",
          "description": "Sort order, field:direction."
        },
        "per_page": {
          "type": "integer",
          "maximum": 100,
          "minimum": 1,
          "description": "Items per page, 1-100 (default 25)."
        },
        "child_ids": {
          "type": "array",
          "items": {
            "type": "integer",
            "maximum": 2147483647,
            "exclusiveMinimum": 0
          },
          "maxItems": 100,
          "minItems": 1,
          "description": "Only these children (numeric ChurchSuite ids, up to 100)."
        },
        "contact_ids": {
          "type": "array",
          "items": {
            "type": "integer",
            "maximum": 2147483647,
            "exclusiveMinimum": 0
          },
          "maxItems": 100,
          "minItems": 1,
          "description": "Only these contacts (numeric ChurchSuite ids, up to 100)."
        },
        "ministry_ids": {
          "type": "array",
          "items": {
            "type": "integer",
            "maximum": 2147483647,
            "exclusiveMinimum": 0
          },
          "maxItems": 100,
          "minItems": 1,
          "description": "Only these ministries (numeric ChurchSuite ids, up to 100)."
        },
        "starts_after": {
          "type": "string",
          "description": "Only unavailability starting after this date (YYYY-MM-DD)."
        },
        "starts_before": {
          "type": "string",
          "description": "Only unavailability starting before this date (YYYY-MM-DD)."
        }
      }
    }
    arguments 73 lines
  • churchsuite_list_service_plans unknown never probed

    List service plans from the Planning module (name, date, time, status, linked event, sites). API: GET /planning/plans.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "q": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Fuzzy search on the plan name."
        },
        "page": {
          "type": "integer",
          "maximum": 100000,
          "minimum": 1,
          "description": "Page number (default 1). Use next_page from the previous reply."
        },
        "status": {
          "enum": [
            "draft",
            "published"
          ],
          "type": "string"
        },
        "order_by": {
          "enum": [
            "created_at:asc",
            "created_at:desc",
            "date:asc",
            "date:desc",
            "id:asc",
            "id:desc",
            "modified_at:asc",
            "modified_at:desc",
            "name:asc",
            "name:desc"
          ],
          "type": "string",
          "description": "Sort order, field:direction."
        },
        "per_page": {
          "type": "integer",
          "maximum": 100,
          "minimum": 1,
          "description": "Items per page, 1-100 (default 25)."
        },
        "site_ids": {
          "type": "array",
          "items": {
            "type": "integer",
            "maximum": 2147483647,
            "exclusiveMinimum": 0
          },
          "maxItems": 100,
          "minItems": 1,
          "description": "Only these sites (numeric ChurchSuite ids, up to 100)."
        },
        "starts_after": {
          "type": "string",
          "description": "Only plans dated after this date (YYYY-MM-DD)."
        },
        "starts_before": {
          "type": "string",
          "description": "Only plans dated before this date (YYYY-MM-DD)."
        }
      }
    }
    arguments 66 lines
  • churchsuite_list_plan_items unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "plan_ids"
      ],
      "properties": {
        "page": {
          "type": "integer",
          "maximum": 100000,
          "minimum": 1,
          "description": "Page number (default 1). Use next_page from the previous reply."
        },
        "order_by": {
          "enum": [
            "created_at:asc",
            "created_at:desc",
            "id:asc",
            "id:desc",
            "modified_at:asc",
            "modified_at:desc",
            "name:asc",
            "name:desc",
            "order:asc",
            "order:desc"
          ],
          "type": "string",
          "description": "Sort order, field:direction."
        },
        "per_page": {
          "type": "integer",
          "maximum": 100,
          "minimum": 1,
          "description": "Items per page, 1-100 (default 25)."
        },
        "plan_ids": {
          "type": "array",
          "items": {
            "type": "integer",
            "maximum": 2147483647,
            "exclusiveMinimum": 0
          },
          "maxItems": 20,
          "minItems": 1,
          "description": "The plan ids (from list_service_plans), up to 20."
        }
      }
    }
    arguments 48 lines
  • churchsuite_list_giving_funds unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "q": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Fuzzy search on the fund name."
        },
        "page": {
          "type": "integer",
          "maximum": 100000,
          "minimum": 1,
          "description": "Page number (default 1). Use next_page from the previous reply."
        },
        "status": {
          "enum": [
            "active",
            "archived"
          ],
          "type": "string"
        },
        "per_page": {
          "type": "integer",
          "maximum": 100,
          "minimum": 1,
          "description": "Items per page, 1-100 (default 25)."
        }
      }
    }
    arguments 31 lines
  • churchsuite_list_gatherings unknown never probed

    List the Attendance module's gatherings (services/meetings whose attendance is counted: id, name, sites, status). API: GET /attendance/gatherings.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "q": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1,
          "description": "Fuzzy search on the gathering name."
        },
        "page": {
          "type": "integer",
          "maximum": 100000,
          "minimum": 1,
          "description": "Page number (default 1). Use next_page from the previous reply."
        },
        "status": {
          "enum": [
            "active",
            "archived"
          ],
          "type": "string"
        },
        "per_page": {
          "type": "integer",
          "maximum": 100,
          "minimum": 1,
          "description": "Items per page, 1-100 (default 25)."
        },
        "site_ids": {
          "type": "array",
          "items": {
            "type": "integer",
            "maximum": 2147483647,
            "exclusiveMinimum": 0
          },
          "maxItems": 100,
          "minItems": 1,
          "description": "Only these sites (numeric ChurchSuite ids, up to 100)."
        }
      }
    }
    arguments 42 lines
  • churchsuite_list_attendance_records unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "days": {
          "type": "array",
          "items": {
            "enum": [
              "monday",
              "tuesday",
              "wednesday",
              "thursday",
              "friday",
              "saturday",
              "sunday"
            ],
            "type": "string"
          },
          "maxItems": 7,
          "minItems": 1,
          "description": "Only records on these weekdays."
        },
        "page": {
          "type": "integer",
          "maximum": 100000,
          "minimum": 1,
          "description": "Page number (default 1). Use next_page from the previous reply."
        },
        "is_after": {
          "type": "string",
          "description": "Only records after this date (YYYY-MM-DD)."
        },
        "per_page": {
          "type": "integer",
          "maximum": 100,
          "minimum": 1,
          "description": "Items per page, 1-100 (default 25)."
        },
        "is_before": {
          "type": "string",
          "description": "Only records before this date (YYYY-MM-DD)."
        },
        "gathering_ids": {
          "type": "array",
          "items": {
            "type": "integer",
            "maximum": 2147483647,
            "exclusiveMinimum": 0
          },
          "maxItems": 100,
          "minItems": 1,
          "description": "Only these gatherings (numeric ChurchSuite ids, up to 100)."
        }
      }
    }
    arguments 55 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id 32b7a89fa4325224.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/32b7a89fa4325224/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/32b7a89fa4325224/badge.svg)](https://brick.blue/agent/32b7a89fa4325224?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.

_ also on usefulapi.io 66 entries

Served from the same domain, which is what was measured. Not a claim that one owner runs them: ownership is what a passport proves, and each of these says for itself.

58 more sit on this domain. All of them.