ChurchSuite MCP by usefulapi

Read ChurchSuite contacts, children, small groups, rotas, events and attendance; add contact notes.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
89%
Calidad de los nombres
74%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (7)

  • LOWTool 'churchsuite_list_children_groups' name length outside 3-30 rangeen churchsuite_list_children_groups
  • LOWTool 'churchsuite_list_small_group_members' name length outside 3-30 rangeen churchsuite_list_small_group_members
  • LOWTool 'churchsuite_list_event_categories' name length outside 3-30 rangeen churchsuite_list_event_categories
  • LOWTool 'churchsuite_list_ministry_teams' name length outside 3-30 rangeen churchsuite_list_ministry_teams
  • LOWTool 'churchsuite_list_ministry_members' name length outside 3-30 rangeen churchsuite_list_ministry_members
  • LOWTool 'churchsuite_list_unavailability' name length outside 3-30 rangeen churchsuite_list_unavailability
  • LOWTool 'churchsuite_list_attendance_records' name length outside 3-30 rangeen churchsuite_list_attendance_records

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~7,286Tokens (definiciones de herramientas)
~2.2 KBTamaño de respuesta típico
Impacto significativo en la atención (5.69% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "churchsuite": {
      "url": "https://churchsuite.usefulapi.io/mcp"
    }
  }
}

Puntos de conexión remotos

https://churchsuite.usefulapi.io/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (25)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢churchsuite_get_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.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢churchsuite_list_sites(ids)

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

Esquema de entrada

{
  "type": "object",
  "properties": {
    "ids": {
      "description": "Only these sites (numeric ChurchSuite ids, up to 100).",
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 2147483647
      }
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢churchsuite_list_contacts(q, status, tag_ids, site_ids, order_by, ...)

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.

Esquema de entrada

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

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

Esquema de entrada

{
  "type": "object",
  "properties": {
    "contact_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 2147483647,
      "description": "The contact's numeric id."
    }
  },
  "required": [
    "contact_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢churchsuite_list_contact_notes(contact_id)

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

Esquema de entrada

{
  "type": "object",
  "properties": {
    "contact_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 2147483647,
      "description": "The contact's numeric id."
    }
  },
  "required": [
    "contact_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡churchsuite_add_contact_note(contact_id, content, pinned, private_to_me)

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.

Esquema de entrada

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

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.

Esquema de entrada

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

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.

Esquema de entrada

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

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

Esquema de entrada

{
  "type": "object",
  "properties": {
    "child_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 2147483647,
      "description": "The child's numeric id."
    },
    "include_medical": {
      "description": "true = also return the medical, medical_short, doctor_details and additional_needs fields (sensitive; default false).",
      "type": "boolean"
    }
  },
  "required": [
    "child_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢churchsuite_list_children_groups(q, status, page, per_page)

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

Esquema de entrada

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

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

Esquema de entrada

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

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

Esquema de entrada

{
  "type": "object",
  "properties": {
    "group_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 2147483647,
      "description": "The small group's numeric id."
    }
  },
  "required": [
    "group_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢churchsuite_list_small_group_members(group_ids, contact_ids, child_ids, role_id, status, ...)

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.

Esquema de entrada

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

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.

Esquema de entrada

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

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

Esquema de entrada

{
  "type": "object",
  "properties": {
    "event_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 2147483647,
      "description": "The event's numeric id."
    }
  },
  "required": [
    "event_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢churchsuite_list_event_categories(q, status, page, per_page)

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

Esquema de entrada

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

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

Esquema de entrada

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

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

Esquema de entrada

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

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.

Esquema de entrada

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

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.

Esquema de entrada

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

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

Esquema de entrada

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

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "plan_ids": {
      "minItems": 1,
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 2147483647
      },
      "description": "The plan ids (from list_service_plans), up to 20."
    },
    "order_by": {
      "description": "Sort order, field:direction.",
      "type": "string",
      "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"
      ]
    },
    "page": {
      "description": "Page number (default 1). Use next_page from the previous reply.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "per_page": {
      "description": "Items per page, 1-100 (default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "required": [
    "plan_ids"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢churchsuite_list_giving_funds(q, status, page, per_page)

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.

Esquema de entrada

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

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

Esquema de entrada

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

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.

Esquema de entrada

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

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada25 herramientas