Skip to content

Appty

by getappty.com · remote · no sign-in to list tools · v1.0.0 · published by com.getappty

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

Deletes · 5Changes · 2

11 tools: 5 can delete or cancel things, 2 change things and 4 only read.

Scanned Oct 21, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http appty https://getappty.com/api/mcp

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "find_open_slots" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "find_open_slots" says "find": a word for reading.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

11 tools

Deletes or cancels 5Claude Code: deny
  • book_sessionBook a client into a service at a start time, the same way the dashboard books.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Book a session
    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: true
  • cancel_bookingCancel one booking under the provider's cancellation policy and email the client.No findings

    Why it is in this group

    • The name "cancel_booking" says "cancel": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Cancel a booking
    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: true
  • reschedule_bookingMove a booking to an open slot.No findings

    Why it is in this group

    • The name "reschedule_booking" says "reschedule": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Reschedule a booking
    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: false
  • send_invoiceCreate one invoice per currency for a client's sessions (by id or by calendar month) and email it.No findings

    Why it is in this group

    • The name "send_invoice" says "send": a word for sending, and what is sent cannot be taken back.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Send an invoice
    • readOnlyHint: false
    • destructiveHint: true
    • openWorldHint: true
Changes things 2Claude Code: ask
  • find_open_slotsOpen start times for a public service, using the same slot rules as the booking page.1 finding

    Why it is in this group

    • The name "find_open_slots" says "find": a word for reading.
    • The description's first verb is "open": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "find_open_slots" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "find_open_slots" says "find": a word for reading.

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Find open slots
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • who_owesUnpaid balances for this provider, grouped by client and currency.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Unpaid balances for this provider, grouped by client and currency. Same figures as the dashboard who-owes page.

    Annotations the server declares

    • title: Who owes
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
Only reads 4Claude Code: allow
  • get_providerPublic booking page for a provider slug: name, headline, time zone, currency, services, upcoming group sessions, and the booking URL.No findings

    Why it is in this group

    • The name "get_provider" says "get": a word for reading.
    Description, as the server wrote it
    Public booking page for a provider slug: name, headline, time zone, currency, services, upcoming group sessions, and the booking URL. No client data.

    Annotations the server declares

    • title: Get provider
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • list_bookingsThis provider's bookings.No findings

    Why it is in this group

    • The name "list_bookings" says "list": a word for reading.
    Description, as the server wrote it
    This provider's bookings. Omit from and to for upcoming sessions. Never includes pay or manage tokens.

    Annotations the server declares

    • title: List bookings
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • list_clientsThis provider's clients: id, name, email, phone, billing currency, and default pay mode.No findings

    Why it is in this group

    • The name "list_clients" says "list": a word for reading.
    Description, as the server wrote it
    This provider's clients: id, name, email, phone, billing currency, and default pay mode.

    Annotations the server declares

    • title: List clients
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false

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.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http appty https://getappty.com/api/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__appty__get_provider",
      "mcp__appty__get_booking_link",
      "mcp__appty__list_bookings",
      "mcp__appty__list_clients"
    ],
    "ask": [
      "mcp__appty__find_open_slots",
      "mcp__appty__who_owes"
    ],
    "deny": [
      "mcp__appty__book_session",
      "mcp__appty__reschedule_booking",
      "mcp__appty__cancel_booking",
      "mcp__appty__send_pay_link",
      "mcp__appty__send_invoice"
    ]
  }
}

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 appty. Review it before you use it.