Elvanto MCP by usefulapi
by usefulapi.io · remote · no sign-in to list tools · v1.16.3 · published by io.usefulapi
Look up people, groups, service rosters, songs, follow-up flows and giving in Elvanto.
23 tools: 5 can delete or cancel things and 18 only read.
Scanned Oct 21, 2026
- Deletes or cancels5Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things0Claude Code: ask
- Only reads18Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http elvanto https://elvanto.usefulapi.io/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
23 tools
Deletes or cancels 5Claude Code: deny
elvanto_add_person_to_flow_stepPut a person into a people-flow step (e.g.No findings
Why it is in this group
- The name "elvanto_add_person_to_flow_step" says "add": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Put a person into a people-flow step (e.g. start a new guest's follow-up), optionally assigning a step admin. Elvanto: peopleFlows/steps/addPerson.
Annotations the server declares
- title: Add a person to a people-flow step
- destructiveHint: true
elvanto_add_person_to_groupAdd a person to a group, optionally as Leader or Assistant Leader.No findings
Why it is in this group
- The name "elvanto_add_person_to_group" says "add": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Add a person to a group, optionally as Leader or Assistant Leader. Undoable by removing them from the group in Elvanto. Elvanto: groups/addPerson.
Annotations the server declares
- title: Add a person to a group
- destructiveHint: true
elvanto_create_calendar_eventCreate an event on a calendar, optionally repeating.No findings
Why it is in this group
- The name "elvanto_create_calendar_event" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Create an event on a calendar, optionally repeating. Times are 24-hour GMT. Use status "draft" to stage it unpublished. Elvanto: calendar/events/create.
Annotations the server declares
- title: Create a calendar event
- destructiveHint: true
elvanto_create_personAdd a new person to the church database (e.g.No findings
Why it is in this group
- The name "elvanto_create_person" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Add a new person to the church database (e.g. a first-time guest). Returns the new person id and family id. Does not create a login. Elvanto: people/create.
Annotations the server declares
- title: Create a person
- destructiveHint: true
elvanto_update_personEdit an existing person's details — name, contact info, category, flags, family, or extra fields.No findings
Why it is in this group
- The name "elvanto_update_person" says "update": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Edit an existing person's details — name, contact info, category, flags, family, or extra fields. Only the fields you pass change. Cannot touch username, password or login status. Elvanto: people/edit.
Annotations the server declares
- title: Update a person
- destructiveHint: true
Only reads 18Claude Code: allow
elvanto_get_groupFetch one group by id, optionally with its members (fields=["people"]).No findings
Why it is in this group
- The name "elvanto_get_group" says "get": a word for reading.
Description, as the server wrote it Fetch one group by id, optionally with its members (fields=["people"]). Elvanto: groups/getInfo.
Annotations the server declares
- title: Get one group
- readOnlyHint: true
elvanto_get_personFetch one person by id, optionally with extra fields (birthday, addresses, departments, locations, family, custom fields...).No findings
Why it is in this group
- The name "elvanto_get_person" says "get": a word for reading.
Description, as the server wrote it Fetch one person by id, optionally with extra fields (birthday, addresses, departments, locations, family, custom fields...). Elvanto: people/getInfo.
Annotations the server declares
- title: Get one person
- readOnlyHint: true
elvanto_get_serviceFetch one service by id with optional detail: service/rehearsal times, plan (order of service), volunteers roster, songs, files, notes.No findings
Why it is in this group
- The name "elvanto_get_service" says "get": a word for reading.
Description, as the server wrote it Fetch one service by id with optional detail: service/rehearsal times, plan (order of service), volunteers roster, songs, files, notes. Elvanto: services/getInfo.
Annotations the server declares
- title: Get one service
- readOnlyHint: true
elvanto_list_calendar_eventsList calendar events between two dates, optionally for specific calendars (use "services" as a calendar to include services).No findings
Why it is in this group
- The name "elvanto_list_calendar_events" says "list": a word for reading.
Description, as the server wrote it List calendar events between two dates, optionally for specific calendars (use "services" as a calendar to include services). Elvanto: calendar/events/getAll.
Annotations the server declares
- title: List calendar events
- readOnlyHint: true
elvanto_list_calendarsList the church's calendars with their ids.No findings
Why it is in this group
- The name "elvanto_list_calendars" says "list": a word for reading.
Description, as the server wrote it List the church's calendars with their ids. Elvanto: calendar/getAll.
Annotations the server declares
- title: List calendars
- readOnlyHint: true
elvanto_list_custom_fieldsList the church's custom person fields (id, name, type and allowed values).No findings
Why it is in this group
- The name "elvanto_list_custom_fields" says "list": a word for reading.
Description, as the server wrote it List the church's custom person fields (id, name, type and allowed values). Use the id as custom_<id> in fields / search. Elvanto: people/customFields/getAll.
Annotations the server declares
- title: List custom person fields
- readOnlyHint: true
elvanto_list_financial_categoriesList giving / chart-of-accounts categories (funds) with ids; status 1 = active, 0 = archived.No findings
Why it is in this group
- The name "elvanto_list_financial_categories" says "list": a word for reading.
Description, as the server wrote it List giving / chart-of-accounts categories (funds) with ids; status 1 = active, 0 = archived. Elvanto: financial/categories/getAll.
Annotations the server declares
- title: List financial categories
- readOnlyHint: true
elvanto_list_groupsList small groups / ministries with meeting day, time, place and frequency; add fields=["people"] to include members and leaders.No findings
Why it is in this group
- The name "elvanto_list_groups" says "list": a word for reading.
Description, as the server wrote it List small groups / ministries with meeting day, time, place and frequency; add fields=["people"] to include members and leaders. Elvanto: groups/getAll.
Annotations the server declares
- title: List groups
- readOnlyHint: true
elvanto_list_peopleList people in the church database, optionally filtered by category and by suspended / contact / archived status.No findings
Why it is in this group
- The name "elvanto_list_people" says "list": a word for reading.
Description, as the server wrote it List people in the church database, optionally filtered by category and by suspended / contact / archived status. Paginated (the response carries page, per_page, total). Elvanto: people/getAll.
Annotations the server declares
- title: List people
- readOnlyHint: true
elvanto_list_people_categoriesList the people categories (e.g.No findings
Why it is in this group
- The name "elvanto_list_people_categories" says "list": a word for reading.
Description, as the server wrote it List the people categories (e.g. New People, Church Members, Inactive) with their ids. Elvanto: people/categories/getAll.
Annotations the server declares
- title: List people categories
- readOnlyHint: true
elvanto_list_people_flow_step_peopleList the people currently in one people-flow step, with status, due date and assigned admin — e.g.No findings
Why it is in this group
- The name "elvanto_list_people_flow_step_people" says "list": a word for reading.
Description, as the server wrote it List the people currently in one people-flow step, with status, due date and assigned admin — e.g. who still needs a follow-up call. Not paginated. Elvanto: peopleFlows/steps/people.
Annotations the server declares
- title: List people in a flow step
- readOnlyHint: true
elvanto_list_people_flow_stepsList the steps of one people flow with descriptions, instructions, due rules and admins.No findings
Why it is in this group
- The name "elvanto_list_people_flow_steps" says "list": a word for reading.
Description, as the server wrote it List the steps of one people flow with descriptions, instructions, due rules and admins. Elvanto: peopleFlows/steps/getAll.
Annotations the server declares
- title: List a people flow's steps
- readOnlyHint: true
elvanto_list_people_flowsList people flows — the church's follow-up pipelines (e.g.No findings
Why it is in this group
- The name "elvanto_list_people_flows" says "list": a word for reading.
Description, as the server wrote it List people flows — the church's follow-up pipelines (e.g. First Time Guest Follow Up) — with their steps and admins. Elvanto: peopleFlows/getAll.
Annotations the server declares
- title: List people flows
- readOnlyHint: true
elvanto_list_servicesList services (upcoming by default).No findings
Why it is in this group
- The name "elvanto_list_services" says "list": a word for reading.
Description, as the server wrote it List services (upcoming by default). Add fields such as volunteers (the roster), plans (order of service) and songs to answer 'who is serving Sunday?' or 'what are we singing?'. Elvanto: services/getAll.
Annotations the server declares
- title: List services
- readOnlyHint: true
elvanto_list_song_arrangementsList the arrangements of one song — sequence, BPM, keys, lyrics and chord chart (optionally transposed).No findings
Why it is in this group
- The name "elvanto_list_song_arrangements" says "list": a word for reading.
Description, as the server wrote it List the arrangements of one song — sequence, BPM, keys, lyrics and chord chart (optionally transposed). Elvanto: songs/arrangements/getAll.
Annotations the server declares
- title: List a song's arrangements
- readOnlyHint: true
elvanto_list_songsList or search the song library by title, artist or lyrics (with CCLI number, categories and locations).No findings
Why it is in this group
- The name "elvanto_list_songs" says "list": a word for reading.
Description, as the server wrote it List or search the song library by title, artist or lyrics (with CCLI number, categories and locations). Elvanto: songs/getAll.
Annotations the server declares
- title: List songs
- readOnlyHint: true
elvanto_list_transactionsList giving transactions between two dates, optionally for one fund — donor, date, method, batch and per-fund amounts.No findings
Why it is in this group
- The name "elvanto_list_transactions" says "list": a word for reading.
Description, as the server wrote it List giving transactions between two dates, optionally for one fund — donor, date, method, batch and per-fund amounts. Read-only: this server never writes financial records. Elvanto: financial/transactions/getAll.
Annotations the server declares
- title: List giving transactions
- readOnlyHint: true
elvanto_search_peopleFind people matching field values, e.g.No findings
Why it is in this group
- The name "elvanto_search_people" says "search": a word for reading.
Description, as the server wrote it Find people matching field values, e.g. {"email":"john@example.com"} or {"lastname":"Smith","volunteer":"yes"}. Searchable keys: firstname, preferred_name, lastname, email, phone, mobile, category_id, archived, contact, deceased, volunteer, gender, birthday, anniversary, marital_status, school_grade, security_code, receipt_name, giving_number, groups, date_added / date_modified / last_login (UTC, yyyy-mm-dd or yyyy-mm-dd hh:mm:ss; matched as on-or-after), and custom_<field id>. Use only one of archived / contact / deceased at a time. Elvanto: people/search.
Annotations the server declares
- title: Search people
- readOnlyHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.16.3. Values in angle brackets are yours to fill in.
claude mcp add --transport http elvanto https://elvanto.usefulapi.io/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__elvanto__elvanto_list_people",
"mcp__elvanto__elvanto_search_people",
"mcp__elvanto__elvanto_get_person",
"mcp__elvanto__elvanto_list_people_categories",
"mcp__elvanto__elvanto_list_custom_fields",
"mcp__elvanto__elvanto_list_groups",
"mcp__elvanto__elvanto_get_group",
"mcp__elvanto__elvanto_list_services",
"mcp__elvanto__elvanto_get_service",
"mcp__elvanto__elvanto_list_songs",
"mcp__elvanto__elvanto_list_song_arrangements",
"mcp__elvanto__elvanto_list_calendars",
"mcp__elvanto__elvanto_list_calendar_events",
"mcp__elvanto__elvanto_list_people_flows",
"mcp__elvanto__elvanto_list_people_flow_steps",
"mcp__elvanto__elvanto_list_people_flow_step_people",
"mcp__elvanto__elvanto_list_financial_categories",
"mcp__elvanto__elvanto_list_transactions"
],
"ask": [],
"deny": [
"mcp__elvanto__elvanto_create_person",
"mcp__elvanto__elvanto_update_person",
"mcp__elvanto__elvanto_add_person_to_group",
"mcp__elvanto__elvanto_add_person_to_flow_step",
"mcp__elvanto__elvanto_create_calendar_event"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as elvanto. Review it before you use it.