Servidor MCP

breeze-chms

io.usefulapi/breeze-chms
Negocio y operaciones Productividad Público y accesible MCP 2026-07-28

Qué hace este MCP

Manages church people, tags, events, attendance, volunteers, forms, profile fields, and contribution records in Breeze ChMS.

breeze_add_event
Add an event
WRITE: create an event on the church calendar, optionally as another instance of an existing series. Times are Unix timestamps in seconds. This server cannot delete events, so a mistaken event must be removed in the Breeze app. Breeze: GET /api/events/add.
Destructivo
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['name', 'starts_on'], 'properties': {'name': {'type': 'string', 'minLength': 1, 'description': 'Event name.'}, 'all_day': {'type': 'boolean', 'description': 'All-day event; only the date of starts_on is used.'}, 'ends_on': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'End time, Unix timestamp in seconds (default: one hour after start).', 'exclusiveMinimum': 0}, 'event_id': {'type': 'string', 'pattern': '^\\d+$', 'description': 'Numeric Breeze id of the existing event series to add this instance to.'}, 'starts_on': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Start time, Unix timestamp in seconds.', 'exclusiveMinimum': 0}, 'category_id': {'type': 'string', 'pattern': '^\\d+$', 'description': 'Numeric Breeze id of the calendar to place the event on (default: main).'}, 'description': {'type': 'string', 'description': 'Event description (HTML allowed).'}}}
breeze_add_person
Add a person
WRITE: create a new person profile with a first and last name, and optionally set profile fields in the same call (same field shape as breeze_update_person). Check breeze_list_people first to avoid duplicates. Returns the new profile including its id. Breeze: GET /api/people/add.
Destructivo
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['first', 'last'], 'properties': {'last': {'type': 'string', 'minLength': 1, 'description': 'Last name.'}, 'first': {'type': 'string', 'minLength': 1, 'description': 'First name.'}, 'fields': {'type': 'array', 'items': {'type': 'object', 'required': ['field_id', 'field_type', 'response'], 'properties': {'details': {'type': 'object', 'description': 'Extra data for compound fields, e.g. email {"address":"a@b.org"}; phone {"phone_mobile":"111-111-1111"} (or phone_home / phone_work); address {"street_address","city","state","zip"}; family_role {"person_id":123,"role_id":3} (1 Unassigned, 2 Child, 3 Adult, 4 Head of Household, 5 Spouse).', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'field_id': {'type': 'string', 'pattern': '^\\d+$', 'description': 'The profile field_id, from breeze_list_profile_fields.'}, 'response': {'type': ['string', 'boolean'], 'description': 'The value. Text/date: the string (dates as M/D/YYYY). radio/checkbox: the option_id. email/phone/address: true, with the value in details.'}, 'field_type': {'type': 'string', 'minLength': 1, 'description': 'Breeze field type: text, textarea, radio (multiple choice AND dropdown), checkbox, date, birthdate, email, phone, address or family_role.'}}}, 'description': 'Profile fields to set (sent as fields_json).'}}}
breeze_add_tag
Create a tag
WRITE: create a new tag, at the top level or inside a folder. Returns the new tag with its id. Breeze: GET /api/tags/add_tag.
Destructivo
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['name'], 'properties': {'name': {'type': 'string', 'minLength': 1, 'description': 'Tag name, e.g. "Small Groups".'}, 'folder_id': {'type': 'string', 'pattern': '^\\d+$', 'description': 'Numeric Breeze id of the folder to place the tag in (default: top level).'}}}
breeze_assign_tag
Assign a tag to a person
WRITE: add a tag to one person (e.g. put them in a small group or list). Undo with breeze_unassign_tag. Breeze: GET /api/tags/assign.
Destructivo
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['person_id', 'tag_id'], 'properties': {'tag_id': {'type': 'string', 'pattern': '^\\d+$', 'description': 'Numeric Breeze id of the tag.'}, 'person_id': {'type': 'string', 'pattern': '^\\d+$', 'description': 'Numeric Breeze id of the person.'}}}
breeze_get_account_summary
Get the account summary
The church account this key belongs to: name, subdomain, status, timezone and country/currency. A cheap way to confirm BREEZE_SUBDOMAIN and BREEZE_API_KEY are right. Breeze: GET /api/account/summary.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
breeze_get_event
Get an event instance
Fetch one event instance, optionally with the other instances in its series (then the response is an array of {id, start} only). Cached by Breeze, may lag up to 15 minutes. Breeze: GET /api/events/list_event.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['instance_id'], 'properties': {'details': {'type': 'boolean', 'description': 'Include description, check-in settings, etc.'}, 'eligible': {'type': 'boolean', 'description': 'Include check-in eligibility details.'}, 'schedule': {'type': 'boolean', 'description': 'Also return other instances in the same series.'}, 'instance_id': {'type': 'string', 'pattern': '^\\d+$', 'description': 'Numeric Breeze id of the event instance.'}, 'schedule_limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'With schedule: how many series instances, 1-100 (default 10).'}, 'schedule_direction': {'enum': ['before', 'after'], 'type': 'string', 'description': 'With schedule: instances before (default) or after this one.'}}}
breeze_get_person
Get a person
Fetch one person's profile by id, including address and — by default — every profile field keyed by field_id, plus family members. Pair with breeze_list_profile_fields to label the field ids. Breeze: GET /api/people/{person_id}.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['person_id'], 'properties': {'details': {'type': 'boolean', 'description': 'Defaults to true (all information). false = only id and name.'}, 'person_id': {'type': 'string', 'pattern': '^\\d+$', 'description': 'Numeric Breeze id of the person.'}}}
breeze_list_account_log
List the account log
The account's audit log for one action type (e.g. person_updated, tag_assign, contribution_added), optionally within a date range or by one user. Good for 'what changed since…' and incremental sync. Breeze: GET /api/account/list_log.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['action'], 'properties': {'end': {'type': 'string', 'pattern': '^\\d{4}-\\d{1,2}-\\d{1,2}$', 'description': 'Actions on or before (YYYY-MM-DD).'}, 'limit': {'type': 'integer', 'maximum': 3000, 'minimum': 1, 'description': 'Max rows, 1-3000 (Breeze default 500).'}, 'start': {'type': 'string', 'pattern': '^\\d{4}-\\d{1,2}-\\d{1,2}$', 'description': 'Actions on or after (YYYY-MM-DD).'}, 'action': {'enum': ['text_sent', 'contribution_added', 'contribution_updated', 'contribution_deleted', 'bulk_contributions_deleted', 'envelope_created', 'envelope_updated', 'envelope_deleted', 'payment_method_updated', 'payment_method_deleted', 'payment_method_created', 'bank_account_added', 'bank_account_updated', 'transfer_day_changed', 'bank_account_deleted', 'payment_association_deleted', 'payment_association_created', 'bulk_import_contributions', 'bulk_import_pledges', 'bulk_pledges_deleted', 'batch_updated', 'batch_deleted', 'bulk_envelopes_deleted', 'event_created', 'event_updated', 'event_deleted', 'event_instance_deleted', 'event_future_deleted', 'events_calendar_created', 'events_calendar_updated', 'events_calendar_deleted', 'bulk_import_attendance', 'attendance_deleted', 'bulk_attendance_deleted', 'volunteer_role_created', 'volunteer_role_deleted', 'person_created', 'person_updated', 'person_deleted', 'person_archived', 'person_merged', 'people_updated', 'bulk_update_people', 'bulk_people_deleted', 'bulk_people_archived', 'bulk_import_people', 'bulk_notes_deleted', 'tag_created', 'tag_updated', 'tag_deleted', 'bulk_tags_deleted', 'tag_folder_created', 'tag_folder_updated', 'tag_folder_deleted', 'tag_assign', 'tag_unassign', 'form_created', 'form_updated', 'form_deleted', 'form_entry_updated', 'form_entry_deleted', 'followup_option_created', 'followup_option_updated', 'followup_option_deleted', 'user_created', 'user_updated', 'user_deleted', 'role_created', 'role_updated', 'role_deleted', 'extension_installed', 'extension_uninstalled', 'extension_upgraded', 'extension_downgraded', 'sub_payment_method_updated'], 'type': 'string', 'description': 'Which logged action to return (required by Breeze).'}, 'details': {'type': 'boolean', 'description': 'Include a free-form description of each action (not standardized).'}, 'user_id': {'type': 'string', 'pattern': '^\\d+$', 'description': 'Numeric Breeze id of the Breeze user who made the change.'}}}
breeze_list_attendance
List attendance
Who checked in to one event instance (person_id, check-in time created_on, check_out), optionally with each person's details, or the anonymous head count instead. Breeze: GET /api/events/attendance/list.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['instance_id'], 'properties': {'type': {'enum': ['person', 'anonymous'], 'type': 'string', 'description': 'person (default) = named check-ins; anonymous = head count.'}, 'details': {'type': 'boolean', 'description': "Include each attendee's profile details."}, 'instance_id': {'type': 'string', 'pattern': '^\\d+$', 'description': 'Numeric Breeze id of the event instance.'}}}
breeze_list_calendars
List calendars
List the church's event calendars (id, name, color and iCal feed address). The id is the category_id for breeze_list_events and breeze_add_event. Breeze: GET /api/events/calendars/list.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
breeze_list_contributions
List contributions
List recorded contributions (gifts) given within a date range, optionally narrowed by giver (with their family), amount, payment method, fund, envelope, batch or form. Read-only: this server never adds, edits or deletes gifts. Legacy endpoint: no longer shown on Breeze's current API reference; churches whose giving runs through Tithely may get an error. Breeze: GET /api/giving/list.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['start', 'end'], 'properties': {'end': {'type': 'string', 'pattern': '^\\d{4}-\\d{1,2}-\\d{1,2}$', 'description': 'Contributions given on or before (YYYY-MM-DD).'}, 'forms': {'type': 'array', 'items': {'type': 'string', 'pattern': '^\\d+$'}, 'minItems': 1, 'description': 'Only these form ids.'}, 'start': {'type': 'string', 'pattern': '^\\d{4}-\\d{1,2}-\\d{1,2}$', 'description': 'Contributions given on or after (YYYY-MM-DD).'}, 'batches': {'type': 'array', 'items': {'type': 'string', 'pattern': '^\\d+$'}, 'minItems': 1, 'description': 'Only these batch number ids.'}, 'fund_ids': {'type': 'array', 'items': {'type': 'string', 'pattern': '^\\d+$'}, 'minItems': 1, 'description': 'Only these fund (from breeze_list_funds) ids.'}, 'person_id': {'type': 'string', 'pattern': '^\\d+$', 'description': 'Numeric Breeze id of the giver.'}, 'amount_max': {'type': 'number', 'minimum': 0, 'description': 'Only gifts of at most this amount.'}, 'amount_min': {'type': 'number', 'minimum': 0, 'description': 'Only gifts of at least this amount.'}, 'method_ids': {'type': 'array', 'items': {'type': 'string', 'pattern': '^\\d+$'}, 'minItems': 1, 'description': 'Only these payment method ids.'}, 'include_family': {'type': 'boolean', 'description': "With person_id: include gifts from the giver's family members."}, 'envelope_number': {'type': 'string', 'description': 'Only gifts with this envelope number.'}}}
breeze_list_events
List events
List event instances in a date range (default: the current month), optionally on one calendar. Each row's `id` is the INSTANCE id used by attendance, volunteer and get_event tools; `event_id` is the series. Responses are cached by Breeze and may lag up to 15 minutes. Breeze: GET /api/events.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'end': {'type': 'string', 'pattern': '^\\d{4}-\\d{1,2}-\\d{1,2}$', 'description': 'Events on or before (YYYY-MM-DD).'}, 'limit': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': 'Max events, 1-1000 (Breeze default 500).'}, 'start': {'type': 'string', 'pattern': '^\\d{4}-\\d{1,2}-\\d{1,2}$', 'description': 'Events on or after (YYYY-MM-DD).'}, 'details': {'type': 'boolean', 'description': 'Include description, check-in settings, etc.'}, 'eligible': {'type': 'boolean', 'description': 'Include who is eligible to check in (everyone / tags / forms / none).'}, 'category_id': {'type': 'string', 'pattern': '^\\d+$', 'description': 'Numeric Breeze id of the calendar (from breeze_list_calendars).'}}}
breeze_list_form_entries
List form entries
Submissions to one form (id, created_on, person_id), and with details=true each entry's responses keyed by form field_id (see breeze_list_form_fields). Breeze: GET /api/forms/list_form_entries.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['form_id'], 'properties': {'details': {'type': 'boolean', 'description': "Include each entry's field responses."}, 'form_id': {'type': 'string', 'pattern': '^\\d+$', 'description': 'Numeric Breeze id of the form.'}}}
breeze_list_form_fields
List form fields
The fields of one form (field_id, field_type, name, options). Form entry responses are keyed by these field_ids. Breeze: GET /api/forms/list_form_fields.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['form_id'], 'properties': {'form_id': {'type': 'string', 'pattern': '^\\d+$', 'description': 'Numeric Breeze id of the form.'}}}
breeze_list_forms
List forms
List the church's online forms (id, name, url_slug, is_archived) — active ones by default, or archived ones. Breeze: GET /api/forms/list_forms.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'archived': {'type': 'boolean', 'description': 'true = list archived forms instead of active ones.'}}}
breeze_list_funds
List funds
List giving funds (id, name, tax_deductible, is_default), optionally with the total given to each. Legacy endpoint: no longer shown on Breeze's current API reference; churches whose giving runs through Tithely may get an error. Breeze: GET /api/funds/list.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'include_totals': {'type': 'boolean', 'description': 'Include the amount given to each fund.'}}}
breeze_list_people
List people
List people in the church database, optionally filtered (by tag, status, gender, etc.) and paginated with limit/offset. Without details you get id, first_name, last_name and photo path; with details=true every profile field is returned keyed by field_id (slower). Filter keys are profile field_ids (see breeze_list_profile_fields) or special keys, e.g. {"tag_contains":"y_16681"} for people in a tag, or {"2000138015":"226-227"} for a Status field matching options 226 or 227. Breeze: GET /api/people.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'limit': {'type': 'integer', 'maximum': 5000, 'minimum': 1, 'description': 'Number of people to return. Omit to return everyone (can be large).'}, 'filter': {'type': 'object', 'description': 'Filter object, sent as Breeze\'s filter_json, e.g. {"tag_contains":"y_16681"}.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'type': 'string'}}, 'offset': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0, 'description': 'People to skip, for pagination with limit.'}, 'details': {'type': 'boolean', 'description': 'true = every profile field (slower); false/omitted = id and name only.'}}}
breeze_list_profile_fields
List profile fields
The church's profile layout: sections, each with its fields (field_id, field_type, name) and, for multiple-choice fields, their options (option_id, name). Needed to read person details, to build list_people filters, and to write fields with breeze_add_person / breeze_update_person. Breeze: GET /api/profile.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
breeze_list_tags
List tags
List tags (Breeze's groups/lists) with id, name, created_on and folder_id, optionally only those in one folder. To list the people in a tag, call breeze_list_people with filter {"tag_contains":"y_<tag_id>"}. Breeze: GET /api/tags/list_tags.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'folder_id': {'type': 'string', 'pattern': '^\\d+$', 'description': 'Numeric Breeze id of the tag folder.'}}}
breeze_list_volunteers
List volunteers
Volunteers scheduled for one event instance: person_id, response, comment, rsvped_on and role_ids. Breeze: GET /api/volunteers/list.
Solo lectura
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['instance_id'], 'properties': {'instance_id': {'type': 'string', 'pattern': '^\\d+$', 'description': 'Numeric Breeze id of the event instance.'}}}
breeze_record_attendance
Check a person in or out
WRITE: record attendance for one person at one event instance — check them in (default) or check them out (records when they left; checking out someone not checked in creates a record with matching in/out times). Breeze: GET /api/events/attendance/add.
Destructivo
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['person_id', 'instance_id'], 'properties': {'direction': {'enum': ['in', 'out'], 'type': 'string', 'description': 'in (default) or out.'}, 'person_id': {'type': 'string', 'pattern': '^\\d+$', 'description': 'Numeric Breeze id of the person.'}, 'instance_id': {'type': 'string', 'pattern': '^\\d+$', 'description': 'Numeric Breeze id of the event instance.'}}}
breeze_schedule_volunteer
Schedule a volunteer
WRITE: schedule one person as a volunteer for one event instance. Breeze: GET /api/volunteers/add.
Destructivo
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['instance_id', 'person_id'], 'properties': {'person_id': {'type': 'string', 'pattern': '^\\d+$', 'description': 'Numeric Breeze id of the person.'}, 'instance_id': {'type': 'string', 'pattern': '^\\d+$', 'description': 'Numeric Breeze id of the event instance.'}}}
breeze_unassign_tag
Remove a tag from a person
WRITE: remove a tag from one person. The person and the tag both remain; re-assign with breeze_assign_tag. Breeze: GET /api/tags/unassign.
Destructivo
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['person_id', 'tag_id'], 'properties': {'tag_id': {'type': 'string', 'pattern': '^\\d+$', 'description': 'Numeric Breeze id of the tag.'}, 'person_id': {'type': 'string', 'pattern': '^\\d+$', 'description': 'Numeric Breeze id of the person.'}}}
breeze_update_person
Update a person
WRITE: set profile fields on an existing person — email, phone, address, dates, multiple-choice options, family role, and custom fields. Only the fields you pass change; the previous values are overwritten (read them first with breeze_get_person if you may need to restore them). field_id and option ids come from breeze_list_profile_fields. Breeze: GET /api/people/update.
Destructivo
Esquema de entrada
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['person_id', 'fields'], 'properties': {'fields': {'type': 'array', 'items': {'type': 'object', 'required': ['field_id', 'field_type', 'response'], 'properties': {'details': {'type': 'object', 'description': 'Extra data for compound fields, e.g. email {"address":"a@b.org"}; phone {"phone_mobile":"111-111-1111"} (or phone_home / phone_work); address {"street_address","city","state","zip"}; family_role {"person_id":123,"role_id":3} (1 Unassigned, 2 Child, 3 Adult, 4 Head of Household, 5 Spouse).', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'field_id': {'type': 'string', 'pattern': '^\\d+$', 'description': 'The profile field_id, from breeze_list_profile_fields.'}, 'response': {'type': ['string', 'boolean'], 'description': 'The value. Text/date: the string (dates as M/D/YYYY). radio/checkbox: the option_id. email/phone/address: true, with the value in details.'}, 'field_type': {'type': 'string', 'minLength': 1, 'description': 'Breeze field type: text, textarea, radio (multiple choice AND dropdown), checkbox, date, birthdate, email, phone, address or family_role.'}}}, 'minItems': 1, 'description': 'Profile fields to set (sent as fields_json).'}, 'person_id': {'type': 'string', 'pattern': '^\\d+$', 'description': 'Numeric Breeze id of the person.'}}}
Modificado
breeze_schedule_volunteer
2 de October de 2026 a las 02:40
Modificado
breeze_record_attendance
2 de October de 2026 a las 02:40
Modificado
breeze_add_event
2 de October de 2026 a las 02:40
Modificado
breeze_unassign_tag
2 de October de 2026 a las 02:40
Modificado
breeze_assign_tag
2 de October de 2026 a las 02:40
Modificado
breeze_add_tag
2 de October de 2026 a las 02:40
Modificado
breeze_update_person
2 de October de 2026 a las 02:40
Modificado
breeze_add_person
2 de October de 2026 a las 02:40
Modificado
breeze_list_contributions
2 de October de 2026 a las 02:40
Modificado
breeze_list_funds
2 de October de 2026 a las 02:40
Modificado
breeze_list_account_log
2 de October de 2026 a las 02:40
Modificado
breeze_list_volunteers
2 de October de 2026 a las 02:40
Modificado
breeze_list_form_entries
2 de October de 2026 a las 02:40
Modificado
breeze_list_form_fields
2 de October de 2026 a las 02:40
Modificado
breeze_list_forms
2 de October de 2026 a las 02:40
Modificado
breeze_list_attendance
2 de October de 2026 a las 02:40
Modificado
breeze_list_calendars
2 de October de 2026 a las 02:40
Modificado
breeze_get_event
2 de October de 2026 a las 02:40
Modificado
breeze_list_events
2 de October de 2026 a las 02:40
Modificado
breeze_list_tags
2 de October de 2026 a las 02:40
Modificado
breeze_list_profile_fields
2 de October de 2026 a las 02:40
Modificado
breeze_get_person
2 de October de 2026 a las 02:40
Modificado
breeze_list_people
2 de October de 2026 a las 02:40
Modificado
breeze_get_account_summary
2 de October de 2026 a las 02:40
Añadido
breeze_schedule_volunteer
30 de September de 2026 a las 02:40
Añadido
breeze_record_attendance
30 de September de 2026 a las 02:40
Añadido
breeze_add_event
30 de September de 2026 a las 02:40
Añadido
breeze_unassign_tag
30 de September de 2026 a las 02:40
Añadido
breeze_assign_tag
30 de September de 2026 a las 02:40
Añadido
breeze_add_tag
30 de September de 2026 a las 02:40