_ registry / mcp streamable-http · checked 1h ago

appty

https://getappty.com

Registry code: fefdf9e7a08c25a7

api record

Appty booking tools. Public tools (get_provider, find_open_slots, get_booking_link) need no API key. They return only what that provider's booking page shows. Provider tools need Authorization: Bearer appty_sk_…. Create a key in Dashboard > Settings > AI assistants. Write tools return a preview first and only act when confirm=true. No money moves through the assistant. The client pays on Appty. Pay links and invoices only send a request the client pays on Appty.

endpoint
https://getappty.com/api/mcp
protocol
streamable-http ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is appty live?
Yes — it answered the hub's last check (checked 1h ago). It answered 100% of checks over the last 30 days.
Is appty free to use?
No — it asks for a key or a login before it will serve.
What tools does appty have?
11 tools: find_open_slots, send_invoice, list_clients, get_provider, book_session, reschedule_booking, cancel_booking, send_pay_link, ….
Is appty safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
100%

90 days 100%· all time 100%

latency
220ms

last good check

priced tools
0

of 11 tools

_ answered our checks, 90 days 1 checks · signed record
  • unknown → live
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 11 tools
10 auth-required 1 never probed 10 of 11 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • send_invoice auth-required never probed

    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.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "client_id"
      ],
      "properties": {
        "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."
        },
        "client_id": {
          "type": "string",
          "format": "uuid"
        },
        "booking_ids": {
          "type": "array",
          "items": {
            "$ref": "#/properties/client_id"
          },
          "maxItems": 100,
          "minItems": 1,
          "description": "Sessions to put on the invoice. Pass this or period."
        }
      },
      "additionalProperties": false
    }
    arguments 32 lines
  • list_clients auth-required 1h ago

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

    mcp-tool

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

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

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "slug"
      ],
      "properties": {
        "slug": {
          "type": "string",
          "maxLength": 80,
          "minLength": 1,
          "description": "Booking link slug, the part after getappty.com/"
        }
      },
      "additionalProperties": false
    }
    arguments 16 lines
  • book_session auth-required never probed

    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.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "client_id",
        "service_id",
        "start"
      ],
      "properties": {
        "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."
        },
        "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."
        }
      },
      "additionalProperties": false
    }
    arguments 31 lines
  • reschedule_booking auth-required never probed

    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.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "booking_id",
        "new_start"
      ],
      "properties": {
        "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."
        },
        "new_start": {
          "type": "string",
          "minLength": 1,
          "description": "New start, ISO 8601. Must be an open slot for this booking's length."
        },
        "booking_id": {
          "type": "string",
          "format": "uuid"
        }
      },
      "additionalProperties": false
    }
    arguments 24 lines
  • cancel_booking auth-required never probed

    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.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "booking_id"
      ],
      "properties": {
        "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."
        },
        "booking_id": {
          "type": "string",
          "format": "uuid"
        }
      },
      "additionalProperties": false
    }
    arguments 22 lines
  • send_pay_link auth-required never probed

    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.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "properties": {
        "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."
        },
        "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."
        }
      },
      "additionalProperties": false
    }
    arguments 20 lines
  • get_booking_link auth-required never probed

    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.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "slug",
        "service_id",
        "start"
      ],
      "properties": {
        "slug": {
          "type": "string",
          "maxLength": 80,
          "minLength": 1,
          "description": "Booking link slug, the part after getappty.com/"
        },
        "start": {
          "type": "string",
          "minLength": 1,
          "description": "Slot start, ISO 8601, from find_open_slots"
        },
        "service_id": {
          "type": "string",
          "format": "uuid",
          "description": "Service id from get_provider"
        }
      },
      "additionalProperties": false
    }
    arguments 28 lines
  • list_bookings auth-required never probed

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

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "properties": {
        "to": {
          "type": "string",
          "minLength": 1,
          "description": "Include sessions starting before this ISO 8601 time."
        },
        "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."
        },
        "limit": {
          "type": "integer",
          "maximum": 100,
          "minimum": 1,
          "description": "Default 50. Maximum 100."
        },
        "status": {
          "enum": [
            "held",
            "requested",
            "confirmed",
            "completed",
            "cancelled"
          ],
          "type": "string"
        }
      },
      "additionalProperties": false
    }
    arguments 33 lines
  • who_owes auth-required 1h ago

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

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "properties": {},
      "additionalProperties": false
    }
    arguments 6 lines
  • find_open_slots unknown 1h ago

    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.

    mcp-tool

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

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id fefdf9e7a08c25a7.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/fefdf9e7a08c25a7/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/fefdf9e7a08c25a7/badge.svg)](https://brick.blue/agent/fefdf9e7a08c25a7?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.