WaiverFile MCP by usefulapi

Read WaiverFile waivers, events, forms and SMS opt-ins; create and update events, invite managers.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
100%
Vollständigkeit des Schemas
94%
Qualität der Benennung
73%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Befunde (6)

  • LOWTool 'waiverfile_list_upcoming_events' name length outside 3-30 rangein waiverfile_list_upcoming_events
  • LOWTool 'waiverfile_list_event_categories' name length outside 3-30 rangein waiverfile_list_event_categories
  • LOWTool 'waiverfile_find_waivers_by_reference' name length outside 3-30 rangein waiverfile_find_waivers_by_reference
  • LOWTool 'waiverfile_list_sms_subscribers' name length outside 3-30 rangein waiverfile_list_sms_subscribers
  • LOWTool 'waiverfile_invite_event_managers' name length outside 3-30 rangein waiverfile_invite_event_managers
  • LOWTool 'waiverfile_create_event_category' name length outside 3-30 rangein waiverfile_create_event_category

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~4,538Tokens (Tool-Definitionen)
~1.6 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (3.55% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

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

Remote-Endpunkte

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

Was es kann

Tool-Inventar

Tools (17)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢waiverfile_get_site

Details of the WaiverFile site (WaiverSite) this API key belongs to: name, settings and plan information as WaiverFile reports them. GET /GetSiteDetails.

Eingabe-Schema

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

List the waiver forms of the site (name, id, which fields they collect: email, address, phone, date of birth, minimum age, signature). Active forms by default; set include_deleted for all forms including deleted ones. Use the form ids when creating or updating events. GET /GetActiveWaiverForms or /GetAllWaiverForms.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "include_deleted": {
      "description": "Also return deleted forms (default false).",
      "type": "boolean"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢waiverfile_list_events(start, end, category_id)

List waiver events (a class, tour, party or session that collects waivers) whose date falls in a range, optionally only one event category. Each event has an id, name, start/end, headcount and spots remaining. Dates are UTC. GET /GetEventsByDateRange or /GetEventsByCategory.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "start": {
      "type": "string",
      "description": "Start of the range: yyyy-mm-dd (00:00 UTC) or an ISO 8601 date-time with timezone, e.g. 2026-10-01T00:00:00Z."
    },
    "end": {
      "type": "string",
      "description": "End of the range: yyyy-mm-dd means 00:00 UTC of that day, so pass the next day to include the whole day."
    },
    "category_id": {
      "description": "Only events of this event category id (from waiverfile_list_event_categories).",
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
    }
  },
  "required": [
    "start",
    "end"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢waiverfile_list_upcoming_events(start, end)

List upcoming waiver events between two dates (UTC), for example the next 7 days. GET /GetUpcomingEvents.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "start": {
      "type": "string",
      "description": "Start of the range: yyyy-mm-dd (00:00 UTC) or an ISO 8601 date-time with timezone, e.g. 2026-10-01T00:00:00Z."
    },
    "end": {
      "type": "string",
      "description": "End of the range: yyyy-mm-dd means 00:00 UTC of that day, so pass the next day to include the whole day."
    }
  },
  "required": [
    "start",
    "end"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢waiverfile_list_event_categories(include_disabled)

List the event categories of the site (id and name). Use the ids to filter events or to put a new event in a category. GET /GetEventCategories.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "include_disabled": {
      "description": "Also return disabled categories (default false).",
      "type": "boolean"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢waiverfile_get_event_waivers(event_id)

The waivers collected for one event: who signed, when, and the participants. Personal data of signers. GET /GetWaiversForEvent.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "event_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "WaiverFile event id (waiverEventID) from waiverfile_list_events."
    }
  },
  "required": [
    "event_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢waiverfile_search_waivers(terms)

Search signed waivers by free-text terms (a signer's name, email or phone). Personal data of signers. GET /SearchWaivers.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "terms": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Search terms, for example a name or an email address."
    }
  },
  "required": [
    "terms"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢waiverfile_get_waiver(waiver_id, lite)

One signed waiver by id: signer, date signed, participants, collected form data, event and the agreement text. Set lite for only the collected form data (no agreement text or event info). Signature and image bytes are never returned. GET /GetWaiver or /GetWaiverLite.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "waiver_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "WaiverFile waiver id (waiverID)."
    },
    "lite": {
      "description": "Only the collected form data, without agreement text or event info (default false).",
      "type": "boolean"
    }
  },
  "required": [
    "waiver_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢waiverfile_find_waivers_by_reference(reference_id_1, reference_id_2, reference_id_3, reference_id_any)

Find waivers by the reference ids an outside booking or reservation system attached to them (referenceID1, 2, 3). Give at least one of reference_id_1/2/3, or reference_id_any to match all three fields. GET /GetWaiversByReferenceID.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "reference_id_1": {
      "description": "Match the Reference ID 1 field.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "reference_id_2": {
      "description": "Match the Reference ID 2 field.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "reference_id_3": {
      "description": "Match the Reference ID 3 field.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "reference_id_any": {
      "description": "Match any of the three reference id fields.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢waiverfile_list_waivers(start, end, lite, page_index, page_size)

A page of the waivers signed in a date range. Set lite for only the collected form data (smaller). For a flat export with custom form columns use waiverfile_export_waiver_data; for totals use waiverfile_count_waivers. Personal data of signers. GET /GetAllWaiversByDateRange or /GetAllWaiversByDateRangeLite.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "start": {
      "type": "string",
      "description": "Start of the range: yyyy-mm-dd (00:00 UTC) or an ISO 8601 date-time with timezone, e.g. 2026-10-01T00:00:00Z."
    },
    "end": {
      "type": "string",
      "description": "End of the range: yyyy-mm-dd means 00:00 UTC of that day, so pass the next day to include the whole day."
    },
    "lite": {
      "description": "Only the collected form data, without agreement text or event info (default false).",
      "type": "boolean"
    },
    "page_index": {
      "description": "Page index (default 0). WaiverFile does not state whether the first page is 0 or 1; if page 0 looks like it skips data or is empty while the count is not, try 1.",
      "type": "integer",
      "minimum": 0,
      "maximum": 100000
    },
    "page_size": {
      "description": "Results per page, 10-200 (default 25).",
      "type": "integer",
      "minimum": 10,
      "maximum": 200
    }
  },
  "required": [
    "start",
    "end"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢waiverfile_export_waiver_data(start, end, include_custom_columns, consolidate_participants, page_index, ...)

A page of flat waiver rows for a date range (the data behind the WaiverFile export): standard fields, optionally every custom form field as a column, and participants either as one comma-separated column or one row each. Personal data of signers. GET /GetWaiverData.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "start": {
      "type": "string",
      "description": "Start of the range: yyyy-mm-dd (00:00 UTC) or an ISO 8601 date-time with timezone, e.g. 2026-10-01T00:00:00Z."
    },
    "end": {
      "type": "string",
      "description": "End of the range: yyyy-mm-dd means 00:00 UTC of that day, so pass the next day to include the whole day."
    },
    "include_custom_columns": {
      "description": "Include the custom form fields of all waiver forms (default false: standard fields only).",
      "type": "boolean"
    },
    "consolidate_participants": {
      "description": "true (default) = one row per waiver with participant names in one column; false = full participant information, one row per participant.",
      "type": "boolean"
    },
    "page_index": {
      "description": "Page index (default 0). WaiverFile does not state whether the first page is 0 or 1; if page 0 looks like it skips data or is empty while the count is not, try 1.",
      "type": "integer",
      "minimum": 0,
      "maximum": 100000
    },
    "page_size": {
      "description": "Results per page, 10-200 (default 25).",
      "type": "integer",
      "minimum": 10,
      "maximum": 200
    }
  },
  "required": [
    "start",
    "end"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢waiverfile_count_waivers(start, end, page_size)

How many waivers a date range holds: record_count (GetWaiverDataCount, the rows waiverfile_export_waiver_data pages through) and waiver_count (GetAllWaiversByDateRangePageCount, which WaiverFile documents as the number of waivers in the range, used to work out the pages of waiverfile_list_waivers). pages_at_page_size is waiver_count divided by page_size (default 25), rounded up. GET /GetWaiverDataCount and /GetAllWaiversByDateRangePageCount.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "start": {
      "type": "string",
      "description": "Start of the range: yyyy-mm-dd (00:00 UTC) or an ISO 8601 date-time with timezone, e.g. 2026-10-01T00:00:00Z."
    },
    "end": {
      "type": "string",
      "description": "End of the range: yyyy-mm-dd means 00:00 UTC of that day, so pass the next day to include the whole day."
    },
    "page_size": {
      "description": "Results per page, 10-200 (default 25).",
      "type": "integer",
      "minimum": 10,
      "maximum": 200
    }
  },
  "required": [
    "start",
    "end"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢waiverfile_list_sms_subscribers(start, end, opted_out)

SMS marketing subscribers (phone numbers) that opted in during a date range, or with opted_out set the ones that opted out. Dates are UTC. Personal data. GET /GetSubscribersByDate or /GetOptedOutSubscribersByOptOutDate.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "start": {
      "type": "string",
      "description": "Start of the range: yyyy-mm-dd (00:00 UTC) or an ISO 8601 date-time with timezone, e.g. 2026-10-01T00:00:00Z."
    },
    "end": {
      "type": "string",
      "description": "End of the range: yyyy-mm-dd means 00:00 UTC of that day, so pass the next day to include the whole day."
    },
    "opted_out": {
      "description": "List subscribers that opted OUT in the range instead of opted in (default false).",
      "type": "boolean"
    }
  },
  "required": [
    "start",
    "end"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡waiverfile_create_event(name, start, end, all_day, category_id, ...)

Create a waiver event (a class, tour or session that collects waivers) with a name and a start/end time (UTC). Optionally an all-day flag, category, location, signing cut-off, participant limit and which waiver forms to attach (default: WaiverFile's own choice, see list_waiver_forms). Not idempotent: calling twice creates two events. Sends no email. POST /InsertEvent.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Event name."
    },
    "start": {
      "type": "string",
      "description": "Event start (UTC): yyyy-mm-dd or ISO 8601 date-time with timezone."
    },
    "end": {
      "type": "string",
      "description": "Event end (UTC), not before the start."
    },
    "all_day": {
      "description": "All-day event (no time of day).",
      "type": "boolean"
    },
    "category_id": {
      "description": "Event category id (waiverfile_list_event_categories).",
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
    },
    "waiver_form_ids": {
      "description": "Waiver form ids to attach (waiverfile_list_waiver_forms).",
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
      }
    },
    "location": {
      "description": "Event location.",
      "type": "string",
      "minLength": 1,
      "maxLength": 300
    },
    "signing_cutoff": {
      "description": "Last moment a waiver can be signed for this event.",
      "type": "string"
    },
    "max_participants": {
      "description": "Participant limit.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    }
  },
  "required": [
    "name",
    "start",
    "end"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴waiverfile_update_event(event_id, name, start, end, all_day, ...)

Update an existing event. WaiverFile replaces the whole event, so name, start, end and all_day are required and anything left out is reset: category_id empty = no category, waiver_form_ids empty = ALL active forms are attached. Read the event first (waiverfile_list_events) and send its current values for the fields you do not change. Same input twice gives the same result. POST /UpdateEvent.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "event_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "Event id (waiverEventID) from waiverfile_list_events."
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Event name."
    },
    "start": {
      "type": "string",
      "description": "Event start (UTC)."
    },
    "end": {
      "type": "string",
      "description": "Event end (UTC), not before the start."
    },
    "all_day": {
      "type": "boolean",
      "description": "true for an all-day event (no time of day)."
    },
    "category_id": {
      "description": "Event category id; omit for no category.",
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
    },
    "waiver_form_ids": {
      "description": "Waiver form ids for this event; omit or empty to attach all active forms.",
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
      }
    }
  },
  "required": [
    "event_id",
    "name",
    "start",
    "end",
    "all_day"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴waiverfile_invite_event_managers(event_id, email_addresses, message, skip_email_if_account_exists, confirm)

SENDS EMAIL: invites people (by email address) to manage one event; they can log in to WaiverFile and see its signers and participants, with the fields set in the account settings. WaiverFile emails each address, with your optional message in the body (skip_email_if_account_exists suppresses the email for people who already have an account). Cannot be undone by this server except with the vendor's own remove-managers action. Requires confirm=true after the user approved it. POST /InviteEventManagers.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "event_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "Event id (waiverEventID)."
    },
    "email_addresses": {
      "minItems": 1,
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 254,
        "format": "email",
        "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
      },
      "description": "Addresses to invite (1-20)."
    },
    "message": {
      "description": "Optional message added to the invitation email.",
      "type": "string",
      "maxLength": 2000
    },
    "skip_email_if_account_exists": {
      "description": "Do not send the email to people who already have a WaiverFile account (default false).",
      "type": "boolean"
    },
    "confirm": {
      "description": "Must be true: the user approved emailing these addresses and giving them access to this event's signers. Without it nothing is sent.",
      "type": "boolean"
    }
  },
  "required": [
    "event_id",
    "email_addresses"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡waiverfile_create_event_category(name, active)

Create an event category (a label to group events). Not idempotent: calling twice with the same name creates two categories. POST /InsertEventCategory.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Category name."
    },
    "active": {
      "description": "Whether the category is active (default true).",
      "type": "boolean"
    }
  },
  "required": [
    "name"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet17 Tools