Appty

Find open slots on any appty link and book solo providers. Providers manage bookings by API key.

Sollte ich dies verwenden

Qualität und Sicherheit

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

Befunde (1)

  • LOWTool 'list_clients' description lacks action verbin list_clients

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

Kontextkosten

~2,174Tokens (Tool-Definitionen)
~1.4 KBTypische Antwortgröße
Mittlere Auswirkung auf die Aufmerksamkeit (1.70% 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": {
    "appty": {
      "url": "https://getappty.com/api/mcp"
    }
  }
}

Remote-Endpunkte

https://getappty.com/api/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (11)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢get_provider(slug)

Public booking page for a provider slug: name, headline, time zone, currency, services, upcoming group sessions, and the booking URL. No client data.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80,
      "description": "Booking link slug, the part after getappty.com/"
    }
  },
  "required": [
    "slug"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢find_open_slots(slug, service_id, from_date, to_date, timezone)

Open start times for a public service, using the same slot rules as the booking page. from_date and to_date are YYYY-MM-DD and at most 31 days apart. Each start is ISO 8601 with the provider's offset, plus a provider-local label.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80,
      "description": "Booking link slug, the part after getappty.com/"
    },
    "service_id": {
      "type": "string",
      "format": "uuid",
      "description": "Service id from get_provider"
    },
    "from_date": {
      "type": "string",
      "description": "First day to include, YYYY-MM-DD"
    },
    "to_date": {
      "type": "string",
      "description": "Last day to include, YYYY-MM-DD. At most 31 days after from_date."
    },
    "timezone": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80,
      "description": "IANA zone the dates are in. Defaults to the provider's zone. Slot labels stay in the provider's zone."
    }
  },
  "required": [
    "slug",
    "service_id",
    "from_date",
    "to_date"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_booking_link(slug, service_id, start)

Check that a start is still open, then return a link to the booking page with that service and time selected. The client confirms and pays on Appty. Nothing is booked here.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80,
      "description": "Booking link slug, the part after getappty.com/"
    },
    "service_id": {
      "type": "string",
      "format": "uuid",
      "description": "Service id from get_provider"
    },
    "start": {
      "type": "string",
      "minLength": 1,
      "description": "Slot start, ISO 8601, from find_open_slots"
    }
  },
  "required": [
    "slug",
    "service_id",
    "start"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_bookings(from, to, status, limit)

This provider's bookings. Omit from and to for upcoming sessions. Never includes pay or manage tokens.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "from": {
      "type": "string",
      "minLength": 1,
      "description": "Include sessions starting at or after this ISO 8601 time. When from and to are both omitted, this is now."
    },
    "to": {
      "type": "string",
      "minLength": 1,
      "description": "Include sessions starting before this ISO 8601 time."
    },
    "status": {
      "type": "string",
      "enum": [
        "held",
        "requested",
        "confirmed",
        "completed",
        "cancelled"
      ]
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "description": "Default 50. Maximum 100."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_clients(query, limit)

This provider's clients: id, name, email, phone, billing currency, and default pay mode.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "maxLength": 200,
      "description": "Case-insensitive match on the client's name or email."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "description": "Default 50. Maximum 100."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢who_owes

Unpaid balances for this provider, grouped by client and currency. Same figures as the dashboard who-owes page.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴book_session(client_id, service_id, start, confirm)

Book a client into a service at a start time, the same way the dashboard books. Returns a preview first and only acts when confirm=true. A past start is saved as completed with no email. A future start emails the usual confirmation. No money moves through the assistant. Any pay link is only a request the client pays on Appty.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "client_id": {
      "type": "string",
      "format": "uuid",
      "description": "Client id from list_clients."
    },
    "service_id": {
      "type": "string",
      "format": "uuid",
      "description": "Service id. One-off shells are refused."
    },
    "start": {
      "type": "string",
      "minLength": 1,
      "description": "Session start, ISO 8601. Does not have to be an open public slot."
    },
    "confirm": {
      "type": "boolean",
      "description": "Set true only after the caller has seen a preview and wants it done. Anything else, including the string \"true\", is a preview and changes nothing."
    }
  },
  "required": [
    "client_id",
    "service_id",
    "start"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴reschedule_booking(booking_id, new_start, confirm)

Move a booking to an open slot. The client is not emailed. Returns a preview first and only acts when confirm=true. No money moves through the assistant.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "booking_id": {
      "type": "string",
      "format": "uuid"
    },
    "new_start": {
      "type": "string",
      "minLength": 1,
      "description": "New start, ISO 8601. Must be an open slot for this booking's length."
    },
    "confirm": {
      "type": "boolean",
      "description": "Set true only after the caller has seen a preview and wants it done. Anything else, including the string \"true\", is a preview and changes nothing."
    }
  },
  "required": [
    "booking_id",
    "new_start"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴cancel_booking(booking_id, reason, confirm)

Cancel one booking under the provider's cancellation policy and email the client. Returns a preview first and only acts when confirm=true. No money moves through the assistant. Any refund or fee is applied by Appty, the same as the dashboard. The client pays anything still due on Appty.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "booking_id": {
      "type": "string",
      "format": "uuid"
    },
    "reason": {
      "type": "string",
      "maxLength": 500
    },
    "confirm": {
      "type": "boolean",
      "description": "Set true only after the caller has seen a preview and wants it done. Anything else, including the string \"true\", is a preview and changes nothing."
    }
  },
  "required": [
    "booking_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴send_pay_link(client_id, booking_id, confirm)

Email a pay link for one booking, or for a client's unpaid sessions and invoices. Returns a preview first and only acts when confirm=true. No money moves through the assistant. This only sends a request the client pays on Appty. Group spots, packages, and fees are not emailed.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "client_id": {
      "type": "string",
      "format": "uuid",
      "description": "Email a pay reminder for each unpaid session and invoice this client has. Pass this or booking_id."
    },
    "booking_id": {
      "$ref": "#/properties/client_id",
      "description": "Email a pay link for this booking. Pass this or client_id."
    },
    "confirm": {
      "type": "boolean",
      "description": "Set true only after the caller has seen a preview and wants it done. Anything else, including the string \"true\", is a preview and changes nothing."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴send_invoice(client_id, booking_ids, period, confirm)

Create one invoice per currency for a client's sessions (by id or by calendar month) and email it. Returns a preview first and only acts when confirm=true. No money moves through the assistant. The invoice only sends a request the client pays on Appty.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "client_id": {
      "type": "string",
      "format": "uuid"
    },
    "booking_ids": {
      "type": "array",
      "items": {
        "$ref": "#/properties/client_id"
      },
      "minItems": 1,
      "maxItems": 100,
      "description": "Sessions to put on the invoice. Pass this or period."
    },
    "period": {
      "type": "string",
      "pattern": "^\\d{4}-(0[1-9]|1[0-2])$",
      "description": "Calendar month YYYY-MM in the provider's time zone. Uninvoiced sessions in that month."
    },
    "confirm": {
      "type": "boolean",
      "description": "Set true only after the caller has seen a preview and wants it done. Anything else, including the string \"true\", is a preview and changes nothing."
    }
  },
  "required": [
    "client_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet11 Tools