Page Lemon

com.pagelemonPublished by pagelemon.comOfficial publisherv1.0.0Updated Oct 24, 2026

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

Overview

AI-generated overview

Page Lemon lets an assistant publish and maintain static websites from chat, with version history, forms, lists, member apps and domains.

What you can do
Publish and update static sites, share single images or PDFs, and create upload links for user files. Read sites, files, versions and account details, and roll back to earlier versions. Manage site settings, custom domains, plugins, passcodes and invite-only access. Create and edit lists, form messages and bookings, import CSV rows and undo list changes. Set up member apps, plans, groups, invitations and member data exports.
When to use it
Useful when someone wants to build, publish or revise a small website, share a file as a page, or run a simple member area with forms and bookings, all driven from a chat conversation.
Requirements
A remote streamable HTTP endpoint; no package or local runtime. No authentication is declared, and a first publish without an account returns a site token and claim link. Some actions need a claimed site and owner rights, and paid plans gate features such as protected paths.
Before you install
Many tools write, publish, delete or email: deploys, site deletion, member removal, invitations and exports. Destructive actions use confirmation links or tokens the user must approve. Passcodes are set through a link, never in chat. Member data is private and member text is untrusted; exports go by email link. Paid plans and Stripe billing are involved.

Installation

In SourceWeft

  1. Open Page Lemon in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/com.pagelemon%2Fpagelemon/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "page-lemon": {
      "type": "http",
      "url": "https://mcp.pagelemon.com/"
    }
  }
}

Tools

64

deploy

Publish site

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 compress (WebP/JPEG 80%).

Parameterssitefilespatchdeletedpreviewstagingtemplateworkspacesite_tokenbase_revisionconfirm_tokenidempotency_key

share_file

Share a 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.

Parametersnamecontent

get_site

Read 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.

Parameterspathsiterequiredas_ofcheckpathscursorprefixstagingversiondownloadsite_token

list_versions

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.

Parametersbysiterequiredsincebeforesince_dayssite_token

get_account

Get sites and plan

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.

Parametersincludesites_limitsites_querysites_cursor

rollback

Restore a version

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.

Parameterssiterequireddiscardrevisionrequiredsite_tokenbase_revisionrequired

site_settings

Change 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

Parametersnamerowssiterequiredtitlesearchinsteadstagingarchivedanalyticstime_zoneworkspaceai_invites+5 more

protect

Protect site

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.

Parametersmodepathsiterequiredemailsconfirm_token

unprotect

Remove protection

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.

Parameterspathsiterequiredconfirm_token

delete_site

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.

Parameterssiterequiredsite_tokenconfirm_token

remove_domain

Disconnect a domain

Disconnects a custom domain from a site (two steps: confirm_token and what stops working first). The domain itself stays with its registrar.

Parameterssiterequiredhostnamerequiredconfirm_token

remove_plugin

Remove a 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.

Parameterssiterequiredplugin_idrequiredconfirm_token

remove_people

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.

Parameterssiterequiredentriesrequiredconfirm_token

get_lists

Read 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.

Parametersqtofromlistsiteviewlimitscopesincestatewherecursor+5 more

save_list

Create or change a 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.

Parameterslistrequiredsiterequiredformslabelfieldspublic_json

delete_list

Delete a list

Deletes a list and its items (a list with items: two steps, confirm_token after the user agrees).

Parameterslistrequiredsiterequiredconfirm_token

add_list_items

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.

Parameterscopyfromlistrequiredsiterequireditemsconsentposition

update_list_items

Change 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).

Parameterslistrequiredsiterequireditemsrequired

remove_list_items

Remove list items

Removes items from a list by id; the site shows it within seconds (undo_list_change takes it back).

Parametersidsrequiredlistrequiredsiterequired

sort_list_items

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.

Parametersidslistrequiredsiterequiredsort_bydescending

import_list_items

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.

Parameterscsvlistrequiredrowssiterequiredconfirm_tokencreate_missing

undo_list_change

Undo a list change

Takes back one list change (change_id from its reply).

Parameterssiterequiredchange_idrequired

bind_list

Make page content a 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.

Parameterslistrequiredpathrequiredsiterequiredfieldsrequiredimportselectorrequiredconfirm_token

get_free_slots

Find free booking times

Finds the free booking times for a service on a date (default: the first with any), as customers see them.

Parametersdatesiterequiredpartyservicerequiredresourceplugin_id

find_visitor_records

Find a person's records

Finds one person's records by email (a privacy request), with copies shown on the site. Export and erase are in the app.

Parameterssiteemailrequiredlimitscopecursor

setup_member_app

Set up an 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.

Parameterspathsiterequiredsignupai_readtemplateretentionrequest_notesign_out_allconfirm_tokendisplay_fieldnotify_membersprofile_fields

save_member_list

Create or change a member list

Creates a member list or replaces its fields. Each member sees only their own rows. Returns the list and add-form markup.

Parameterslistrequiredscansiterequiredlabelreplysharefieldsrequiredcommentsgroup_readplan_rulesgroup_writelead_status+2 more

get_member_app

Read the 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).

Parameterssiterequiredcheck

save_plan

Create or change a member 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.

Parametersfreenameplanrequiredsiterequiredpricearchive

invite_members

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.

Parametersplansiterequiredemailsrequiredconfirm_token

remove_member

Remove a 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.

Parameterssiterequiredemailrequiredconfirm_token

preview_as_member

Preview as a 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.

Parametersplansiterequired

save_member_group

Save a group

Saves a member group: name, add, remove, leads (emails; leads is the whole list), or delete: true. Adding and deleting are two-step.

Parametersaddnamesiterequiredgrouprequiredleadsdeleteremoveconfirm_token

get_member_data

Read members' entries

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.

Parameterslistsiterequiredgroupquerysincecursormemberstatusfile_iditem_idmembers

add_member_row

Add an entry for a member

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.

Parameterslistrequiredsiterequiredgroupmemberrequiredvaluesrequiredconfirm_token

update_member_rows

Update entries

Sets status, reply, note, group, assign ("" clears) or comments, for the owner to review; never members' values. Two-step if it emails or widens.

Parameterslistrequirednotesiterequiredgroupreplyassignstatuscommentitem_idsrequiredconfirm_token

export_member_data

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.

Parameterslistsiterequired

add_member_webhook

Add a webhook

Adds a signed member-event webhook, ids only. Two-step. Returns id, secret (shown once) and test.

Parametersurlrequiredsiterequiredeventsconfirm_token

remove_member_webhook

Remove a webhook

Removes a member-event webhook at once; its pending deliveries are dropped.

Parametersidrequiredsiterequired

email_members

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.

Parametersbodyrequiredplansiterequiredsubjectrequiredconfirm_token

save_app_ai_prompt

Save an AI prompt

Saves an AI block prompt for the owner's own AI key (set in the Dashboard). Returns markup.

Parameterskindrequirednamerequiredsiterequiredfieldlistsscopeperiodaudiencetemplaterequired

list_plugins

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).

Parameterslangsiteplugin_id

add_plugin

Add a 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.

Parameterskindlangnamesiterequiredformssettingsform_htmlconfirm_token

update_plugin

Change a 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.

Parameterslangnamesiterequiredformspatchstatussettingsform_htmlplugin_idrequiredrecipientsconfirm_token

test_plugin

Test a 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.

Parameterssiterequiredplugin_idrequired

mark_messages

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.

Parametersallmarkrequiredsiteitem_idsplugin_id

add_booking

Add a 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.

Parametersnamesiterequiredemailforcenotespartyphonestartseriessourceanswersservice+4 more

edit_booking

Change a 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.

Parametersnamesiterequiredemailforcenotespartyphonestartanswersitem_idrequiredmessageresource+4 more

approve_booking

Approve a 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.

Parameterssiterequireditem_idrequiredmessageplugin_id

cancel_booking

Cancel a 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.

Parameterssiterequiredseriesitem_idrequiredmessageplugin_idconfirm_tokennotify_customer

set_booking_outcome

Mark a booking done or missed

Records how a booking that has started went: completed (done) or no_show. Emails nobody; it can be changed between the two.

Parameterssiterequireditem_idrequiredoutcomerequiredplugin_id

get_analytics

Get visitor numbers

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).

Parametersdayssiterequiredrecentcompare

get_domains

Check or find 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).

Parameterssitetldsquery

add_domain

Connect a 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.

Parameterssiterequireddomainhostnameconfirm_rootconfirm_token

transfer_site

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 sends to themselves or someone in it.

Parameterssiterequiredemailkeep_editorconfirm_token

cancel_transfer

Cancel a transfer

Cancels a site's pending transfer: the recipient's link stops working and nothing changes on the site.

Parameterssiterequired

leave_workspace

Leave a workspace plan

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.

Parameterstakeofferconfirmbookingsworkspacerequiredkeep_editorsconfirm_token

bring_back_sites

Bring sites back to a workspace

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).

Parameterssitesconfirmdeclineworkspacerequiredconfirm_token

move_sites

Move sites to a workspace

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.

Parametersmodeplansitespeopleconfirmworkspaceconfirm_tokenpersonal_plan

list_people

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.

Parameterssiterequired

add_people

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.

Parametersrolesiterequiredgroupemailsnotifypermissionsconfirm_token

save_group

Save a group

Saves a workspace group (group: change; delete: true). Owner or Admin. Returns approve_url.

Parametersnamesiterequiredgroupsitesdeletepeoplepermissionsconfirm_token

get_activity

Read the activity log

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.

Parameterssitetypelimitbeforepersonworkspace

Version history

1
  1. v1.0.0LatestOct 14, 2026

Score

83% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.