此 MCP 可以做什么
Manages church people, groups, services, calendars, volunteer rosters, songs, follow-up flows, and giving records in Elvanto.
工具
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['step_id', 'person_id'], 'properties': {'step_id': {'type': 'string', 'minLength': 1, 'description': "The people flow step's id."}, 'assign_to': {'type': 'string', 'description': 'Person id of the step admin to assign them to.'}, 'person_id': {'type': 'string', 'minLength': 1, 'description': "The person's id."}}}
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['group_id', 'person_id'], 'properties': {'group_id': {'type': 'string', 'minLength': 1, 'description': "The group's id."}, 'position': {'enum': ['Leader', 'Assistant Leader'], 'type': 'string', 'description': 'Position in the group. Omit for a regular member.'}, 'person_id': {'type': 'string', 'minLength': 1, 'description': "The person's id."}}}
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['name', 'calendar_id', 'start', 'end', 'organizer'], 'properties': {'end': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$', 'description': 'End, yyyy-mm-dd hh:mm:ss (24h, GMT).'}, 'name': {'type': 'string', 'minLength': 1, 'description': 'Event name.'}, 'color': {'type': 'string', 'pattern': '^#[0-9A-Fa-f]{6}$', 'description': 'Hex color, e.g. #FF0000.'}, 'start': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$', 'description': 'Start, yyyy-mm-dd hh:mm:ss (24h, GMT).'}, 'where': {'type': 'string', 'description': 'Where the event is held.'}, 'repeat': {'enum': ['daily', 'weekdays', 'mon_wed_fri', 'tue_thu', 'weekly', 'fortnightly', 'monthly', 'yearly'], 'type': 'string', 'description': 'Make it a repeating event.'}, 'status': {'enum': ['public', 'private', 'draft'], 'type': 'string', 'description': 'Visibility. Default public.'}, 'all_day': {'enum': ['yes', 'no'], 'type': 'string', 'description': 'All-day event? Default no.'}, 'locations': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'minItems': 1}], 'description': 'Location(s) to add to the event.'}, 'organizer': {'type': 'string', 'minLength': 1, 'description': 'Person id of the organizer.'}, 'repeat_on': {'type': 'string', 'description': 'Weekly/fortnightly: monday..sunday. Monthly: weekday or monthday.'}, 'calendar_id': {'type': 'string', 'minLength': 1, 'description': 'Calendar id (see elvanto_list_calendars).'}, 'description': {'type': 'string', 'description': 'Description (basic HTML allowed).'}, 'register_url': {'type': 'string', 'format': 'uri', 'description': 'Registration website URL.'}, 'who_can_attend': {'type': 'string', 'description': '"all" to let anyone attend; omit for invite-only.'}, 'repeat_end_date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$', 'description': 'Stop repeating at, yyyy-mm-dd hh:mm:ss (GMT).'}, 'show_guest_list': {'enum': ['yes', 'no'], 'type': 'string', 'description': 'Show the guest list on the event page? Default no.'}, 'repeat_frequency': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'How often to repeat. Required for daily, monthly, yearly.'}, 'repeat_occurrences': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Number of repeats.'}}}
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['firstname', 'lastname'], 'properties': {'email': {'type': 'string', 'description': 'Email address.'}, 'phone': {'type': 'string', 'description': 'Phone number (non-digits are stripped by Elvanto).'}, 'fields': {'type': 'object', 'description': 'Extra fields to set, e.g. {"gender":"Male","birthday":"1989-04-23","marital_status":"Married","departments":["Music"],"custom_<field id>":"value"}. Use *_replace / *_remove variants (e.g. departments_replace) to replace or remove list values. access_permissions* are refused: this server never changes what a person may administer.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'anyOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'mobile': {'type': 'string', 'description': 'Mobile number (non-digits are stripped by Elvanto).'}, 'contact': {'enum': ['yes', 'no'], 'type': 'string', 'description': 'Mark the person a contact (yes) or not (no).'}, 'archived': {'enum': ['yes', 'no'], 'type': 'string', 'description': 'Mark the person archived (yes) or not (no).'}, 'lastname': {'type': 'string', 'minLength': 1, 'description': 'Last name.'}, 'family_id': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, {'type': 'string', 'const': 'new'}], 'description': 'Family id to join an existing family, or "new" to start a new family.'}, 'firstname': {'type': 'string', 'minLength': 1, 'description': 'First name.'}, 'volunteer': {'enum': ['yes', 'no'], 'type': 'string', 'description': 'Mark the person a volunteer (yes) or not (no).'}, 'category_id': {'type': 'string', 'description': 'People category id (see elvanto_list_people_categories).'}, 'preferred_name': {'type': 'string', 'description': 'Preferred name (nickname).'}, 'family_relationship': {'enum': ['Primary Contact', 'Spouse', 'Partner', 'Child', 'Sibling', 'Grandfather', 'Grandmother', 'Other'], 'type': 'string', 'description': 'Relationship within the family.'}}}
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': "The group's id."}, 'fields': {'type': 'array', 'items': {'enum': ['people', 'categories', 'departments', 'demographics', 'locations'], 'type': 'string'}, 'description': 'Optional extra group fields: people (members and their position), categories, departments, demographics, locations.'}}}
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': "The person's id."}, 'fields': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'description': 'Optional extra person fields to return, e.g. gender, birthday, anniversary, school_grade, marital_status, development_child, special_needs_child, security_code, receipt_name, giving_number, mailing_address, mailing_city, mailing_state, mailing_postcode, mailing_country, home_address, home_city, home_state, home_postcode, home_country, access_permissions, departments, service_types, demographics, locations, family, or a custom field as custom_<field id> (see elvanto_list_custom_fields).'}}}
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': "The service's id."}, 'fields': {'type': 'array', 'items': {'enum': ['series_name', 'service_times', 'rehearsal_times', 'other_times', 'plans', 'volunteers', 'songs', 'files', 'notes', 'picture'], 'type': 'string'}, 'description': 'Optional extra service fields: series_name, service_times, rehearsal_times, other_times, plans (the order of service), volunteers (the roster: who is serving in which position, and whether confirmed), songs, files, notes, picture.'}}}
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['start', 'end'], 'properties': {'end': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'End date (yyyy-mm-dd).'}, 'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Results page to retrieve (1-based). Default 1.'}, 'start': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Start date (yyyy-mm-dd).'}, 'fields': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'description': 'Optional extra event fields, e.g. ["locations"].'}, 'calendar': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'minItems': 1}], 'description': 'Calendar id(s) to read from; "services" for services.'}, 'page_size': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': "Records per page, 1-1000. Default 100 here (Elvanto's own default is 1000)."}}}
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Results page to retrieve (1-based). Default 1.'}, 'page_size': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': "Records per page, 1-1000. Default 100 here (Elvanto's own default is 1000)."}}}
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Results page to retrieve (1-based). Default 1.'}, 'fields': {'type': 'array', 'items': {'enum': ['people', 'categories', 'departments', 'demographics', 'locations'], 'type': 'string'}, 'description': 'Optional extra group fields: people (members and their position), categories, departments, demographics, locations.'}, 'page_size': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': "Records per page, 1-1000. Default 100 here (Elvanto's own default is 1000)."}, 'suspended': {'enum': ['yes', 'no'], 'type': 'string', 'description': 'yes = only suspended groups, no = exclude them. Default all.'}, 'category_id': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'minItems': 1}], 'description': 'Only groups in this group category id (or any of these ids).'}}}
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Results page to retrieve (1-based). Default 1.'}, 'fields': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'description': 'Optional extra person fields to return, e.g. gender, birthday, anniversary, school_grade, marital_status, development_child, special_needs_child, security_code, receipt_name, giving_number, mailing_address, mailing_city, mailing_state, mailing_postcode, mailing_country, home_address, home_city, home_state, home_postcode, home_country, access_permissions, departments, service_types, demographics, locations, family, or a custom field as custom_<field id> (see elvanto_list_custom_fields).'}, 'contact': {'enum': ['yes', 'no'], 'type': 'string', 'description': 'yes = only contacts, no = exclude contacts. Default all.'}, 'archived': {'enum': ['yes', 'no'], 'type': 'string', 'description': 'yes = only archived people, no = exclude them. Default all.'}, 'page_size': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': "Records per page, 1-1000. Default 100 here (Elvanto's own default is 1000)."}, 'suspended': {'enum': ['yes', 'no'], 'type': 'string', 'description': 'yes = only suspended people, no = exclude them. Default all.'}, 'category_id': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'minItems': 1}], 'description': 'Only people in this people category id (or any of these ids).'}}}
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['step_id'], 'properties': {'status': {'enum': ['complete', 'notstarted', 'pending', 'inprogress'], 'type': 'string', 'description': 'Only people with this status in the step.'}, 'step_id': {'type': 'string', 'minLength': 1, 'description': "The people flow step's id."}, 'assigned': {'type': 'string', 'description': 'Only people assigned to this admin (person id), or "unassigned".'}}}
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['flow_id'], 'properties': {'flow_id': {'type': 'string', 'minLength': 1, 'description': "The people flow's id."}}}
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'all': {'enum': ['yes', 'no'], 'type': 'string', 'description': 'yes = include past services too. Ignored when start/end are given.'}, 'end': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Only services on/before this date (yyyy-mm-dd).'}, 'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Results page to retrieve (1-based). Default 1.'}, 'start': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Only services on/after this date (yyyy-mm-dd).'}, 'fields': {'type': 'array', 'items': {'enum': ['series_name', 'service_times', 'rehearsal_times', 'other_times', 'plans', 'volunteers', 'songs', 'files', 'notes', 'picture'], 'type': 'string'}, 'description': 'Optional extra service fields: series_name, service_times, rehearsal_times, other_times, plans (the order of service), volunteers (the roster: who is serving in which position, and whether confirmed), songs, files, notes, picture.'}, 'status': {'enum': ['published', 'draft'], 'type': 'string', 'description': 'Only published or only draft services. Default both.'}, 'page_size': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': "Records per page, 1-1000. Default 100 here (Elvanto's own default is 1000)."}, 'service_types': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'minItems': 1}], 'description': 'Only these service type id(s).'}}}
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['song_id'], 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Results page to retrieve (1-based). Default 1.'}, 'files': {'type': 'boolean', 'description': 'Also return attached files.'}, 'song_id': {'type': 'string', 'minLength': 1, 'description': "The song's id (from elvanto_list_songs)."}, 'page_size': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': "Records per page, 1-1000. Default 100 here (Elvanto's own default is 1000)."}, 'chord_chart_key': {'type': 'string', 'description': 'Transpose the chord chart into this key, e.g. F#.'}}}
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Results page to retrieve (1-based). Default 1.'}, 'files': {'type': 'boolean', 'description': 'Also return attached files.'}, 'title': {'type': 'string', 'description': 'Only songs whose title matches.'}, 'artist': {'type': 'string', 'description': 'Only songs by this artist.'}, 'lyrics': {'type': 'string', 'description': 'Only songs whose lyrics contain this text.'}, 'page_size': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': "Records per page, 1-1000. Default 100 here (Elvanto's own default is 1000)."}}}
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['start', 'end'], 'properties': {'end': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'End date (yyyy-mm-dd).'}, 'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Results page to retrieve (1-based). Default 1.'}, 'start': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Start date (yyyy-mm-dd).'}, 'page_size': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': "Records per page, 1-1000. Default 100 here (Elvanto's own default is 1000)."}, 'category_id': {'type': 'string', 'description': 'Only this financial category (fund) id.'}}}
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['search'], 'properties': {'page': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1, 'description': 'Results page to retrieve (1-based). Default 1.'}, 'fields': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'description': 'Optional extra person fields to return, e.g. gender, birthday, anniversary, school_grade, marital_status, development_child, special_needs_child, security_code, receipt_name, giving_number, mailing_address, mailing_city, mailing_state, mailing_postcode, mailing_country, home_address, home_city, home_state, home_postcode, home_country, access_permissions, departments, service_types, demographics, locations, family, or a custom field as custom_<field id> (see elvanto_list_custom_fields).'}, 'search': {'type': 'object', 'description': 'Field → value pairs to match.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'anyOf': [{'type': 'string'}, {'type': 'number'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'page_size': {'type': 'integer', 'maximum': 1000, 'minimum': 1, 'description': "Records per page, 1-1000. Default 100 here (Elvanto's own default is 1000)."}}}
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'minLength': 1, 'description': "The person's id."}, 'email': {'type': 'string', 'description': 'Email address.'}, 'phone': {'type': 'string', 'description': 'Phone number (non-digits are stripped by Elvanto).'}, 'fields': {'type': 'object', 'description': 'Extra fields to set, e.g. {"gender":"Male","birthday":"1989-04-23","marital_status":"Married","departments":["Music"],"custom_<field id>":"value"}. Use *_replace / *_remove variants (e.g. departments_replace) to replace or remove list values. access_permissions* are refused: this server never changes what a person may administer.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {'anyOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}]}}, 'mobile': {'type': 'string', 'description': 'Mobile number (non-digits are stripped by Elvanto).'}, 'contact': {'enum': ['yes', 'no'], 'type': 'string', 'description': 'Mark the person a contact (yes) or not (no).'}, 'archived': {'enum': ['yes', 'no'], 'type': 'string', 'description': 'Mark the person archived (yes) or not (no).'}, 'lastname': {'type': 'string', 'minLength': 1, 'description': 'Last name.'}, 'family_id': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, {'type': 'string', 'const': 'new'}], 'description': 'Family id to join an existing family, or "new" to start a new family.'}, 'firstname': {'type': 'string', 'minLength': 1, 'description': 'First name.'}, 'volunteer': {'enum': ['yes', 'no'], 'type': 'string', 'description': 'Mark the person a volunteer (yes) or not (no).'}, 'category_id': {'type': 'string', 'description': 'People category id (see elvanto_list_people_categories).'}, 'preferred_name': {'type': 'string', 'description': 'Preferred name (nickname).'}, 'family_relationship': {'enum': ['Primary Contact', 'Spouse', 'Partner', 'Child', 'Sibling', 'Grandfather', 'Grandmother', 'Other'], 'type': 'string', 'description': 'Relationship within the family.'}}}
近期工具变更
类似的 MCP 服务器
freedom-mcp
Supports company operations through commitments, teams, agents, customer evidence, leads, content workflows, spreadsheets, commer…
Stable Baseline
Manages company documents, knowledge graphs, whiteboards, projects, plans, tasks, teams, and improvement workflows.
mcp
Manages Nestr workspaces, roles, circles, tensions, governance proposals, comments, daily plans, graph relationships, agents, and…
TaScan
Manages field-service projects, workers, task lists, subtasks, dispatch, geofenced work zones, inspections, remediation workflows…
Tango
Manages shared work between humans and agents through tasks, leases, handoffs, approvals, artifacts, comments, integrations, prog…
AIOProductOS MCP
Combines customer records, support conversations, feedback, product analytics, roadmaps, tasks, experiments, releases, and retent…
agendaforge
Manages events, agendas, sessions, speakers, attendees, sponsors, forms, contacts, email templates, approvals, and organizer work…
Refine Job Search
Tracks job applications, interviews, offers, recruiter email, and company openings, with Gmail synchronization and workflow actio…