Skip to content

Page Lemon

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

Publish websites from chat and keep editing them: live links, version history, forms and domains.

Deletes · 28Final · 1Changes · 7

47 tools: 28 can delete or cancel things, 1 do something that can't be undone, 7 change things and 11 only read.

Scanned Oct 21, 2026

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

claude mcp add --transport http pagelemon https://mcp.pagelemon.com

Findings

Matches of fixed checks, with the text they matched.

3 warn
  • The server marks "sort_list_items" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

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

    What this check looks for
  • The server marks "undo_list_change" destructive (destructiveHint: true), and its name says "list", a word for reading.

    Matched text

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

    What this check looks for
  • The server marks "bind_list" destructive (destructiveHint: true), and its name says "list", a word for reading.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":true}; The name "bind_list" says "list": 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.

47 tools

Deletes or cancels 28Claude Code: deny
  • add_bookingAdds a booking the owner took (phone, walk-in): service, start, customer details; series repeats it weekly; resource picks staff or a room.No findings

    Why it is in this group

    • The name "add_booking" says "add": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Adds a booking the owner took (phone, walk-in): service, start, customer details; series repeats it weekly; resource picks staff or a room. A clash is a 409 (force: true books anyway). Emailing the customer takes confirm_token first.

    Annotations the server declares

    • title: Add a booking
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
  • add_peopleGives people access to a site (owner).No findings

    Why it is in this group

    • The name "add_people" says "add": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Gives people access to a site (owner). collaborator: a Site Collaborator (on a workspace site a Workspace Collaborator, a seat). viewer: that site only, no seat. workspace_viewer: every workspace site, no seat. member: Site Members (emails or domains) of an invite-only site. Returns approve_url.

    Annotations the server declares

    • title: Add people
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
  • approve_bookingApproves a booking request; the customer is emailed the confirmation.No findings

    Why it is in this group

    • The name "approve_booking" says "approve": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Approves a booking request; the customer is emailed the confirmation. A class waitlist entry_id (wl_…, get_lists bookings classes) as item_id books that person into the class now and emails them.

    Annotations the server declares

    • title: Approve a booking
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: true
  • bind_listTurns repeated blocks on a page (a menu) into a list: the first call previews items and markup (confirm_token); with it, after the user agrees, it creates the list, adds the items …1 finding

    Why it is in this group

    • The name "bind_list" says "list": a word for reading.
    • The server marks it destructive (destructiveHint: true).

    Findings

    • Warn

      The server marks "bind_list" destructive (destructiveHint: true), and its name says "list", a word for reading.

      Matched text

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

      What this check looks for
    Description, as the server wrote it
    Turns repeated blocks on a page (a menu) into a list: the first call previews items and markup (confirm_token); with it, after the user agrees, it creates the list, adds the items and publishes the page. Only when the user asks for a list.

    Annotations the server declares

    • title: Make page content a list
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
  • bring_back_sitesLists the sites that left a workspace when it froze and, once it is paid again, brings the chosen ones back (confirm: true returns approve_url).No findings

    Why it is in this group

    • The description's first verb is "list": a word for reading.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Lists the sites that left a workspace when it froze and, once it is paid again, brings the chosen ones back (confirm: true returns approve_url).

    Annotations the server declares

    • title: Bring sites back to a workspace
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
  • cancel_bookingCancels a booking or declines a request (two steps: confirm_token, then the customer is emailed).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
    Cancels a booking or declines a request (two steps: confirm_token, then the customer is emailed). series "rest": every later date too. A waitlist entry_id (wl_…) takes that person off. A class_id (cl_…) cancels the whole class, one email each.

    Annotations the server declares

    • title: Cancel a booking
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
  • cancel_transferCancels a site's pending transfer: the recipient's link stops working and nothing changes on the site.No findings

    Why it is in this group

    • The name "cancel_transfer" says "cancel": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Cancels a site's pending transfer: the recipient's link stops working and nothing changes on the site.

    Annotations the server declares

    • title: Cancel a transfer
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • delete_listDeletes a list and its items (a list with items: two steps, confirm_token after the user agrees).No findings

    Why it is in this group

    • The name "delete_list" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Deletes a list and its items (a list with items: two steps, confirm_token after the user agrees).

    Annotations the server declares

    • title: Delete a list
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
  • delete_siteDeletes a site permanently: returns approve_url, a page where the user types the site address to confirm.No findings

    Why it is in this group

    • The name "delete_site" says "delete": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Deletes a site permanently: returns approve_url, a page where the user types the site address to confirm. Called again with confirm_token: its status.

    Annotations the server declares

    • title: Delete site
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • deployPublishes a new static site or a new version.No findings

    Why it is in this group

    • The name "deploy" says "deploy": a word for a change.
    • The description's first verb is "publish": a word for a change that another call does not undo.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Publishes a new static site or a new version. New: every file, or a template. Update: site and base_revision with every file, or patch: true with changed files and deleted paths. A first publish without an account returns site_token and claim_url.

    Annotations the server declares

    • title: Publish site
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
  • edit_bookingChanges one booking: customer details, or start (and resource) to move it.No findings

    Why it is in this group

    • The name "edit_booking" says "edit": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Changes one booking: customer details, or start (and resource) to move it. A class_id (cl_…) as item_id: start moves the class; waitlist closes or re-opens it. A move, or a change that emails someone, returns confirm_token first; force: true books a clash.

    Annotations the server declares

    • title: Change a booking
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
  • import_list_itemsImports CSV or rows into a list: the first call previews (confirm_token); with it, after the user agrees, it saves as one change.No findings

    Why it is in this group

    • The name "import_list_items" says "import": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Imports CSV or rows into a list: the first call previews (confirm_token); with it, after the user agrees, it saves as one change.

    Annotations the server declares

    • title: Import list items
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
  • leave_workspacePrepares the end of a Starter or Scale plan: which sites move to the person's personal plan, who stays as Site Collaborator, bookings, before the workspace freezes (14 days after t…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
    Prepares the end of a Starter or Scale plan: which sites move to the person's personal plan, who stays as Site Collaborator, bookings, before the workspace freezes (14 days after the plan ends). Without confirm: the questions. confirm: true returns approve_url.

    Annotations the server declares

    • title: Leave a workspace plan
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
  • mark_messagesMarks form messages read, new, spam, not_spam, archive, bin (deleted after 30 days) or restore.No findings

    Why it is in this group

    • The name "mark_messages" says "mark": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Marks form messages read, new, spam, not_spam, archive, bin (deleted after 30 days) or restore. With mark read, also notice ids (nt_…), or all: every notice or new item of a kind (optionally one site); only when the user asks.

    Annotations the server declares

    • title: Mark messages
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • move_sitesMoves the person's personal sites and their Site Collaborators into a Starter or Scale workspace.No findings

    Why it is in this group

    • The name "move_sites" says "move": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Moves the person's personal sites and their Site Collaborators into a Starter or Scale workspace. Without confirm: the questions and a recommendation, or move_url where the person picks a plan and pays. Once paid: confirm: true (approve_url). Site Collaborators not invited lose access at once.

    Annotations the server declares

    • title: Move sites to a workspace
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
  • protectProtects a site or one path (owner): passcode (returns protect_url, where the user sets it; never asked in chat) or members ("/": invite-only, Site Members via add_people; a path: …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
    Protects a site or one path (owner): passcode (returns protect_url, where the user sets it; never asked in chat) or members ("/": invite-only, Site Members via add_people; a path: the emails who may see it). Protected paths a site: Builder 3, Starter 10, Scale 10. list_people shows it.

    Annotations the server declares

    • title: Protect site
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • remove_domainDisconnects a custom domain from a site (two steps: confirm_token and what stops working first).No findings

    Why it is in this group

    • The name "remove_domain" says "remove": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Disconnects a custom domain from a site (two steps: confirm_token and what stops working first). The domain itself stays with its registrar.

    Annotations the server declares

    • title: Disconnect a domain
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • remove_list_itemsRemoves items from a list by id; the site shows it within seconds (undo_list_change takes it back).No findings

    Why it is in this group

    • The name "remove_list_items" says "remove": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Removes items from a list by id; the site shows it within seconds (undo_list_change takes it back).

    Annotations the server declares

    • title: Remove list items
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
  • remove_peopleRemoves people from a site (owner; two steps: confirm_token and who loses what first): Site Collaborators and Site Viewers lose their rights, Site Members are signed out.No findings

    Why it is in this group

    • The name "remove_people" says "remove": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Removes people from a site (owner; two steps: confirm_token and who loses what first): Site Collaborators and Site Viewers lose their rights, Site Members are signed out. entries: emails or company domains. A Site Collaborator or Site Viewer may remove only themselves.

    Annotations the server declares

    • title: Remove people
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • remove_pluginRemoves a plugin from a site (two steps: confirm_token and what is lost first).No findings

    Why it is in this group

    • The name "remove_plugin" says "remove": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Removes a plugin from a site (two steps: confirm_token and what is lost first). Its data stays exportable in the app for 30 days.

    Annotations the server declares

    • title: Remove a plugin
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • rollbackMakes an earlier version, or a preview link, live as a new version (nothing is deleted); returns a conflict if the site changed since base_revision.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
    Makes an earlier version, or a preview link, live as a new version (nothing is deleted); returns a conflict if the site changed since base_revision.

    Annotations the server declares

    • title: Restore a version
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
  • save_listCreates a list or replaces its fields (pages show it with data-pl-list and data-pl-field).No findings

    Why it is in this group

    • The name "save_list" says "save": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Creates a list or replaces its fields (pages show it with data-pl-list and data-pl-field). Form or bookings list: only the owner's own columns (notes, tags). Lists are optional: only when the user asks for one.

    Annotations the server declares

    • title: Create or change a list
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
  • site_settingsChanges a claimed site: title (editors too); Site Owner: workspace, name (new address; approve_url), sender_name, ai_invites (true: approve_url), archived true (two steps) takes it…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
    Changes a claimed site: title (editors too); Site Owner: workspace, name (new address; approve_url), sender_name, ai_invites (true: approve_url), archived true (two steps) takes it offline, false puts it back online; notifications, analytics, search, staging

    Annotations the server declares

    • title: Change site settings
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • transfer_siteOffers a site to a new Site Owner by email; they accept and pick where it lives.No findings

    Why it is in this group

    • The name "transfer_site" says "transfer": a word for a change that another call does not undo.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Offers a site to a new Site Owner by email; they accept and pick where it lives. recipient: what the site needs beyond Free, same for any address. The sender's bill doesn't change. Returns approve_url; keep_editor (default true) keeps the sender as Site Collaborator. A workspace site: its Site Owner sends to themselves or a Workspace Collaborator.

    Annotations the server declares

    • title: Transfer site
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
  • undo_list_changeTakes back one list change (change_id from its reply).1 finding

    Why it is in this group

    • The name "undo_list_change" says "list": a word for reading.
    • The server marks it destructive (destructiveHint: true).

    Findings

    • Warn

      The server marks "undo_list_change" destructive (destructiveHint: true), and its name says "list", a word for reading.

      Matched text

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

      What this check looks for
    Description, as the server wrote it
    Takes back one list change (change_id from its reply).

    Annotations the server declares

    • title: Undo a list change
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
  • unprotectRemoves the passcode or invite-only setting from a whole site (path "/", the default) or the protection from one path (owner; an AI gets approve_url for the owner).No findings

    Why it is in this group

    • The description's first verb is "remove": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Removes the passcode or invite-only setting from a whole site (path "/", the default) or the protection from one path (owner; an AI gets approve_url for the owner). A protected path stays protected until opened by its own path.

    Annotations the server declares

    • title: Remove protection
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: false
  • update_pluginChanges a plugin: name, settings (whole), patch (merged), form_html, status active or paused, or recipients {add: email}.No findings

    Why it is in this group

    • The name "update_plugin" says "update": a word for a change.
    • The input addresses people (input.recipients): what it sends cannot be taken back.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Changes a plugin: name, settings (whole), patch (merged), form_html, status active or paused, or recipients {add: email}. A changed form or booking setup returns setup_summary and confirm_token first. A new inbox, or a booking reply_to_email set by an AI, returns approve_url.

    Annotations the server declares

    • title: Change a plugin
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
Can't be undone 1Claude Code: ask
  • test_pluginSends one test submission to a plugin (never counted or emailed; kept as a test item) and says whether it worked and which published pages carry it.No findings

    Why it is in this group

    • The description's first verb is "send": a word for sending, and what is sent cannot be taken back.
    Description, as the server wrote it
    Sends one test submission to a plugin (never counted or emailed; kept as a test item) and says whether it worked and which published pages carry it.

    Annotations the server declares

    • title: Test a plugin
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
Changes things 7Claude Code: ask
  • add_domainConnects the user's own domain to a site (owner; paid plans; www is easiest): returns the DNS records, a one-click apply_url when the DNS host supports it, and share_url for whoeve…No findings

    Why it is in this group

    • The name "add_domain" says "add": a word for a change.
    Description, as the server wrote it
    Connects the user's own domain to a site (owner; paid plans; www is easiest): returns the DNS records, a one-click apply_url when the DNS host supports it, and share_url for whoever runs the DNS; again for one already added: its status. get_domains checks it.

    Annotations the server declares

    • title: Connect a domain
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • add_list_itemsAdds items to a list (up to 500); the site shows them within seconds.No findings

    Why it is in this group

    • The name "add_list_items" says "add": a word for a change.
    Description, as the server wrote it
    Adds items to a list (up to 500); the site shows them within seconds. from copies a form message, only with the person's permission.

    Annotations the server declares

    • title: Add list items
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • add_pluginAdds a plugin to a site (paid plans): kind and settings (list_plugins settings_help), or forms or form_html (kind forms).No findings

    Why it is in this group

    • The name "add_plugin" says "add": a word for a change.
    Description, as the server wrote it
    Adds a plugin to a site (paid plans): kind and settings (list_plugins settings_help), or forms or form_html (kind forms). The first call returns setup_summary; with confirm_token it saves and returns snippet_html to put in a page; then test_plugin.

    Annotations the server declares

    • title: Add a plugin
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • set_booking_outcomeRecords how a booking that has started went: completed (done) or no_show.No findings

    Why it is in this group

    • The name "set_booking_outcome" says "set": a word for a change.
    Description, as the server wrote it
    Records how a booking that has started went: completed (done) or no_show. Emails nobody; it can be changed between the two.

    Annotations the server declares

    • title: Mark a booking done or missed
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • share_fileShares one image or PDF (PNG, JPEG, GIF, WebP, AVIF or PDF, not SVG) as a new site with a viewer and a Download button: without content, returns a link where the user drops their f…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.
    Description, as the server wrote it
    Shares one image or PDF (PNG, JPEG, GIF, WebP, AVIF or PDF, not SVG) as a new site with a viewer and a Download button: without content, returns a link where the user drops their file; with name and content (base64, up to 10 MB) it is published at once.

    Annotations the server declares

    • title: Share a file
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • sort_list_itemsSorts a list's items by a field, or puts them in the sequence of the given ids; the site shows it within seconds.1 finding

    Why it is in this group

    • The name "sort_list_items" says "list": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    Findings

    • Warn

      The server marks "sort_list_items" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

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

      What this check looks for
    Description, as the server wrote it
    Sorts a list's items by a field, or puts them in the sequence of the given ids; the site shows it within seconds.

    Annotations the server declares

    • title: Sort list items
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • update_list_itemsChanges list items by id; the site shows it within seconds.No findings

    Why it is in this group

    • The name "update_list_items" says "update": a word for a change.
    Description, as the server wrote it
    Changes list items by id; the site shows it within seconds. On form messages and bookings: only the owner's own columns (not undoable).

    Annotations the server declares

    • title: Change list items
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
Only reads 11Claude Code: allow
  • find_visitor_recordsFinds one person's records by email (a privacy request), with copies shown on the site.No findings

    Why it is in this group

    • The name "find_visitor_records" says "find": a word for reading.
    Description, as the server wrote it
    Finds one person's records by email (a privacy request), with copies shown on the site. Export and erase are in the app.

    Annotations the server declares

    • title: Find a person's records
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_accountReturns the signed-in account: plan, workspaces, sites (20 at a time, searchable), notices and counts of new items, and program status (student, startup); include adds billing, usa…No findings

    Why it is in this group

    • The name "get_account" says "get": a word for reading.
    Description, as the server wrote it
    Returns the signed-in account: plan, workspaces, sites (20 at a time, searchable), notices and counts of new items, and program status (student, startup); include adds billing, usage, storage or downgrade details.

    Annotations the server declares

    • title: Get sites and plan
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_activityReturns the activity log, newest first: who published, rolled back, or changed people, domains, settings, protection, visitor data, AI apps or billing, where and when.No findings

    Why it is in this group

    • The name "get_activity" says "get": a word for reading.
    Description, as the server wrote it
    Returns the activity log, newest first: who published, rolled back, or changed people, domains, settings, protection, visitor data, AI apps or billing, where and when. No workspace: the person's own account (paid plans); a workspace: its Workspace Owner sees everyone's actions, a Workspace Collaborator their own.

    Annotations the server declares

    • title: Read the activity log
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_analyticsReturns cookieless visitor numbers for a site (views, visitors, contacts; on paid plans taps on buttons and links, top pages, sources, countries, devices), as many days back as the…No findings

    Why it is in this group

    • The name "get_analytics" says "get": a word for reading.
    Description, as the server wrote it
    Returns cookieless visitor numbers for a site (views, visitors, contacts; on paid plans taps on buttons and links, top pages, sources, countries, devices), as many days back as the plan keeps. Taps are counted only for visitors in the UK (taps_not_counted).

    Annotations the server declares

    • title: Get visitor numbers
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_domainsLists custom domains: with site, the ones on it with status and DNS records (pending ones re-checked live); with query, likely-available names to buy at a registrar (Page Lemon doe…No findings

    Why it is in this group

    • The name "get_domains" says "get": a word for reading.
    Description, as the server wrote it
    Lists custom domains: with site, the ones on it with status and DNS records (pending ones re-checked live); with query, likely-available names to buy at a registrar (Page Lemon doesn't sell domains).

    Annotations the server declares

    • title: Check or find domains
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_free_slotsFinds the free booking times for a service on a date (default: the first with any), as customers see them.No findings

    Why it is in this group

    • The name "get_free_slots" says "get": a word for reading.
    Description, as the server wrote it
    Finds the free booking times for a service on a date (default: the first with any), as customers see them.

    Annotations the server declares

    • title: Find free booking times
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_listsReads Lists: a site's lists (menu, team; shown on its pages) and its form messages and bookings (private).No findings

    Why it is in this group

    • The name "get_lists" says "get": a word for reading.
    Description, as the server wrote it
    Reads Lists: a site's lists (menu, team; shown on its pages) and its form messages and bookings (private). No site: counts. With list: its items, filtered. Marks nothing read.

    Annotations the server declares

    • title: Read lists
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_siteReads a site: status and files (200 at a time); path: one file, paths: several; as_of or version: older copies.No findings

    Why it is in this group

    • The name "get_site" says "get": a word for reading.
    Description, as the server wrote it
    Reads a site: status and files (200 at a time); path: one file, paths: several; as_of or version: older copies. With site_token, also whether it was claimed. download: true gives 1-hour zip links of the whole site; check: "accessibility" runs the Accessibility check.

    Annotations the server declares

    • title: Read site
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_peopleLists who has access to a site: its people (owner, Site Collaborators and Site Viewers, in collaborators) and pending invites, Site Members, a pending transfer and its protection.No findings

    Why it is in this group

    • The name "list_people" says "list": a word for reading.
    Description, as the server wrote it
    Lists who has access to a site: its people (owner, Site Collaborators and Site Viewers, in collaborators) and pending invites, Site Members, a pending transfer and its protection.

    Annotations the server declares

    • title: List people
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_pluginsLists the plugins on a site and what can be added (settings_help per kind); without site, those on each of the account's sites; with plugin_id, that plugin in full (settings, snipp…No findings

    Why it is in this group

    • The name "list_plugins" says "list": a word for reading.
    Description, as the server wrote it
    Lists the plugins on a site and what can be added (settings_help per kind); without site, those on each of the account's sites; with plugin_id, that plugin in full (settings, snippet_html, test_steps, recipients, calendar feed_url).

    Annotations the server declares

    • title: List plugins
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • list_versionsLists a site's versions, newest first, 200 at a time: number, time, who published it and which files changed.No findings

    Why it is in this group

    • The name "list_versions" says "list": a word for reading.
    Description, as the server wrote it
    Lists a site's versions, newest first, 200 at a time: number, time, who published it and which files changed. Filters: before (a version number), since_days, since or by. rollback makes one live again.

    Annotations the server declares

    • title: List versions
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • 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 pagelemon https://mcp.pagelemon.com

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__pagelemon__get_site",
      "mcp__pagelemon__list_versions",
      "mcp__pagelemon__get_account",
      "mcp__pagelemon__get_lists",
      "mcp__pagelemon__get_free_slots",
      "mcp__pagelemon__find_visitor_records",
      "mcp__pagelemon__list_plugins",
      "mcp__pagelemon__get_analytics",
      "mcp__pagelemon__get_domains",
      "mcp__pagelemon__list_people",
      "mcp__pagelemon__get_activity"
    ],
    "ask": [
      "mcp__pagelemon__share_file",
      "mcp__pagelemon__add_list_items",
      "mcp__pagelemon__update_list_items",
      "mcp__pagelemon__sort_list_items",
      "mcp__pagelemon__add_plugin",
      "mcp__pagelemon__test_plugin",
      "mcp__pagelemon__set_booking_outcome",
      "mcp__pagelemon__add_domain"
    ],
    "deny": [
      "mcp__pagelemon__deploy",
      "mcp__pagelemon__create_upload_link",
      "mcp__pagelemon__rollback",
      "mcp__pagelemon__site_settings",
      "mcp__pagelemon__protect",
      "mcp__pagelemon__unprotect",
      "mcp__pagelemon__delete_site",
      "mcp__pagelemon__remove_domain",
      "mcp__pagelemon__remove_plugin",
      "mcp__pagelemon__remove_people",
      "mcp__pagelemon__save_list",
      "mcp__pagelemon__delete_list",
      "mcp__pagelemon__remove_list_items",
      "mcp__pagelemon__import_list_items",
      "mcp__pagelemon__undo_list_change",
      "mcp__pagelemon__bind_list",
      "mcp__pagelemon__update_plugin",
      "mcp__pagelemon__mark_messages",
      "mcp__pagelemon__add_booking",
      "mcp__pagelemon__edit_booking",
      "mcp__pagelemon__approve_booking",
      "mcp__pagelemon__cancel_booking",
      "mcp__pagelemon__transfer_site",
      "mcp__pagelemon__cancel_transfer",
      "mcp__pagelemon__leave_workspace",
      "mcp__pagelemon__bring_back_sites",
      "mcp__pagelemon__move_sites",
      "mcp__pagelemon__add_people"
    ]
  }
}

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