{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_rpzgudd49sx8","handle":"page-lemon","url":"https://wellknown.network/agents/page-lemon","links":{"self":"https://wellknown.network/agents/page-lemon/record.json","html":"https://wellknown.network/agents/page-lemon","markdown":"https://wellknown.network/agents/page-lemon/record.md","api":"https://wellknown.network/api/v1/agents/page-lemon","status":"https://wellknown.network/api/v1/agents/page-lemon/status","claim":"https://wellknown.network/agents/page-lemon/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/page-lemon/claim.json","badge":"https://wellknown.network/agents/page-lemon/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/page-lemon/history","tools":"https://wellknown.network/api/v1/agents/page-lemon/tools"},"ard":{"identifier":"urn:air:mcp.pagelemon.com:server:page-lemon","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Page Lemon","summary":"Publish websites from chat and keep editing them: live links, version history, forms and domains.","description":"Publish websites from chat and keep editing them: live links, version history, forms and domains.","publisher":{"name":"com.pagelemon","url":null},"homepage":"https://pagelemon.com/docs/mcp","repository":null,"version":"1.0.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://mcp.pagelemon.com","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-14T13:36:25.108357Z","publishedAt":"2026-10-14T13:36:25.108357Z","registryName":"com.pagelemon/pagelemon"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"analytics.reporting","name":"Reporting & Dashboards","confidence":1,"provenance":"derived"},{"slug":"content.writing","name":"Writing & Editing","confidence":0.911,"provenance":"derived"},{"slug":"communication.chat","name":"Team Chat","confidence":0.833,"provenance":"derived"},{"slug":"ai.prompting","name":"Prompt Management","confidence":0.525,"provenance":"derived"},{"slug":"commerce.travel","name":"Travel & Booking","confidence":0.51,"provenance":"derived"},{"slug":"communication.notifications","name":"Notifications","confidence":0.51,"provenance":"derived"}],"categories":["ai","analytics","commerce","communication","content"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 5h ago.","lastOkAt":"2026-10-24T12:23:46.810Z","lastProbedAt":"2026-10-24T12:23:46.810Z","statusComputedAt":"2026-10-24T12:26:44.571Z","reliability30d":{"probes":34,"successRate":1,"p50Ms":63,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":34,"ok":34,"authBoundaryOk":0,"serviceOk":34,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-24T12:23:46.810Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":69,"error":null,"detail":{"tools":[{"name":"deploy","description":"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 "},{"name":"create_upload_link","description":"Returns a 1-hour link where the user uploads photos and files into a folder of a site (get_site lists them). replace_site: only when the user asks to replace th"},{"name":"share_file","description":"Shares one image (PNG, JPEG, GIF, WebP, AVIF; not SVG) or PDF as a new site with a viewer and a Download button: without content, returns a link where the user "},{"name":"get_site","description":"Reads a site: status and files (200 at a time); path: one file, paths: several; as_of or version: older copies; with site_token, whether it was claimed. Also zi"},{"name":"list_versions","description":"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, si"},{"name":"get_account","description":"Returns the signed-in account: plan, workspaces, sites (20 at a time, searchable), notices and counts of new items, and program status (student, startup); inclu"},{"name":"rollback","description":"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."},{"name":"site_settings","description":"Changes a claimed site: title (developers too); Site Owner: workspace, name (address; approve_url), sender_name, ai_invites (true: approve_url), archived (true:"},{"name":"protect","description":"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 "},{"name":"unprotect","description":"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). A protect"},{"name":"delete_site","description":"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."},{"name":"remove_domain","description":"Disconnects a custom domain from a site (two steps: confirm_token and what stops working first). The domain itself stays with its registrar."},{"name":"remove_plugin","description":"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."},{"name":"remove_people","description":"Removes people from a site (owner; two steps: confirm_token and who loses what first): Site Developers and Site Viewers lose their rights, Site Members are sign"},{"name":"get_lists","description":"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. Mark"},{"name":"save_list","description":"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). Li"},{"name":"delete_list","description":"Deletes a list and its items (a list with items: two steps, confirm_token after the user agrees)."},{"name":"add_list_items","description":"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."},{"name":"update_list_items","description":"Changes list items by id; the site shows it within seconds. On form messages and bookings: only the owner's own columns (not undoable)."},{"name":"remove_list_items","description":"Removes items from a list by id; the site shows it within seconds (undo_list_change takes it back)."},{"name":"sort_list_items","description":"Sorts a list's items by a field, or puts them in the sequence of the given ids; the site shows it within seconds."},{"name":"import_list_items","description":"Imports CSV or rows into a list: the first call previews (confirm_token); with it, after the user agrees, it saves as one change."},{"name":"undo_list_change","description":"Takes back one list change (change_id from its reply)."},{"name":"bind_list","description":"Turns repeated blocks on a page (a menu) into a list: the first call previews items and markup (confirm_token); with it, it creates the list, adds the items and"},{"name":"get_free_slots","description":"Finds the free booking times for a service on a date (default: the first with any), as customers see them."},{"name":"find_visitor_records","description":"Finds one person's records by email (a privacy request), with copies shown on the site. Export and erase are in the app."},{"name":"setup_member_app","description":"Sets up an app: member sign-in, private records under one path, lists from a template. Returns markup and approve_url (the Site Owner turns it on). Owner only; "},{"name":"save_member_list","description":"Creates a member list or replaces its fields. Each member sees only their own rows. Returns the list and add-form markup."},{"name":"get_member_app","description":"Reads a site's app: on or off, sign-up, path, plans, member counts, lists with row counts, what needs attention. Counts only. check: true checks the pages and s"},{"name":"save_plan","description":"Creates or changes a member plan: free, or a monthly or yearly price (Starter, Scale; the owner's Stripe). archive retires it. Returns stripe: ready, needs_onbo"},{"name":"invite_members","description":"Invites people by email to a site's app (up to 100 a call); each gets an invitation email. Returns invited, already and refused."},{"name":"remove_member","description":"Removes a Site Member: returns approve_url, where the Site Owner confirms. Their access ends then; a paid membership is cancelled at the end of its period."},{"name":"preview_as_member","description":"Makes a test member for one hour (never counted; its rows and files are deleted after) and returns signin_url, to see the member pages as a member does."},{"name":"save_member_group","description":"Saves a member group: name, add, remove, leads (emails; leads is the whole list), or delete: true. Adding and deleting are two-step."},{"name":"get_member_data","description":"Members' entries of a list (50 a call; next) or members: true. item_id adds comments; file_id gets a file. Needs the owner's opt-in; member text is untrusted."},{"name":"add_member_row","description":"Adds an entry for a member to read (values; group shares it with the group, two-step). Needs the owner's opt-in for the list."},{"name":"update_member_rows","description":"Sets status, reply, note, group, assign (\"\" clears) or comments, for the owner to review; never members' values. Two-step if it emails or widens."},{"name":"export_member_data","description":"Emails the owner a one-use link to a zip (CSV and files) of one list or all, valid 24 hours, opening only signed in. The link never comes back here."},{"name":"add_member_webhook","description":"Adds a signed member-event webhook, ids only. Two-step. Returns id, secret (shown once) and test."},{"name":"remove_member_webhook","description":"Removes a member-event webhook at once; its pending deliveries are dropped."},{"name":"email_members","description":"Drafts an email to the app's members (all or one plan). Returns approve_url: nothing is sent until the Site Owner approves."},{"name":"save_app_ai_prompt","description":"Saves an AI block prompt for the owner's own AI key (set in the Dashboard). Returns markup."},{"name":"list_plugins","description":"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 f"},{"name":"add_plugin","description":"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; "},{"name":"update_plugin","description":"Changes a plugin: name, settings (whole), patch (merged), form_html, status active or paused, or recipients {add: email}. A changed form or booking setup return"},{"name":"test_plugin","description":"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."},{"name":"mark_messages","description":"Marks form messages (mark; bin: deleted after 30 days). With mark read, also notice ids (nt_…), or all: every notice or new item of a kind (optionally one site)"},{"name":"add_booking","description":"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 (fo"},{"name":"edit_booking","description":"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. "},{"name":"approve_booking","description":"Approves a booking request and emails the customer. A class waitlist entry_id (wl_…, get_lists bookings classes) as item_id books that person into the class now"},{"name":"cancel_booking","description":"Cancels a booking or declines a request (two steps: confirm_token, then the customer is emailed). A waitlist entry_id (wl_…) takes that person off; a class_id ("},{"name":"set_booking_outcome","description":"Records how a booking that has started went: completed (done) or no_show. Emails nobody; it can be changed between the two."},{"name":"fulfil_order","description":"Marks an order sent and emails the customer, with an optional note (two steps: the first call returns confirm_token)."},{"name":"refuse_order","description":"Refuses an order and refunds it in full: returns approve_url, where the owner approves the money moving; confirm_token then reports its status."},{"name":"refund_order","description":"Refunds an order, in full or amount: returns approve_url, where the owner approves the money moving; confirm_token then reports its status."},{"name":"get_analytics","description":"Returns cookieless visitor numbers for a site (views, visitors, contacts; paid plans: taps on buttons and links, top pages, sources, countries, devices), as man"},{"name":"get_domains","description":"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 regis"},{"name":"add_domain","description":"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 "},{"name":"transfer_site","description":"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 "},{"name":"cancel_transfer","description":"Cancels a site's pending transfer: the recipient's link stops working and nothing changes on the site."},{"name":"leave_workspace","description":"Prepares the end of a Starter or Scale plan: which sites move to the personal plan, who stays as Site Developer, bookings, before the workspace freezes (14 days"},{"name":"bring_back_sites","description":"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)."},{"name":"move_sites","description":"Moves the person's personal sites and their Site Developers into a Starter or Scale workspace. Without confirm: the questions and a recommendation, or move_url "},{"name":"list_people","description":"Lists who has access to a site: its people with roles (owner, Site Developers, Site Viewers), pending invites, Site Members, a pending transfer and its protecti"},{"name":"add_people","description":"Gives people access, or sets a workspace person's role (Owner or Admin). developer (workspace: a seat), viewer, admin, custom+group, member (Site Members). Retu"},{"name":"save_group","description":"Saves a workspace group (group: change; delete: true). Owner or Admin. Returns approve_url."},{"name":"get_activity","description":"Returns the activity log, newest first: who published, rolled back, or changed people, domains, settings, protection, visitor data, AI apps or billing, where an"}],"toolCount":67,"toolsHash":"ccf7cde5a4c6f8f2a78c525a07b16f6a2305af8ce1eca8a2106cdf9d391e2d3f","serverName":"pagelemon","capabilities":["tools","prompts"],"serverVersion":"1.12.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-24T05:30:32.294Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":62,"error":null,"detail":{"tools":[{"name":"deploy","description":"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 "},{"name":"create_upload_link","description":"Returns a 1-hour link where the user uploads photos and files into a folder of a site (get_site lists them). replace_site: only when the user asks to replace th"},{"name":"share_file","description":"Shares one image (PNG, JPEG, GIF, WebP, AVIF; not SVG) or PDF as a new site with a viewer and a Download button: without content, returns a link where the user "},{"name":"get_site","description":"Reads a site: status and files (200 at a time); path: one file, paths: several; as_of or version: older copies; with site_token, whether it was claimed. Also zi"},{"name":"list_versions","description":"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, si"},{"name":"get_account","description":"Returns the signed-in account: plan, workspaces, sites (20 at a time, searchable), notices and counts of new items, and program status (student, startup); inclu"},{"name":"rollback","description":"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."},{"name":"site_settings","description":"Changes a claimed site: title (developers too); Site Owner: workspace, name (address; approve_url), sender_name, ai_invites (true: approve_url), archived (true:"},{"name":"protect","description":"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 "},{"name":"unprotect","description":"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). A protect"},{"name":"delete_site","description":"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."},{"name":"remove_domain","description":"Disconnects a custom domain from a site (two steps: confirm_token and what stops working first). The domain itself stays with its registrar."},{"name":"remove_plugin","description":"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."},{"name":"remove_people","description":"Removes people from a site (owner; two steps: confirm_token and who loses what first): Site Developers and Site Viewers lose their rights, Site Members are sign"},{"name":"get_lists","description":"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. Mark"},{"name":"save_list","description":"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). Li"},{"name":"delete_list","description":"Deletes a list and its items (a list with items: two steps, confirm_token after the user agrees)."},{"name":"add_list_items","description":"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."},{"name":"update_list_items","description":"Changes list items by id; the site shows it within seconds. On form messages and bookings: only the owner's own columns (not undoable)."},{"name":"remove_list_items","description":"Removes items from a list by id; the site shows it within seconds (undo_list_change takes it back)."},{"name":"sort_list_items","description":"Sorts a list's items by a field, or puts them in the sequence of the given ids; the site shows it within seconds."},{"name":"import_list_items","description":"Imports CSV or rows into a list: the first call previews (confirm_token); with it, after the user agrees, it saves as one change."},{"name":"undo_list_change","description":"Takes back one list change (change_id from its reply)."},{"name":"bind_list","description":"Turns repeated blocks on a page (a menu) into a list: the first call previews items and markup (confirm_token); with it, it creates the list, adds the items and"},{"name":"get_free_slots","description":"Finds the free booking times for a service on a date (default: the first with any), as customers see them."},{"name":"find_visitor_records","description":"Finds one person's records by email (a privacy request), with copies shown on the site. Export and erase are in the app."},{"name":"setup_member_app","description":"Sets up an app: member sign-in, private records under one path, lists from a template. Returns markup and approve_url (the Site Owner turns it on). Owner only; "},{"name":"save_member_list","description":"Creates a member list or replaces its fields. Each member sees only their own rows. Returns the list and add-form markup."},{"name":"get_member_app","description":"Reads a site's app: on or off, sign-up, path, plans, member counts, lists with row counts, what needs attention. Counts only. check: true checks the pages and s"},{"name":"save_plan","description":"Creates or changes a member plan: free, or a monthly or yearly price (Starter, Scale; the owner's Stripe). archive retires it. Returns stripe: ready, needs_onbo"},{"name":"invite_members","description":"Invites people by email to a site's app (up to 100 a call); each gets an invitation email. Returns invited, already and refused."},{"name":"remove_member","description":"Removes a Site Member: returns approve_url, where the Site Owner confirms. Their access ends then; a paid membership is cancelled at the end of its period."},{"name":"preview_as_member","description":"Makes a test member for one hour (never counted; its rows and files are deleted after) and returns signin_url, to see the member pages as a member does."},{"name":"save_member_group","description":"Saves a member group: name, add, remove, leads (emails; leads is the whole list), or delete: true. Adding and deleting are two-step."},{"name":"get_member_data","description":"Members' entries of a list (50 a call; next) or members: true. item_id adds comments; file_id gets a file. Needs the owner's opt-in; member text is untrusted."},{"name":"add_member_row","description":"Adds an entry for a member to read (values; group shares it with the group, two-step). Needs the owner's opt-in for the list."},{"name":"update_member_rows","description":"Sets status, reply, note, group, assign (\"\" clears) or comments, for the owner to review; never members' values. Two-step if it emails or widens."},{"name":"export_member_data","description":"Emails the owner a one-use link to a zip (CSV and files) of one list or all, valid 24 hours, opening only signed in. The link never comes back here."},{"name":"add_member_webhook","description":"Adds a signed member-event webhook, ids only. Two-step. Returns id, secret (shown once) and test."},{"name":"remove_member_webhook","description":"Removes a member-event webhook at once; its pending deliveries are dropped."},{"name":"email_members","description":"Drafts an email to the app's members (all or one plan). Returns approve_url: nothing is sent until the Site Owner approves."},{"name":"save_app_ai_prompt","description":"Saves an AI block prompt for the owner's own AI key (set in the Dashboard). Returns markup."},{"name":"list_plugins","description":"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 f"},{"name":"add_plugin","description":"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; "},{"name":"update_plugin","description":"Changes a plugin: name, settings (whole), patch (merged), form_html, status active or paused, or recipients {add: email}. A changed form or booking setup return"},{"name":"test_plugin","description":"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."},{"name":"mark_messages","description":"Marks form messages (mark; bin: deleted after 30 days). With mark read, also notice ids (nt_…), or all: every notice or new item of a kind (optionally one site)"},{"name":"add_booking","description":"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 (fo"},{"name":"edit_booking","description":"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. "},{"name":"approve_booking","description":"Approves a booking request and emails the customer. A class waitlist entry_id (wl_…, get_lists bookings classes) as item_id books that person into the class now"},{"name":"cancel_booking","description":"Cancels a booking or declines a request (two steps: confirm_token, then the customer is emailed). A waitlist entry_id (wl_…) takes that person off; a class_id ("},{"name":"set_booking_outcome","description":"Records how a booking that has started went: completed (done) or no_show. Emails nobody; it can be changed between the two."},{"name":"fulfil_order","description":"Marks an order sent and emails the customer, with an optional note (two steps: the first call returns confirm_token)."},{"name":"refuse_order","description":"Refuses an order and refunds it in full: returns approve_url, where the owner approves the money moving; confirm_token then reports its status."},{"name":"refund_order","description":"Refunds an order, in full or amount: returns approve_url, where the owner approves the money moving; confirm_token then reports its status."},{"name":"get_analytics","description":"Returns cookieless visitor numbers for a site (views, visitors, contacts; paid plans: taps on buttons and links, top pages, sources, countries, devices), as man"},{"name":"get_domains","description":"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 regis"},{"name":"add_domain","description":"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 "},{"name":"transfer_site","description":"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 "},{"name":"cancel_transfer","description":"Cancels a site's pending transfer: the recipient's link stops working and nothing changes on the site."},{"name":"leave_workspace","description":"Prepares the end of a Starter or Scale plan: which sites move to the personal plan, who stays as Site Developer, bookings, before the workspace freezes (14 days"},{"name":"bring_back_sites","description":"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)."},{"name":"move_sites","description":"Moves the person's personal sites and their Site Developers into a Starter or Scale workspace. Without confirm: the questions and a recommendation, or move_url "},{"name":"list_people","description":"Lists who has access to a site: its people with roles (owner, Site Developers, Site Viewers), pending invites, Site Members, a pending transfer and its protecti"},{"name":"add_people","description":"Gives people access, or sets a workspace person's role (Owner or Admin). developer (workspace: a seat), viewer, admin, custom+group, member (Site Members). Retu"},{"name":"save_group","description":"Saves a workspace group (group: change; delete: true). Owner or Admin. Returns approve_url."},{"name":"get_activity","description":"Returns the activity log, newest first: who published, rolled back, or changed people, domains, settings, protection, visitor data, AI apps or billing, where an"}],"toolCount":67,"toolsHash":"ccf7cde5a4c6f8f2a78c525a07b16f6a2305af8ce1eca8a2106cdf9d391e2d3f","serverName":"pagelemon","capabilities":["tools","prompts"],"serverVersion":"1.12.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-23T23:26:23.355Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":56,"error":null,"detail":{"tools":[{"name":"deploy","description":"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 "},{"name":"create_upload_link","description":"Returns a 1-hour link where the user uploads their own photos and files into a folder of a site (get_site lists them). replace_site: true, only when the user as"},{"name":"share_file","description":"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 th"},{"name":"get_site","description":"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. do"},{"name":"list_versions","description":"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, si"},{"name":"get_account","description":"Returns the signed-in account: plan, workspaces, sites (20 at a time, searchable), notices and counts of new items, and program status (student, startup); inclu"},{"name":"rollback","description":"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."},{"name":"site_settings","description":"Changes a claimed site: title (developers too); Site Owner: workspace, name (address; approve_url), sender_name, ai_invites (true: approve_url), archived (true:"},{"name":"protect","description":"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 "},{"name":"unprotect","description":"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 own"},{"name":"delete_site","description":"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."},{"name":"remove_domain","description":"Disconnects a custom domain from a site (two steps: confirm_token and what stops working first). The domain itself stays with its registrar."},{"name":"remove_plugin","description":"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."},{"name":"remove_people","description":"Removes people from a site (owner; two steps: confirm_token and who loses what first): Site Developers and Site Viewers lose their rights, Site Members are sign"},{"name":"get_lists","description":"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. Mark"},{"name":"save_list","description":"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). Li"},{"name":"delete_list","description":"Deletes a list and its items (a list with items: two steps, confirm_token after the user agrees)."},{"name":"add_list_items","description":"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."},{"name":"update_list_items","description":"Changes list items by id; the site shows it within seconds. On form messages and bookings: only the owner's own columns (not undoable)."},{"name":"remove_list_items","description":"Removes items from a list by id; the site shows it within seconds (undo_list_change takes it back)."},{"name":"sort_list_items","description":"Sorts a list's items by a field, or puts them in the sequence of the given ids; the site shows it within seconds."},{"name":"import_list_items","description":"Imports CSV or rows into a list: the first call previews (confirm_token); with it, after the user agrees, it saves as one change."},{"name":"undo_list_change","description":"Takes back one list change (change_id from its reply)."},{"name":"bind_list","description":"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 l"},{"name":"get_free_slots","description":"Finds the free booking times for a service on a date (default: the first with any), as customers see them."},{"name":"find_visitor_records","description":"Finds one person's records by email (a privacy request), with copies shown on the site. Export and erase are in the app."},{"name":"setup_member_app","description":"Sets up an app: member sign-in, private records under one path, lists from a template. Returns markup and approve_url (the Site Owner turns it on). Owner only; "},{"name":"save_member_list","description":"Creates a member list or replaces its fields. Each member sees only their own rows. Returns the list and add-form markup."},{"name":"get_member_app","description":"Reads a site's app: on or off, sign-up, path, plans, member counts, lists with row counts, what needs attention. Counts only. check: true checks the pages and s"},{"name":"save_plan","description":"Creates or changes a member plan: free, or a monthly or yearly price (Starter, Scale; the owner's Stripe). archive retires it. Returns stripe: ready, needs_onbo"},{"name":"invite_members","description":"Invites people by email to a site's app (up to 100 a call); each gets an invitation email. Returns invited, already and refused."},{"name":"remove_member","description":"Removes a Site Member: returns approve_url, where the Site Owner confirms. Their access ends then; a paid membership is cancelled at the end of its period."},{"name":"preview_as_member","description":"Makes a test member for one hour (never counted; its rows and files are deleted after) and returns signin_url, to see the member pages as a member does."},{"name":"save_member_group","description":"Saves a member group: name, add, remove, leads (emails; leads is the whole list), or delete: true. Adding and deleting are two-step."},{"name":"get_member_data","description":"Members' entries of a list (50 a call; next) or members: true. item_id adds comments; file_id gets a file. Needs the owner's opt-in; member text is untrusted."},{"name":"add_member_row","description":"Adds an entry for a member to read (values; group shares it with the group, two-step). Needs the owner's opt-in for the list."},{"name":"update_member_rows","description":"Sets status, reply, note, group, assign (\"\" clears) or comments, for the owner to review; never members' values. Two-step if it emails or widens."},{"name":"export_member_data","description":"Emails the owner a one-use link to a zip (CSV and files) of one list or all, valid 24 hours, opening only signed in. The link never comes back here."},{"name":"add_member_webhook","description":"Adds a signed member-event webhook, ids only. Two-step. Returns id, secret (shown once) and test."},{"name":"remove_member_webhook","description":"Removes a member-event webhook at once; its pending deliveries are dropped."},{"name":"email_members","description":"Drafts an email to the app's members (all or one plan). Returns approve_url: nothing is sent until the Site Owner approves."},{"name":"save_app_ai_prompt","description":"Saves an AI block prompt for the owner's own AI key (set in the Dashboard). Returns markup."},{"name":"list_plugins","description":"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 f"},{"name":"add_plugin","description":"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; "},{"name":"update_plugin","description":"Changes a plugin: name, settings (whole), patch (merged), form_html, status active or paused, or recipients {add: email}. A changed form or booking setup return"},{"name":"test_plugin","description":"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."},{"name":"mark_messages","description":"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 "},{"name":"add_booking","description":"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 (fo"},{"name":"edit_booking","description":"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. "},{"name":"approve_booking","description":"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 "},{"name":"cancel_booking","description":"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_…"},{"name":"set_booking_outcome","description":"Records how a booking that has started went: completed (done) or no_show. Emails nobody; it can be changed between the two."},{"name":"get_analytics","description":"Returns cookieless visitor numbers for a site (views, visitors, contacts; on paid plans taps on buttons and links, top pages, sources, countries, devices), as m"},{"name":"get_domains","description":"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 regis"},{"name":"add_domain","description":"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 "},{"name":"transfer_site","description":"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 "},{"name":"cancel_transfer","description":"Cancels a site's pending transfer: the recipient's link stops working and nothing changes on the site."},{"name":"leave_workspace","description":"Prepares the end of a Starter or Scale plan: which sites move to the person's personal plan, who stays as Site Developer, bookings, before the workspace freezes"},{"name":"bring_back_sites","description":"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)."},{"name":"move_sites","description":"Moves the person's personal sites and their Site Developers into a Starter or Scale workspace. Without confirm: the questions and a recommendation, or move_url "},{"name":"list_people","description":"Lists who has access to a site: its people with roles (owner, Site Developers, Site Viewers), pending invites, Site Members, a pending transfer and its protecti"},{"name":"add_people","description":"Gives people access, or sets a workspace person's role (Owner or Admin). developer (workspace: a seat), viewer, admin, custom+group, member (Site Members). Retu"},{"name":"save_group","description":"Saves a workspace group (group: change; delete: true). Owner or Admin. Returns approve_url."},{"name":"get_activity","description":"Returns the activity log, newest first: who published, rolled back, or changed people, domains, settings, protection, visitor data, AI apps or billing, where an"}],"toolCount":64,"toolsHash":"e68db0853c3c9e7608dabc8d32f696a3565aae507bc6e6868df227ef929cc898","serverName":"pagelemon","capabilities":["tools"],"serverVersion":"1.11.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-23T16:27:19.301Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":114,"error":null,"detail":{"tools":[{"name":"deploy","description":"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 "},{"name":"create_upload_link","description":"Returns a 1-hour link where the user uploads their own photos and files into a folder of a site (get_site lists them). replace_site: true, only when the user as"},{"name":"share_file","description":"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 th"},{"name":"get_site","description":"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. do"},{"name":"list_versions","description":"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, si"},{"name":"get_account","description":"Returns the signed-in account: plan, workspaces, sites (20 at a time, searchable), notices and counts of new items, and program status (student, startup); inclu"},{"name":"rollback","description":"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."},{"name":"site_settings","description":"Changes a claimed site: title (developers too); Site Owner: workspace, name (address; approve_url), sender_name, ai_invites (true: approve_url), archived (true:"},{"name":"protect","description":"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 "},{"name":"unprotect","description":"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 own"},{"name":"delete_site","description":"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."},{"name":"remove_domain","description":"Disconnects a custom domain from a site (two steps: confirm_token and what stops working first). The domain itself stays with its registrar."},{"name":"remove_plugin","description":"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."},{"name":"remove_people","description":"Removes people from a site (owner; two steps: confirm_token and who loses what first): Site Developers and Site Viewers lose their rights, Site Members are sign"},{"name":"get_lists","description":"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. Mark"},{"name":"save_list","description":"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). Li"},{"name":"delete_list","description":"Deletes a list and its items (a list with items: two steps, confirm_token after the user agrees)."},{"name":"add_list_items","description":"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."},{"name":"update_list_items","description":"Changes list items by id; the site shows it within seconds. On form messages and bookings: only the owner's own columns (not undoable)."},{"name":"remove_list_items","description":"Removes items from a list by id; the site shows it within seconds (undo_list_change takes it back)."},{"name":"sort_list_items","description":"Sorts a list's items by a field, or puts them in the sequence of the given ids; the site shows it within seconds."},{"name":"import_list_items","description":"Imports CSV or rows into a list: the first call previews (confirm_token); with it, after the user agrees, it saves as one change."},{"name":"undo_list_change","description":"Takes back one list change (change_id from its reply)."},{"name":"bind_list","description":"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 l"},{"name":"get_free_slots","description":"Finds the free booking times for a service on a date (default: the first with any), as customers see them."},{"name":"find_visitor_records","description":"Finds one person's records by email (a privacy request), with copies shown on the site. Export and erase are in the app."},{"name":"setup_member_app","description":"Sets up an app: member sign-in, private records under one path, lists from a template. Returns markup and approve_url (the Site Owner turns it on). Owner only; "},{"name":"save_member_list","description":"Creates a member list or replaces its fields. Each member sees only their own rows. Returns the list and add-form markup."},{"name":"get_member_app","description":"Reads a site's app: on or off, sign-up, path, plans, member counts, lists with row counts, what needs attention. Counts only. check: true checks the pages and s"},{"name":"save_plan","description":"Creates or changes a member plan: free, or a monthly or yearly price (Starter, Scale; the owner's Stripe). archive retires it. Returns stripe: ready, needs_onbo"},{"name":"invite_members","description":"Invites people by email to a site's app (up to 100 a call); each gets an invitation email. Returns invited, already and refused."},{"name":"remove_member","description":"Removes a Site Member: returns approve_url, where the Site Owner confirms. Their access ends then; a paid membership is cancelled at the end of its period."},{"name":"preview_as_member","description":"Makes a test member for one hour (never counted; its rows and files are deleted after) and returns signin_url, to see the member pages as a member does."},{"name":"save_member_group","description":"Saves a member group: name, add, remove, leads (emails; leads is the whole list), or delete: true. Adding and deleting are two-step."},{"name":"get_member_data","description":"Members' entries of a list (50 a call; next) or members: true. item_id adds comments; file_id gets a file. Needs the owner's opt-in; member text is untrusted."},{"name":"add_member_row","description":"Adds an entry for a member to read (values; group shares it with the group, two-step). Needs the owner's opt-in for the list."},{"name":"update_member_rows","description":"Sets status, reply, note, group, assign (\"\" clears) or comments, for the owner to review; never members' values. Two-step if it emails or widens."},{"name":"export_member_data","description":"Emails the owner a one-use link to a zip (CSV and files) of one list or all, valid 24 hours, opening only signed in. The link never comes back here."},{"name":"add_member_webhook","description":"Adds a signed member-event webhook, ids only. Two-step. Returns id, secret (shown once) and test."},{"name":"remove_member_webhook","description":"Removes a member-event webhook at once; its pending deliveries are dropped."},{"name":"email_members","description":"Drafts an email to the app's members (all or one plan). Returns approve_url: nothing is sent until the Site Owner approves."},{"name":"save_app_ai_prompt","description":"Saves an AI block prompt for the owner's own AI key (set in the Dashboard). Returns markup."},{"name":"list_plugins","description":"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 f"},{"name":"add_plugin","description":"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; "},{"name":"update_plugin","description":"Changes a plugin: name, settings (whole), patch (merged), form_html, status active or paused, or recipients {add: email}. A changed form or booking setup return"},{"name":"test_plugin","description":"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."},{"name":"mark_messages","description":"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 "},{"name":"add_booking","description":"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 (fo"},{"name":"edit_booking","description":"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. "},{"name":"approve_booking","description":"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 "},{"name":"cancel_booking","description":"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_…"},{"name":"set_booking_outcome","description":"Records how a booking that has started went: completed (done) or no_show. Emails nobody; it can be changed between the two."},{"name":"get_analytics","description":"Returns cookieless visitor numbers for a site (views, visitors, contacts; on paid plans taps on buttons and links, top pages, sources, countries, devices), as m"},{"name":"get_domains","description":"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 regis"},{"name":"add_domain","description":"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 "},{"name":"transfer_site","description":"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 "},{"name":"cancel_transfer","description":"Cancels a site's pending transfer: the recipient's link stops working and nothing changes on the site."},{"name":"leave_workspace","description":"Prepares the end of a Starter or Scale plan: which sites move to the person's personal plan, who stays as Site Developer, bookings, before the workspace freezes"},{"name":"bring_back_sites","description":"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)."},{"name":"move_sites","description":"Moves the person's personal sites and their Site Developers into a Starter or Scale workspace. Without confirm: the questions and a recommendation, or move_url "},{"name":"list_people","description":"Lists who has access to a site: its people with roles (owner, Site Developers, Site Viewers), pending invites, Site Members, a pending transfer and its protecti"},{"name":"add_people","description":"Gives people access, or sets a workspace person's role (Owner or Admin). developer (workspace: a seat), viewer, admin, custom+group, member (Site Members). Retu"},{"name":"save_group","description":"Saves a workspace group (group: change; delete: true). Owner or Admin. Returns approve_url."},{"name":"get_activity","description":"Returns the activity log, newest first: who published, rolled back, or changed people, domains, settings, protection, visitor data, AI apps or billing, where an"}],"toolCount":64,"toolsHash":"e68db0853c3c9e7608dabc8d32f696a3565aae507bc6e6868df227ef929cc898","serverName":"pagelemon","capabilities":["tools"],"serverVersion":"1.11.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-23T09:29:49.285Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":75,"error":null,"detail":{"tools":[{"name":"deploy","description":"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 "},{"name":"create_upload_link","description":"Returns a 1-hour link where the user uploads their own photos and files into a folder of a site (get_site lists them). replace_site: true, only when the user as"},{"name":"share_file","description":"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 th"},{"name":"get_site","description":"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. do"},{"name":"list_versions","description":"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, si"},{"name":"get_account","description":"Returns the signed-in account: plan, workspaces, sites (20 at a time, searchable), notices and counts of new items, and program status (student, startup); inclu"},{"name":"rollback","description":"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."},{"name":"site_settings","description":"Changes a claimed site: title (developers too); Site Owner: workspace, name (address; approve_url), sender_name, ai_invites (true: approve_url), archived (true:"},{"name":"protect","description":"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 "},{"name":"unprotect","description":"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 own"},{"name":"delete_site","description":"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."},{"name":"remove_domain","description":"Disconnects a custom domain from a site (two steps: confirm_token and what stops working first). The domain itself stays with its registrar."},{"name":"remove_plugin","description":"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."},{"name":"remove_people","description":"Removes people from a site (owner; two steps: confirm_token and who loses what first): Site Developers and Site Viewers lose their rights, Site Members are sign"},{"name":"get_lists","description":"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. Mark"},{"name":"save_list","description":"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). Li"},{"name":"delete_list","description":"Deletes a list and its items (a list with items: two steps, confirm_token after the user agrees)."},{"name":"add_list_items","description":"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."},{"name":"update_list_items","description":"Changes list items by id; the site shows it within seconds. On form messages and bookings: only the owner's own columns (not undoable)."},{"name":"remove_list_items","description":"Removes items from a list by id; the site shows it within seconds (undo_list_change takes it back)."},{"name":"sort_list_items","description":"Sorts a list's items by a field, or puts them in the sequence of the given ids; the site shows it within seconds."},{"name":"import_list_items","description":"Imports CSV or rows into a list: the first call previews (confirm_token); with it, after the user agrees, it saves as one change."},{"name":"undo_list_change","description":"Takes back one list change (change_id from its reply)."},{"name":"bind_list","description":"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 l"},{"name":"get_free_slots","description":"Finds the free booking times for a service on a date (default: the first with any), as customers see them."},{"name":"find_visitor_records","description":"Finds one person's records by email (a privacy request), with copies shown on the site. Export and erase are in the app."},{"name":"list_plugins","description":"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 f"},{"name":"add_plugin","description":"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; "},{"name":"update_plugin","description":"Changes a plugin: name, settings (whole), patch (merged), form_html, status active or paused, or recipients {add: email}. A changed form or booking setup return"},{"name":"test_plugin","description":"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."},{"name":"mark_messages","description":"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 "},{"name":"add_booking","description":"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 (fo"},{"name":"edit_booking","description":"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. "},{"name":"approve_booking","description":"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 "},{"name":"cancel_booking","description":"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_…"},{"name":"set_booking_outcome","description":"Records how a booking that has started went: completed (done) or no_show. Emails nobody; it can be changed between the two."},{"name":"get_analytics","description":"Returns cookieless visitor numbers for a site (views, visitors, contacts; on paid plans taps on buttons and links, top pages, sources, countries, devices), as m"},{"name":"get_domains","description":"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 regis"},{"name":"add_domain","description":"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 "},{"name":"transfer_site","description":"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 "},{"name":"cancel_transfer","description":"Cancels a site's pending transfer: the recipient's link stops working and nothing changes on the site."},{"name":"leave_workspace","description":"Prepares the end of a Starter or Scale plan: which sites move to the person's personal plan, who stays as Site Developer, bookings, before the workspace freezes"},{"name":"bring_back_sites","description":"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)."},{"name":"move_sites","description":"Moves the person's personal sites and their Site Developers into a Starter or Scale workspace. Without confirm: the questions and a recommendation, or move_url "},{"name":"list_people","description":"Lists who has access to a site: its people with roles (owner, Site Developers, Site Viewers), pending invites, Site Members, a pending transfer and its protecti"},{"name":"add_people","description":"Gives people access, or sets a workspace person's role (Owner or Admin). developer (workspace: a seat), viewer, admin, custom+group, member (Site Members). Retu"},{"name":"save_group","description":"Saves a workspace group (group: change; delete: true). Owner or Admin. Returns approve_url."},{"name":"get_activity","description":"Returns the activity log, newest first: who published, rolled back, or changed people, domains, settings, protection, visitor data, AI apps or billing, where an"}],"toolCount":48,"toolsHash":"901b858bd9f33cd4857852f26754729b9fc2e551d9d6682a8d9969753ab1ae9f","serverName":"pagelemon","capabilities":["tools"],"serverVersion":"1.9.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-23T03:24:16.917Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":51,"error":null,"detail":{"tools":[{"name":"deploy","description":"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 "},{"name":"create_upload_link","description":"Returns a 1-hour link where the user uploads their own photos and files into a folder of a site (get_site lists them). replace_site: true, only when the user as"},{"name":"share_file","description":"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 th"},{"name":"get_site","description":"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. do"},{"name":"list_versions","description":"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, si"},{"name":"get_account","description":"Returns the signed-in account: plan, workspaces, sites (20 at a time, searchable), notices and counts of new items, and program status (student, startup); inclu"},{"name":"rollback","description":"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."},{"name":"site_settings","description":"Changes a claimed site: title (developers too); Site Owner: workspace, name (address; approve_url), sender_name, ai_invites (true: approve_url), archived (true:"},{"name":"protect","description":"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 "},{"name":"unprotect","description":"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 own"},{"name":"delete_site","description":"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."},{"name":"remove_domain","description":"Disconnects a custom domain from a site (two steps: confirm_token and what stops working first). The domain itself stays with its registrar."},{"name":"remove_plugin","description":"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."},{"name":"remove_people","description":"Removes people from a site (owner; two steps: confirm_token and who loses what first): Site Developers and Site Viewers lose their rights, Site Members are sign"},{"name":"get_lists","description":"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. Mark"},{"name":"save_list","description":"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). Li"},{"name":"delete_list","description":"Deletes a list and its items (a list with items: two steps, confirm_token after the user agrees)."},{"name":"add_list_items","description":"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."},{"name":"update_list_items","description":"Changes list items by id; the site shows it within seconds. On form messages and bookings: only the owner's own columns (not undoable)."},{"name":"remove_list_items","description":"Removes items from a list by id; the site shows it within seconds (undo_list_change takes it back)."},{"name":"sort_list_items","description":"Sorts a list's items by a field, or puts them in the sequence of the given ids; the site shows it within seconds."},{"name":"import_list_items","description":"Imports CSV or rows into a list: the first call previews (confirm_token); with it, after the user agrees, it saves as one change."},{"name":"undo_list_change","description":"Takes back one list change (change_id from its reply)."},{"name":"bind_list","description":"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 l"},{"name":"get_free_slots","description":"Finds the free booking times for a service on a date (default: the first with any), as customers see them."},{"name":"find_visitor_records","description":"Finds one person's records by email (a privacy request), with copies shown on the site. Export and erase are in the app."},{"name":"list_plugins","description":"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 f"},{"name":"add_plugin","description":"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; "},{"name":"update_plugin","description":"Changes a plugin: name, settings (whole), patch (merged), form_html, status active or paused, or recipients {add: email}. A changed form or booking setup return"},{"name":"test_plugin","description":"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."},{"name":"mark_messages","description":"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 "},{"name":"add_booking","description":"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 (fo"},{"name":"edit_booking","description":"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. "},{"name":"approve_booking","description":"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 "},{"name":"cancel_booking","description":"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_…"},{"name":"set_booking_outcome","description":"Records how a booking that has started went: completed (done) or no_show. Emails nobody; it can be changed between the two."},{"name":"get_analytics","description":"Returns cookieless visitor numbers for a site (views, visitors, contacts; on paid plans taps on buttons and links, top pages, sources, countries, devices), as m"},{"name":"get_domains","description":"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 regis"},{"name":"add_domain","description":"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 "},{"name":"transfer_site","description":"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 "},{"name":"cancel_transfer","description":"Cancels a site's pending transfer: the recipient's link stops working and nothing changes on the site."},{"name":"leave_workspace","description":"Prepares the end of a Starter or Scale plan: which sites move to the person's personal plan, who stays as Site Developer, bookings, before the workspace freezes"},{"name":"bring_back_sites","description":"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)."},{"name":"move_sites","description":"Moves the person's personal sites and their Site Developers into a Starter or Scale workspace. Without confirm: the questions and a recommendation, or move_url "},{"name":"list_people","description":"Lists who has access to a site: its people with roles (owner, Site Developers, Site Viewers), pending invites, Site Members, a pending transfer and its protecti"},{"name":"add_people","description":"Gives people access, or sets a workspace person's role (Owner or Admin). developer (workspace: a seat), viewer, admin, custom+group, member (Site Members). Retu"},{"name":"save_group","description":"Saves a workspace group (group: change; delete: true). Owner or Admin. Returns approve_url."},{"name":"get_activity","description":"Returns the activity log, newest first: who published, rolled back, or changed people, domains, settings, protection, visitor data, AI apps or billing, where an"}],"toolCount":48,"toolsHash":"901b858bd9f33cd4857852f26754729b9fc2e551d9d6682a8d9969753ab1ae9f","serverName":"pagelemon","capabilities":["tools"],"serverVersion":"1.9.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-22T20:28:39.449Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":51,"error":null,"detail":{"tools":[{"name":"deploy","description":"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 "},{"name":"create_upload_link","description":"Returns a 1-hour link where the user uploads their own photos and files into a folder of a site (get_site lists them). replace_site: true, only when the user as"},{"name":"share_file","description":"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 th"},{"name":"get_site","description":"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. do"},{"name":"list_versions","description":"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, si"},{"name":"get_account","description":"Returns the signed-in account: plan, workspaces, sites (20 at a time, searchable), notices and counts of new items, and program status (student, startup); inclu"},{"name":"rollback","description":"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."},{"name":"site_settings","description":"Changes a claimed site: title (developers too); Site Owner: workspace, name (address; approve_url), sender_name, ai_invites (true: approve_url), archived (true:"},{"name":"protect","description":"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 "},{"name":"unprotect","description":"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 own"},{"name":"delete_site","description":"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."},{"name":"remove_domain","description":"Disconnects a custom domain from a site (two steps: confirm_token and what stops working first). The domain itself stays with its registrar."},{"name":"remove_plugin","description":"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."},{"name":"remove_people","description":"Removes people from a site (owner; two steps: confirm_token and who loses what first): Site Developers and Site Viewers lose their rights, Site Members are sign"},{"name":"get_lists","description":"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. Mark"},{"name":"save_list","description":"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). Li"},{"name":"delete_list","description":"Deletes a list and its items (a list with items: two steps, confirm_token after the user agrees)."},{"name":"add_list_items","description":"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."},{"name":"update_list_items","description":"Changes list items by id; the site shows it within seconds. On form messages and bookings: only the owner's own columns (not undoable)."},{"name":"remove_list_items","description":"Removes items from a list by id; the site shows it within seconds (undo_list_change takes it back)."},{"name":"sort_list_items","description":"Sorts a list's items by a field, or puts them in the sequence of the given ids; the site shows it within seconds."},{"name":"import_list_items","description":"Imports CSV or rows into a list: the first call previews (confirm_token); with it, after the user agrees, it saves as one change."},{"name":"undo_list_change","description":"Takes back one list change (change_id from its reply)."},{"name":"bind_list","description":"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 l"},{"name":"get_free_slots","description":"Finds the free booking times for a service on a date (default: the first with any), as customers see them."},{"name":"find_visitor_records","description":"Finds one person's records by email (a privacy request), with copies shown on the site. Export and erase are in the app."},{"name":"list_plugins","description":"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 f"},{"name":"add_plugin","description":"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; "},{"name":"update_plugin","description":"Changes a plugin: name, settings (whole), patch (merged), form_html, status active or paused, or recipients {add: email}. A changed form or booking setup return"},{"name":"test_plugin","description":"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."},{"name":"mark_messages","description":"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 "},{"name":"add_booking","description":"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 (fo"},{"name":"edit_booking","description":"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. "},{"name":"approve_booking","description":"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 "},{"name":"cancel_booking","description":"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_…"},{"name":"set_booking_outcome","description":"Records how a booking that has started went: completed (done) or no_show. Emails nobody; it can be changed between the two."},{"name":"get_analytics","description":"Returns cookieless visitor numbers for a site (views, visitors, contacts; on paid plans taps on buttons and links, top pages, sources, countries, devices), as m"},{"name":"get_domains","description":"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 regis"},{"name":"add_domain","description":"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 "},{"name":"transfer_site","description":"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 "},{"name":"cancel_transfer","description":"Cancels a site's pending transfer: the recipient's link stops working and nothing changes on the site."},{"name":"leave_workspace","description":"Prepares the end of a Starter or Scale plan: which sites move to the person's personal plan, who stays as Site Developer, bookings, before the workspace freezes"},{"name":"bring_back_sites","description":"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)."},{"name":"move_sites","description":"Moves the person's personal sites and their Site Developers into a Starter or Scale workspace. Without confirm: the questions and a recommendation, or move_url "},{"name":"list_people","description":"Lists who has access to a site: its people with roles (owner, Site Developers, Site Viewers), pending invites, Site Members, a pending transfer and its protecti"},{"name":"add_people","description":"Gives people access, or sets a workspace person's role (Owner or Admin). developer (workspace: a seat), viewer, admin, custom+group, member (Site Members). Retu"},{"name":"save_group","description":"Saves a workspace group (group: change; delete: true). Owner or Admin. Returns approve_url."},{"name":"get_activity","description":"Returns the activity log, newest first: who published, rolled back, or changed people, domains, settings, protection, visitor data, AI apps or billing, where an"}],"toolCount":48,"toolsHash":"901b858bd9f33cd4857852f26754729b9fc2e551d9d6682a8d9969753ab1ae9f","serverName":"pagelemon","capabilities":["tools"],"serverVersion":"1.9.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-22T13:28:26.514Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":72,"error":null,"detail":{"tools":[{"name":"deploy","description":"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 "},{"name":"create_upload_link","description":"Returns a 1-hour link where the user uploads their own photos and files into a folder of a site (get_site lists them). replace_site: true, only when the user as"},{"name":"share_file","description":"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 th"},{"name":"get_site","description":"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. do"},{"name":"list_versions","description":"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, si"},{"name":"get_account","description":"Returns the signed-in account: plan, workspaces, sites (20 at a time, searchable), notices and counts of new items, and program status (student, startup); inclu"},{"name":"rollback","description":"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."},{"name":"site_settings","description":"Changes a claimed site: title (developers too); Site Owner: workspace, name (address; approve_url), sender_name, ai_invites (true: approve_url), archived (true:"},{"name":"protect","description":"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 "},{"name":"unprotect","description":"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 own"},{"name":"delete_site","description":"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."},{"name":"remove_domain","description":"Disconnects a custom domain from a site (two steps: confirm_token and what stops working first). The domain itself stays with its registrar."},{"name":"remove_plugin","description":"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."},{"name":"remove_people","description":"Removes people from a site (owner; two steps: confirm_token and who loses what first): Site Developers and Site Viewers lose their rights, Site Members are sign"},{"name":"get_lists","description":"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. Mark"},{"name":"save_list","description":"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). Li"},{"name":"delete_list","description":"Deletes a list and its items (a list with items: two steps, confirm_token after the user agrees)."},{"name":"add_list_items","description":"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."},{"name":"update_list_items","description":"Changes list items by id; the site shows it within seconds. On form messages and bookings: only the owner's own columns (not undoable)."},{"name":"remove_list_items","description":"Removes items from a list by id; the site shows it within seconds (undo_list_change takes it back)."},{"name":"sort_list_items","description":"Sorts a list's items by a field, or puts them in the sequence of the given ids; the site shows it within seconds."},{"name":"import_list_items","description":"Imports CSV or rows into a list: the first call previews (confirm_token); with it, after the user agrees, it saves as one change."},{"name":"undo_list_change","description":"Takes back one list change (change_id from its reply)."},{"name":"bind_list","description":"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 l"},{"name":"get_free_slots","description":"Finds the free booking times for a service on a date (default: the first with any), as customers see them."},{"name":"find_visitor_records","description":"Finds one person's records by email (a privacy request), with copies shown on the site. Export and erase are in the app."},{"name":"list_plugins","description":"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 f"},{"name":"add_plugin","description":"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; "},{"name":"update_plugin","description":"Changes a plugin: name, settings (whole), patch (merged), form_html, status active or paused, or recipients {add: email}. A changed form or booking setup return"},{"name":"test_plugin","description":"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."},{"name":"mark_messages","description":"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 "},{"name":"add_booking","description":"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 (fo"},{"name":"edit_booking","description":"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. "},{"name":"approve_booking","description":"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 "},{"name":"cancel_booking","description":"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_…"},{"name":"set_booking_outcome","description":"Records how a booking that has started went: completed (done) or no_show. Emails nobody; it can be changed between the two."},{"name":"get_analytics","description":"Returns cookieless visitor numbers for a site (views, visitors, contacts; on paid plans taps on buttons and links, top pages, sources, countries, devices), as m"},{"name":"get_domains","description":"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 regis"},{"name":"add_domain","description":"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 "},{"name":"transfer_site","description":"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 "},{"name":"cancel_transfer","description":"Cancels a site's pending transfer: the recipient's link stops working and nothing changes on the site."},{"name":"leave_workspace","description":"Prepares the end of a Starter or Scale plan: which sites move to the person's personal plan, who stays as Site Developer, bookings, before the workspace freezes"},{"name":"bring_back_sites","description":"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)."},{"name":"move_sites","description":"Moves the person's personal sites and their Site Developers into a Starter or Scale workspace. Without confirm: the questions and a recommendation, or move_url "},{"name":"list_people","description":"Lists who has access to a site: its people with roles (owner, Site Developers, Site Viewers), pending invites, Site Members, a pending transfer and its protecti"},{"name":"add_people","description":"Gives people access, or sets a workspace person's role (Owner or Admin). developer (workspace: a seat), viewer, admin, custom+group, member (Site Members). Retu"},{"name":"save_group","description":"Saves a workspace group (group: change; delete: true). Owner or Admin. Returns approve_url."},{"name":"get_activity","description":"Returns the activity log, newest first: who published, rolled back, or changed people, domains, settings, protection, visitor data, AI apps or billing, where an"}],"toolCount":48,"toolsHash":"901b858bd9f33cd4857852f26754729b9fc2e551d9d6682a8d9969753ab1ae9f","serverName":"pagelemon","capabilities":["tools"],"serverVersion":"1.9.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-22T06:27:21.363Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":56,"error":null,"detail":{"tools":[{"name":"deploy","description":"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 "},{"name":"create_upload_link","description":"Returns a 1-hour link where the user uploads their own photos and files into a folder of a site (get_site lists them). replace_site: true, only when the user as"},{"name":"share_file","description":"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 th"},{"name":"get_site","description":"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. do"},{"name":"list_versions","description":"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, si"},{"name":"get_account","description":"Returns the signed-in account: plan, workspaces, sites (20 at a time, searchable), notices and counts of new items, and program status (student, startup); inclu"},{"name":"rollback","description":"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."},{"name":"site_settings","description":"Changes a claimed site: title (editors too); Site Owner: workspace, name (new address; approve_url), sender_name, ai_invites (true: approve_url), archived true "},{"name":"protect","description":"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 "},{"name":"unprotect","description":"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 own"},{"name":"delete_site","description":"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."},{"name":"remove_domain","description":"Disconnects a custom domain from a site (two steps: confirm_token and what stops working first). The domain itself stays with its registrar."},{"name":"remove_plugin","description":"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."},{"name":"remove_people","description":"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 s"},{"name":"get_lists","description":"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. Mark"},{"name":"save_list","description":"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). Li"},{"name":"delete_list","description":"Deletes a list and its items (a list with items: two steps, confirm_token after the user agrees)."},{"name":"add_list_items","description":"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."},{"name":"update_list_items","description":"Changes list items by id; the site shows it within seconds. On form messages and bookings: only the owner's own columns (not undoable)."},{"name":"remove_list_items","description":"Removes items from a list by id; the site shows it within seconds (undo_list_change takes it back)."},{"name":"sort_list_items","description":"Sorts a list's items by a field, or puts them in the sequence of the given ids; the site shows it within seconds."},{"name":"import_list_items","description":"Imports CSV or rows into a list: the first call previews (confirm_token); with it, after the user agrees, it saves as one change."},{"name":"undo_list_change","description":"Takes back one list change (change_id from its reply)."},{"name":"bind_list","description":"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 l"},{"name":"get_free_slots","description":"Finds the free booking times for a service on a date (default: the first with any), as customers see them."},{"name":"find_visitor_records","description":"Finds one person's records by email (a privacy request), with copies shown on the site. Export and erase are in the app."},{"name":"list_plugins","description":"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 f"},{"name":"add_plugin","description":"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; "},{"name":"update_plugin","description":"Changes a plugin: name, settings (whole), patch (merged), form_html, status active or paused, or recipients {add: email}. A changed form or booking setup return"},{"name":"test_plugin","description":"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."},{"name":"mark_messages","description":"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 "},{"name":"add_booking","description":"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 (fo"},{"name":"edit_booking","description":"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. "},{"name":"approve_booking","description":"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 "},{"name":"cancel_booking","description":"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_…"},{"name":"set_booking_outcome","description":"Records how a booking that has started went: completed (done) or no_show. Emails nobody; it can be changed between the two."},{"name":"get_analytics","description":"Returns cookieless visitor numbers for a site (views, visitors, contacts; on paid plans taps on buttons and links, top pages, sources, countries, devices), as m"},{"name":"get_domains","description":"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 regis"},{"name":"add_domain","description":"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 "},{"name":"transfer_site","description":"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 "},{"name":"cancel_transfer","description":"Cancels a site's pending transfer: the recipient's link stops working and nothing changes on the site."},{"name":"leave_workspace","description":"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 free"},{"name":"bring_back_sites","description":"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)."},{"name":"move_sites","description":"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_u"},{"name":"list_people","description":"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 "},{"name":"add_people","description":"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"},{"name":"get_activity","description":"Returns the activity log, newest first: who published, rolled back, or changed people, domains, settings, protection, visitor data, AI apps or billing, where an"}],"toolCount":47,"toolsHash":"2ce78e9ad9b2f5b21bb61de1a780c146e035829a301478672721ff74bb2272d1","serverName":"pagelemon","capabilities":["tools"],"serverVersion":"1.7.2","protocolVersion":"2025-06-18"}},{"at":"2026-10-21T23:29:36.689Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":44,"error":null,"detail":{"tools":[{"name":"deploy","description":"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 "},{"name":"create_upload_link","description":"Returns a 1-hour link where the user uploads their own photos and files into a folder of a site (get_site lists them). replace_site: true, only when the user as"},{"name":"share_file","description":"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 th"},{"name":"get_site","description":"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. do"},{"name":"list_versions","description":"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, si"},{"name":"get_account","description":"Returns the signed-in account: plan, workspaces, sites (20 at a time, searchable), notices and counts of new items, and program status (student, startup); inclu"},{"name":"rollback","description":"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."},{"name":"site_settings","description":"Changes a claimed site: title (editors too); Site Owner: workspace, name (new address; approve_url), sender_name, ai_invites (true: approve_url), archived true "},{"name":"protect","description":"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 "},{"name":"unprotect","description":"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 own"},{"name":"delete_site","description":"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."},{"name":"remove_domain","description":"Disconnects a custom domain from a site (two steps: confirm_token and what stops working first). The domain itself stays with its registrar."},{"name":"remove_plugin","description":"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."},{"name":"remove_people","description":"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 s"},{"name":"get_lists","description":"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. Mark"},{"name":"save_list","description":"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). Li"},{"name":"delete_list","description":"Deletes a list and its items (a list with items: two steps, confirm_token after the user agrees)."},{"name":"add_list_items","description":"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."},{"name":"update_list_items","description":"Changes list items by id; the site shows it within seconds. On form messages and bookings: only the owner's own columns (not undoable)."},{"name":"remove_list_items","description":"Removes items from a list by id; the site shows it within seconds (undo_list_change takes it back)."},{"name":"sort_list_items","description":"Sorts a list's items by a field, or puts them in the sequence of the given ids; the site shows it within seconds."},{"name":"import_list_items","description":"Imports CSV or rows into a list: the first call previews (confirm_token); with it, after the user agrees, it saves as one change."},{"name":"undo_list_change","description":"Takes back one list change (change_id from its reply)."},{"name":"bind_list","description":"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 l"},{"name":"get_free_slots","description":"Finds the free booking times for a service on a date (default: the first with any), as customers see them."},{"name":"find_visitor_records","description":"Finds one person's records by email (a privacy request), with copies shown on the site. Export and erase are in the app."},{"name":"list_plugins","description":"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 f"},{"name":"add_plugin","description":"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; "},{"name":"update_plugin","description":"Changes a plugin: name, settings (whole), patch (merged), form_html, status active or paused, or recipients {add: email}. A changed form or booking setup return"},{"name":"test_plugin","description":"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."},{"name":"mark_messages","description":"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 "},{"name":"add_booking","description":"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 (fo"},{"name":"edit_booking","description":"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. "},{"name":"approve_booking","description":"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 "},{"name":"cancel_booking","description":"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_…"},{"name":"set_booking_outcome","description":"Records how a booking that has started went: completed (done) or no_show. Emails nobody; it can be changed between the two."},{"name":"get_analytics","description":"Returns cookieless visitor numbers for a site (views, visitors, contacts; on paid plans taps on buttons and links, top pages, sources, countries, devices), as m"},{"name":"get_domains","description":"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 regis"},{"name":"add_domain","description":"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 "},{"name":"transfer_site","description":"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 "},{"name":"cancel_transfer","description":"Cancels a site's pending transfer: the recipient's link stops working and nothing changes on the site."},{"name":"leave_workspace","description":"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 free"},{"name":"bring_back_sites","description":"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)."},{"name":"move_sites","description":"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_u"},{"name":"list_people","description":"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 "},{"name":"add_people","description":"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"},{"name":"get_activity","description":"Returns the activity log, newest first: who published, rolled back, or changed people, domains, settings, protection, visitor data, AI apps or billing, where an"}],"toolCount":47,"toolsHash":"2ce78e9ad9b2f5b21bb61de1a780c146e035829a301478672721ff74bb2272d1","serverName":"pagelemon","capabilities":["tools"],"serverVersion":"1.7.2","protocolVersion":"2025-06-18"}}],"tools":[{"name":"deploy","description":"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 "},{"name":"create_upload_link","description":"Returns a 1-hour link where the user uploads photos and files into a folder of a site (get_site lists them). replace_site: only when the user asks to replace th"},{"name":"share_file","description":"Shares one image (PNG, JPEG, GIF, WebP, AVIF; not SVG) or PDF as a new site with a viewer and a Download button: without content, returns a link where the user "},{"name":"get_site","description":"Reads a site: status and files (200 at a time); path: one file, paths: several; as_of or version: older copies; with site_token, whether it was claimed. Also zi"},{"name":"list_versions","description":"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, si"},{"name":"get_account","description":"Returns the signed-in account: plan, workspaces, sites (20 at a time, searchable), notices and counts of new items, and program status (student, startup); inclu"},{"name":"rollback","description":"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."},{"name":"site_settings","description":"Changes a claimed site: title (developers too); Site Owner: workspace, name (address; approve_url), sender_name, ai_invites (true: approve_url), archived (true:"},{"name":"protect","description":"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 "},{"name":"unprotect","description":"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). A protect"},{"name":"delete_site","description":"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."},{"name":"remove_domain","description":"Disconnects a custom domain from a site (two steps: confirm_token and what stops working first). The domain itself stays with its registrar."},{"name":"remove_plugin","description":"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."},{"name":"remove_people","description":"Removes people from a site (owner; two steps: confirm_token and who loses what first): Site Developers and Site Viewers lose their rights, Site Members are sign"},{"name":"get_lists","description":"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. Mark"},{"name":"save_list","description":"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). Li"},{"name":"delete_list","description":"Deletes a list and its items (a list with items: two steps, confirm_token after the user agrees)."},{"name":"add_list_items","description":"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."},{"name":"update_list_items","description":"Changes list items by id; the site shows it within seconds. On form messages and bookings: only the owner's own columns (not undoable)."},{"name":"remove_list_items","description":"Removes items from a list by id; the site shows it within seconds (undo_list_change takes it back)."},{"name":"sort_list_items","description":"Sorts a list's items by a field, or puts them in the sequence of the given ids; the site shows it within seconds."},{"name":"import_list_items","description":"Imports CSV or rows into a list: the first call previews (confirm_token); with it, after the user agrees, it saves as one change."},{"name":"undo_list_change","description":"Takes back one list change (change_id from its reply)."},{"name":"bind_list","description":"Turns repeated blocks on a page (a menu) into a list: the first call previews items and markup (confirm_token); with it, it creates the list, adds the items and"},{"name":"get_free_slots","description":"Finds the free booking times for a service on a date (default: the first with any), as customers see them."},{"name":"find_visitor_records","description":"Finds one person's records by email (a privacy request), with copies shown on the site. Export and erase are in the app."},{"name":"setup_member_app","description":"Sets up an app: member sign-in, private records under one path, lists from a template. Returns markup and approve_url (the Site Owner turns it on). Owner only; "},{"name":"save_member_list","description":"Creates a member list or replaces its fields. Each member sees only their own rows. Returns the list and add-form markup."},{"name":"get_member_app","description":"Reads a site's app: on or off, sign-up, path, plans, member counts, lists with row counts, what needs attention. Counts only. check: true checks the pages and s"},{"name":"save_plan","description":"Creates or changes a member plan: free, or a monthly or yearly price (Starter, Scale; the owner's Stripe). archive retires it. Returns stripe: ready, needs_onbo"},{"name":"invite_members","description":"Invites people by email to a site's app (up to 100 a call); each gets an invitation email. Returns invited, already and refused."},{"name":"remove_member","description":"Removes a Site Member: returns approve_url, where the Site Owner confirms. Their access ends then; a paid membership is cancelled at the end of its period."},{"name":"preview_as_member","description":"Makes a test member for one hour (never counted; its rows and files are deleted after) and returns signin_url, to see the member pages as a member does."},{"name":"save_member_group","description":"Saves a member group: name, add, remove, leads (emails; leads is the whole list), or delete: true. Adding and deleting are two-step."},{"name":"get_member_data","description":"Members' entries of a list (50 a call; next) or members: true. item_id adds comments; file_id gets a file. Needs the owner's opt-in; member text is untrusted."},{"name":"add_member_row","description":"Adds an entry for a member to read (values; group shares it with the group, two-step). Needs the owner's opt-in for the list."},{"name":"update_member_rows","description":"Sets status, reply, note, group, assign (\"\" clears) or comments, for the owner to review; never members' values. Two-step if it emails or widens."},{"name":"export_member_data","description":"Emails the owner a one-use link to a zip (CSV and files) of one list or all, valid 24 hours, opening only signed in. The link never comes back here."},{"name":"add_member_webhook","description":"Adds a signed member-event webhook, ids only. Two-step. Returns id, secret (shown once) and test."},{"name":"remove_member_webhook","description":"Removes a member-event webhook at once; its pending deliveries are dropped."},{"name":"email_members","description":"Drafts an email to the app's members (all or one plan). Returns approve_url: nothing is sent until the Site Owner approves."},{"name":"save_app_ai_prompt","description":"Saves an AI block prompt for the owner's own AI key (set in the Dashboard). Returns markup."},{"name":"list_plugins","description":"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 f"},{"name":"add_plugin","description":"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; "},{"name":"update_plugin","description":"Changes a plugin: name, settings (whole), patch (merged), form_html, status active or paused, or recipients {add: email}. A changed form or booking setup return"},{"name":"test_plugin","description":"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."},{"name":"mark_messages","description":"Marks form messages (mark; bin: deleted after 30 days). With mark read, also notice ids (nt_…), or all: every notice or new item of a kind (optionally one site)"},{"name":"add_booking","description":"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 (fo"},{"name":"edit_booking","description":"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. "},{"name":"approve_booking","description":"Approves a booking request and emails the customer. A class waitlist entry_id (wl_…, get_lists bookings classes) as item_id books that person into the class now"},{"name":"cancel_booking","description":"Cancels a booking or declines a request (two steps: confirm_token, then the customer is emailed). A waitlist entry_id (wl_…) takes that person off; a class_id ("},{"name":"set_booking_outcome","description":"Records how a booking that has started went: completed (done) or no_show. Emails nobody; it can be changed between the two."},{"name":"fulfil_order","description":"Marks an order sent and emails the customer, with an optional note (two steps: the first call returns confirm_token)."},{"name":"refuse_order","description":"Refuses an order and refunds it in full: returns approve_url, where the owner approves the money moving; confirm_token then reports its status."},{"name":"refund_order","description":"Refunds an order, in full or amount: returns approve_url, where the owner approves the money moving; confirm_token then reports its status."},{"name":"get_analytics","description":"Returns cookieless visitor numbers for a site (views, visitors, contacts; paid plans: taps on buttons and links, top pages, sources, countries, devices), as man"},{"name":"get_domains","description":"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 regis"},{"name":"add_domain","description":"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 "},{"name":"transfer_site","description":"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 "},{"name":"cancel_transfer","description":"Cancels a site's pending transfer: the recipient's link stops working and nothing changes on the site."},{"name":"leave_workspace","description":"Prepares the end of a Starter or Scale plan: which sites move to the personal plan, who stays as Site Developer, bookings, before the workspace freezes (14 days"},{"name":"bring_back_sites","description":"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)."},{"name":"move_sites","description":"Moves the person's personal sites and their Site Developers into a Starter or Scale workspace. Without confirm: the questions and a recommendation, or move_url "},{"name":"list_people","description":"Lists who has access to a site: its people with roles (owner, Site Developers, Site Viewers), pending invites, Site Members, a pending transfer and its protecti"},{"name":"add_people","description":"Gives people access, or sets a workspace person's role (Owner or Admin). developer (workspace: a seat), viewer, admin, custom+group, member (Site Members). Retu"},{"name":"save_group","description":"Saves a workspace group (group: change; delete: true). Owner or Admin. Returns approve_url."},{"name":"get_activity","description":"Returns the activity log, newest first: who published, rolled back, or changed people, domains, settings, protection, visitor data, AI apps or billing, where an"}],"package":null,"toolSurface":{"id":"ts_nsbg5dzvtgsy","endpointId":"ep_4zkaaafs5hde","hash":"ccf7cde5a4c6f8f2a78c525a07b16f6a2305af8ce1eca8a2106cdf9d391e2d3f","toolCount":67,"serverName":"pagelemon","serverVersion":"1.12.1","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-24T05:30:32.302Z","lastSeenAt":"2026-10-24T12:23:46.818Z","observations":2,"toolNames":["deploy","create_upload_link","share_file","get_site","list_versions","get_account","rollback","site_settings","protect","unprotect","delete_site","remove_domain","remove_plugin","remove_people","get_lists","save_list","delete_list","add_list_items","update_list_items","remove_list_items","sort_list_items","import_list_items","undo_list_change","bind_list","get_free_slots","find_visitor_records","setup_member_app","save_member_list","get_member_app","save_plan","invite_members","remove_member","preview_as_member","save_member_group","get_member_data","add_member_row","update_member_rows","export_member_data","add_member_webhook","remove_member_webhook","email_members","save_app_ai_prompt","list_plugins","add_plugin","update_plugin","test_plugin","mark_messages","add_booking","edit_booking","approve_booking","cancel_booking","set_booking_outcome","fulfil_order","refuse_order","refund_order","get_analytics","get_domains","add_domain","transfer_site","cancel_transfer","leave_workspace","bring_back_sites","move_sites","list_people","add_people","save_group","get_activity"],"distinctSurfaces":14},"endpointFacts":[{"id":"ep_4zkaaafs5hde","url":"https://mcp.pagelemon.com","type":"mcp_streamable_http","factsCheckedAt":"2026-10-23T16:27:19.369Z","auth":{"observedAt":"2026-10-23T16:27:19.526Z","authRequired":false,"scheme":null,"resourceMetadata":{"url":"https://mcp.pagelemon.com/.well-known/oauth-protected-resource","resource":"https://mcp.pagelemon.com","authorizationServers":["https://mcp.pagelemon.com"],"scopesSupported":["deploy","manage"]},"authorizationServer":{"url":"https://mcp.pagelemon.com/.well-known/oauth-authorization-server","issuer":"https://mcp.pagelemon.com","grantTypesSupported":["authorization_code","refresh_token"],"codeChallengeMethodsSupported":["S256"],"tokenEndpointAuthMethodsSupported":["none","client_secret_post","client_secret_basic"],"dynamicClientRegistration":true,"dpopSigningAlgValuesSupported":[],"clientIdMetadataDocumentSupported":true},"conformance":{"dpop":false,"rfc8414":true,"rfc9728":true,"pkceS256":true,"clientIdMetadataDocument":true,"dynamicClientRegistration":true}},"tls":{"observedAt":"2026-10-23T16:27:19.558Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"pagelemon.com","issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validFrom":"2026-10-10T22:20:22.000Z","validTo":"2027-01-08T22:20:21.000Z","daysToExpiry":76,"sanCount":2,"fingerprint256":"03:43:EB:82:6E:94:04:02:5E:7B:06:A4:24:8D:EA:C9:4A:B3:09:00:F7:20:62:C1:6C:93:4B:70:82:F2:D1:11"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"com.pagelemon/pagelemon","url":"https://registry.modelcontextprotocol.io/v0/servers/com.pagelemon%2Fpagelemon","firstSeenAt":"2026-10-15T07:19:01.642Z","fetchedAt":"2026-10-22T00:23:16.546Z","normalizedAt":"2026-10-22T00:23:16.546Z"}]},"firstSeenAt":"2026-10-15T07:19:01.642Z","updatedAt":"2026-10-24T12:28:18.401Z"}