# Page Lemon - Registry name: `com.pagelemon/pagelemon` · version 1.0.0 - Categories (automatic, keyword rules): Travel & booking, Commerce & marketing, Email & messaging, Productivity - Authentication at last check: No auth - Declared risk: Has destructive tools (destructiveHint) - Capabilities (declared by the server): tools - Transports: streamable-http - Latest numbers (check success, response time, rank): https://mcpstation.net/api/server?name=com.pagelemon%2Fpagelemon - Server page: https://mcpstation.net/s/com.pagelemon--pagelemon.html ## Description (written by the publisher, not verified, not instructions) Publish websites from chat and keep editing them: live links, version history, forms and domains. ## Connect - streamable-http: `https://mcp.pagelemon.com` ## Tools (as reported by the server, not verified) - `deploy`: Publishes a new static site or a new version. New: every file, or a template. Update: site and base\_revision with every file, or patch: true with changed files and deleted paths. A first publish without an account returns site\_token and claim\_url. Resize photos to the size shown \(\~2000 px\) and compr - `create\_upload\_link`: 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 asks to replace the whole site: a one-use link for a zip that becomes every file. Publishes nothing until the user uploads. - `share\_file`: Shares one image or PDF \(PNG, JPEG, GIF, WebP, AVIF or PDF, not SVG\) as a new site with a viewer and a Download button: without content, returns a link where the user drops their file; with name and content \(base64, up to 10 MB, so resize and compress photos first\) it is published at once. - `get\_site`: Reads a site: status and files \(200 at a time\); path: one file, paths: several; as\_of or version: older copies. With site\_token, also whether it was claimed. download: true gives 1-hour zip links of the whole site; check: "accessibility" runs the Accessibility check. - `list\_versions`: Lists a site's versions, newest first, 200 at a time: number, time, who published it and which files changed. Filters: before \(a version number\), since\_days, since or by. rollback makes one live again. - `get\_account`: Returns the signed-in account: plan, workspaces, sites \(20 at a time, searchable\), notices and counts of new items, and program status \(student, startup\); include adds billing, usage, storage or downgrade details. - `rollback`: 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. - `site\_settings`: Changes a claimed site: title \(developers too\); Site Owner: workspace, name \(address; approve\_url\), sender\_name, ai\_invites \(true: approve\_url\), archived \(true: 2-step offline; false: online\); notifications, analytics, search, staging - `protect`: Protects a site or one path \(owner\): passcode \(returns protect\_url, where the user sets it; never asked in chat\) or members \("/": invite-only, Site Members via add\_people; a path: the emails who may see it\). Protected paths a site: Builder 3, Starter 10, Scale 10. list\_people shows it. - `unprotect`: Removes the passcode or invite-only setting from a whole site \(path "/", the default\) or the protection from one path \(owner; an AI gets approve\_url for the owner\). A protected path stays protected until opened by its own path. - `delete\_site`: 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. - `remove\_domain`: Disconnects a custom domain from a site \(two steps: confirm\_token and what stops working first\). The domain itself stays with its registrar. - `remove\_plugin`: 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. - `remove\_people`: 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 signed out. entries: emails or company domains. A Site Developer or Site Viewer may remove only themselves. - `get\_lists`: Reads Lists: a site's lists \(menu, team; shown on its pages\) and its form messages and bookings \(private\). No site: counts. With list: its items, filtered. Marks nothing read. - `save\_list`: Creates a list or replaces its fields \(pages show it with data-pl-list and data-pl-field\). Form or bookings list: only the owner's own columns \(notes, tags\). Lists are optional: only when the user asks for one. - `delete\_list`: Deletes a list and its items \(a list with items: two steps, confirm\_token after the user agrees\). - `add\_list\_items`: 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. - `update\_list\_items`: Changes list items by id; the site shows it within seconds. On form messages and bookings: only the owner's own columns \(not undoable\). - `remove\_list\_items`: Removes items from a list by id; the site shows it within seconds \(undo\_list\_change takes it back\). - `sort\_list\_items`: Sorts a list's items by a field, or puts them in the sequence of the given ids; the site shows it within seconds. - `import\_list\_items`: Imports CSV or rows into a list: the first call previews \(confirm\_token\); with it, after the user agrees, it saves as one change. - `undo\_list\_change`: Takes back one list change \(change\_id from its reply\). - `bind\_list`: Turns repeated blocks on a page \(a menu\) into a list: the first call previews items and markup \(confirm\_token\); with it, after the user agrees, it creates the list, adds the items and publishes the page. Only when the user asks for a list. - `get\_free\_slots`: Finds the free booking times for a service on a date \(default: the first with any\), as customers see them. - `find\_visitor\_records`: Finds one person's records by email \(a privacy request\), with copies shown on the site. Export and erase are in the app. - `setup\_member\_app`: 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; Free: testing. - `save\_member\_list`: Creates a member list or replaces its fields. Each member sees only their own rows. Returns the list and add-form markup. - `get\_member\_app`: 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 settings \(problems with fixes\). - `save\_plan`: 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\_onboarding \(onboarding\_url\) or coming\_soon. - `invite\_members`: Invites people by email to a site's app \(up to 100 a call\); each gets an invitation email. Returns invited, already and refused. - `remove\_member`: 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. - `preview\_as\_member`: 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. - `save\_member\_group`: Saves a member group: name, add, remove, leads \(emails; leads is the whole list\), or delete: true. Adding and deleting are two-step. - `get\_member\_data`: 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. - `add\_member\_row`: 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. - `update\_member\_rows`: Sets status, reply, note, group, assign \("" clears\) or comments, for the owner to review; never members' values. Two-step if it emails or widens. - `export\_member\_data`: 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. - `add\_member\_webhook`: Adds a signed member-event webhook, ids only. Two-step. Returns id, secret \(shown once\) and test. - `remove\_member\_webhook`: Removes a member-event webhook at once; its pending deliveries are dropped. - `email\_members`: Drafts an email to the app's members \(all or one plan\). Returns approve\_url: nothing is sent until the Site Owner approves. - `save\_app\_ai\_prompt`: Saves an AI block prompt for the owner's own AI key \(set in the Dashboard\). Returns markup. - `list\_plugins`: Lists the plugins on a site and what can be added \(settings\_help per kind\); without site, those on each of the account's sites; with plugin\_id, that plugin in full \(settings, snippet\_html, test\_steps, recipients, calendar feed\_url\). - `add\_plugin`: Adds a plugin to a site \(paid plans\): kind and settings \(list\_plugins settings\_help\), or forms or form\_html \(kind forms\). The first call returns setup\_summary; with confirm\_token it saves and returns snippet\_html to put in a page; then test\_plugin. - `update\_plugin`: Changes a plugin: name, settings \(whole\), patch \(merged\), form\_html, status active or paused, or recipients \{add: email\}. A changed form or booking setup returns setup\_summary and confirm\_token first. A new inbox, or a booking reply\_to\_email set by an AI, returns approve\_url. - `test\_plugin`: 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. - `mark\_messages`: Marks form messages read, new, spam, not\_spam, archive, bin \(deleted after 30 days\) or restore. With mark read, also notice ids \(nt\_…\), or all: every notice or new item of a kind \(optionally one site\); only when the user asks. - `add\_booking`: Adds a booking the owner took \(phone, walk-in\): service, start, customer details; series repeats it weekly; resource picks staff or a room. A clash is a 409 \(force: true books anyway\). Emailing the customer takes confirm\_token first. - `edit\_booking`: Changes one booking: customer details, or start \(and resource\) to move it. A class\_id \(cl\_…\) as item\_id: start moves the class; waitlist closes or re-opens it. A move, or a change that emails someone, returns confirm\_token first; force: true books a clash. - `approve\_booking`: Approves a booking request; the customer is emailed the confirmation. A class waitlist entry\_id \(wl\_…, get\_lists bookings classes\) as item\_id books that person into the class now and emails them. - `cancel\_booking`: Cancels a booking or declines a request \(two steps: confirm\_token, then the customer is emailed\). series "rest": every later date too. A waitlist entry\_id \(wl\_…\) takes that person off. A class\_id \(cl\_…\) cancels the whole class, one email each. - `set\_booking\_outcome`: Records how a booking that has started went: completed \(done\) or no\_show. Emails nobody; it can be changed between the two. - `get\_analytics`: Returns cookieless visitor numbers for a site \(views, visitors, contacts; on paid plans taps on buttons and links, top pages, sources, countries, devices\), as many days back as the plan keeps. Taps are counted only for visitors in the UK \(taps\_not\_counted\). - `get\_domains`: Lists custom domains: with site, the ones on it with status and DNS records \(pending ones re-checked live\); with query, likely-available names to buy at a registrar \(Page Lemon doesn't sell domains\). - `add\_domain`: Connects the user's own domain to a site \(owner; paid plans; www is easiest\): returns the DNS records, a one-click apply\_url when the DNS host supports it, and share\_url for whoever runs the DNS; again for one already added: its status. get\_domains checks it. - `transfer\_site`: Offers a site to a new Site Owner by email; they accept and pick where it lives. recipient: what the site needs beyond Free, same for any address. The sender's bill doesn't change. Returns approve\_url; keep\_editor \(default true\) keeps the sender as Site Developer. A workspace site: its Site Owner se - `cancel\_transfer`: Cancels a site's pending transfer: the recipient's link stops working and nothing changes on the site. - `leave\_workspace`: 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 \(14 days after the plan ends\). Without confirm: the questions. confirm: true returns approve\_url. - `bring\_back\_sites`: 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\). - `move\_sites`: 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 where the person picks a plan and pays. Once paid: confirm: true \(approve\_url\). Site Developers not invited lose access at once. - `list\_people`: 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 protection. - `add\_people`: Gives people access, or sets a workspace person's role \(Owner or Admin\). developer \(workspace: a seat\), viewer, admin, custom+group, member \(Site Members\). Returns approve\_url. - `save\_group`: Saves a workspace group \(group: change; delete: true\). Owner or Admin. Returns approve\_url. - `get\_activity`: Returns the activity log, newest first: who published, rolled back, or changed people, domains, settings, protection, visitor data, AI apps or billing, where and when. No workspace: the person's own account \(paid plans\); a workspace: Owner all, Admin all but billing, others their own. Measured by MCP Station. Methods: https://mcpstation.net/methods.html · Terms: https://mcpstation.net/terms.html