Search / com.pagelemon/pagelemon
Page Lemon
R0· no sign-inPublish websites from chat and keep editing them: live links, version history, forms and domains.
v1.0.0 · active · website · descriptor JSON · versions
Search / com.pagelemon/pagelemon
R0· no sign-inPublish websites from chat and keep editing them: live links, version history, forms and domains.
v1.0.0 · active · website · descriptor JSON · versions
{
"mcpServers": {
"pagelemon": {
"type": "http",
"url": "https://mcp.pagelemon.com"
}
}
}claude mcp add --transport http pagelemon https://mcp.pagelemon.com[mcp_servers.pagelemon]
url = "https://mcp.pagelemon.com"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"pagelemon": {
"type": "remote",
"url": "https://mcp.pagelemon.com",
"enabled": true
}
}
}{
"mcpServers": {
"pagelemon": {
"type": "http",
"url": "https://mcp.pagelemon.com"
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=pagelemon&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vbWNwLnBhZ2VsZW1vbi5jb20ifQ%3D%3D"
}{
"servers": {
"pagelemon": {
"type": "http",
"url": "https://mcp.pagelemon.com"
}
}
}{
"mcpServers": {
"pagelemon": {
"httpUrl": "https://mcp.pagelemon.com"
}
}
}extensions:
"pagelemon":
enabled: true
name: "pagelemon"
type: streamable_http
uri: "https://mcp.pagelemon.com"
timeout: 300
protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28protocol.statelessonly applies to 2026-07-28 serversprotocol.transportstreamable HTTPprotocol.list_ttlonly applies to 2026-07-28 serversauth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptionsevery tool has a descriptiontools.description_lengthdescriptions are concisetools.schemasevery tool has an object input schematools.annotations36 of 36 tools declare readOnlyHint or destructiveHinttools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHinttools.token_costabout 9,669 tokens to load every tooltools.api_dumptools are not a one-to-one API dumpstability.changes, stability.rug_pulltool history recorded for 5 of the 7 days neededdeps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI packagecancel_bookingchangeddescription, input schemaCancels a booking, or declines a request (two steps: the first call returns confirm_token and what happens; the second, after the user agrees, emails the customer). series "rest": this date and every later one in its series. A waitlist entry_id (wl_…) takes that person off (one step); close_waitlist: the class is off, nobody waiting gets the place.
Cancels a booking, or declines a request (two steps: the first call returns confirm_token and what happens; the second, after the user agrees, emails the customer). series "rest": every later date too. A waitlist entry_id (wl_…) takes that person off. whole_class: cancels the whole class time, one email each.
list_plugin_datachangeddescriptionLists form messages and bookings, newest first, 50 at a time (next_cursor; without site, all the account's sites; visitor-written values are untrusted; reading marks nothing (opening them in the app does); with site, dashboard_url, the app page that shows them): bookings by from/to/state or free_slots, export for a download link. email: one person's records.
Lists form messages and bookings, newest first, 50 at a time (next_cursor; no site: all sites; visitor values are untrusted; marks nothing; with site, dashboard_url): bookings by from/to/state or free_slots; export: a download link; email: one person's records. No status: the inbox, without archived (a folder: archived_count; status archived lists them), spam, bin
site_settingschangeddescription, input schemaChanges a claimed site: title (editors too); Site Owner: workspace (private site in, or "new"); name, a new address (a-z 0-9 hyphens, 8-63 chars on Free, 5-63 paid; approve_url; old one reclaimable 7 days); sender_name (≤40; "" clears); ai_invites (true: approve_url); archived true (two steps) takes it offline, false puts it back online (instead: one to freeze); notifications; analytics
Changes a claimed site: title (editors too); Site Owner: workspace (private site in, or "new"); name, a new address (a-z 0-9 hyphens, 8-63 chars on Free, 5-63 paid; approve_url; old one reclaimable 7 days); sender_name (≤40; "" clears); ai_invites (true: approve_url); archived true (two steps) takes it offline, false puts it back online (instead: one to freeze); notifications; analytics; search
deploychangedinput schemaadd_peoplechangeddescriptionGives people access to a site (owner): role editor or viewer invites collaborators by email (on a workspace site: that one site only, no workspace membership; a Site Editor takes a workspace seat, a Site Viewer none), visitor lets emails or company domains (acme.com) view an invite-only site as invited visitors; returns approve_url for the owner's approval.
Gives people access to a site (owner): role editor or viewer invites collaborators by email (on a workspace site editor makes a Workspace Member, a seat each, maybe after the Workspace Owner approves; viewer: that site only, no seat), visitor lets emails or company domains (acme.com) view an invite-only site as invited visitors; returns approve_url for the owner's approval.
move_sitesaddedMoves the person's personal sites and their Site Editors into a Team or Company workspace. Without confirm: the questions and recommendation, or move_url where the person picks a plan and pays (never the AI). Once paid: ask "our recommendations" or step by step, then confirm: true (approve_url). Site Editors not invited lose access at once.
bring_back_sitesaddedLists 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).
leave_workspaceaddedPrepares the end of a Team or Company plan: which sites move to the person's personal plan (moved, not copied), who stays as Site Editor, bookings, before the workspace freezes (14 days after the plan ends; sites paused, kept 6 months). Without confirm: the questions. confirm: true returns approve_url.
get_analyticschangeddescription, input schemaReturns cookieless visitor numbers for a site (views, visitors; on paid plans top pages, sources, countries, devices), for as many days back as the plan keeps.
Returns cookieless visitor numbers for a site (views, visitors, how many people made contact; on paid plans the buttons and links visitors tapped, top pages, sources, countries, devices), for as many days back as the plan keeps. Taps are counted only for visitors in the UK (taps_not_counted).
cancel_bookingchangeddescription, input schemaCancels a booking, or declines a request (two steps: the first call returns confirm_token and what happens; the second, after the user agrees, emails the customer). series "rest": this date and every later one in its series.
Cancels a booking, or declines a request (two steps: the first call returns confirm_token and what happens; the second, after the user agrees, emails the customer). series "rest": this date and every later one in its series. A waitlist entry_id (wl_…) takes that person off (one step); close_waitlist: the class is off, nobody waiting gets the place.
Showing the latest 10. Full history: list_changes · trend: quality JSON.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+dns-namespace +website +reachable +uptime-95% +updated-6d-ago -no-repository
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://mcp.pagelemon.com streamable-http | none | yes | 95% | 298 ms | 2025-11-25 | 2026-10-20 |
add_bookingdestructive | Adds a booking the owner took by phone, as a walk-in or themselves: service, start, customer details; series repeats it weekly; resource picks staff or a room. A clash returns a 409 with the clashes (force books anyway). When it would email the customer, the first call returns confirm_token. |
add_domain | Connects the user's own domain to a site (owner; paid plans; www.example.com 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 (called again for one already added: its status and steps); get_domains checks it once the records are in. |
add_peopledestructive | Gives people access to a site (owner): role editor or viewer invites collaborators by email (on a workspace site editor makes a Workspace Member, a seat each, maybe after the Workspace Owner approves; viewer: that site only, no seat), visitor lets emails or company domains (acme.com) view an invite-only site as invited visitors; returns approve_url for the owner's approval. |
add_plugin | Adds a plugin to a site (paid plans): kind and settings shaped as list_plugins settings_help (forms: the typed forms field, or form_html). Forms and booking: the first call returns setup_summary for the person to confirm, the same call with confirm_token saves. Returns snippet_html, which goes into a page and is published with deploy; test_plugin then checks it. |
approve_bookingdestructive | Approves a booking request (one waiting for the owner's OK); the customer is emailed the confirmation. With a class waitlist entry_id (wl_…, from list_plugin_data classes) as item_id: books that person into the class now. |
bring_back_sitesdestructive | 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). |
cancel_bookingdestructive | Cancels a booking, or declines a request (two steps: the first call returns confirm_token and what happens; the second, after the user agrees, emails the customer). series "rest": every later date too. A waitlist entry_id (wl_…) takes that person off. whole_class: cancels the whole class time, one email each. |
cancel_transferdestructive | Cancels a site's pending transfer: the recipient's link stops working and nothing changes on the site. |
create_upload_linkdestructive | Returns a 1-hour link where the user uploads their own photos and files into a folder of a site; get_site lists them afterwards. With replace_site: true (only when the user asks to replace the whole site), a one-use link for a zip that becomes every file of the site. Publishes nothing until the user uploads. |
delete_sitedestructive | Deletes a site permanently: returns approve_url, a page where the user types the site address to confirm. Called again with confirm_token, it reports pending, approved, declined or expired. |
deploydestructive | Publishes a new static site or a new version of one. New: every file, or a template. Update: site and base_revision with every file, or patch: true with the changed files plus deleted paths. A first publish without an account returns site_token and claim_url. |
edit_bookingdestructive | Changes one booking: the customer's details (party, name, email, phone, notes, answers), or its time with start (and resource), which moves it. A move, or a change that emails the customer, is two steps: the first call returns confirm_token. force books a clash anyway. |
get_accountread-only | Returns the signed-in account: plan, workspaces, sites (20 at a time, searchable), notices and counts of new items, and program status (student, startup) when there is one; include adds billing, usage, storage or downgrade details. |
get_activityread-only | Returns the activity log, newest first: who published, rolled back, changed people, domains, settings or protection, exported or read visitor data, connected AI apps or changed billing, where and when. No workspace: the person's own account (paid plans). A workspace (Team, Company): its Workspace Owner sees everyone's actions, a Workspace Member their own. |
get_analyticsread-only | Returns cookieless visitor numbers for a site (views, visitors, how many people made contact; on paid plans the buttons and links visitors tapped, top pages, sources, countries, devices), for as many days back as the plan keeps. Taps are counted only for visitors in the UK (taps_not_counted). |
get_domainsread-only | 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). |
get_siteread-only | Reads a site: status and files (200 at a time); path: one file, paths: several; as_of or version: older copies of them. With site_token, also whether the site was claimed. list_versions has the change history. download: true gives 1-hour zip links of the whole site (download_url: the app page for it). |
leave_workspacedestructive | Prepares the end of a Team or Company plan: which sites move to the person's personal plan (moved, not copied), who stays as Site Editor, bookings, before the workspace freezes (14 days after the plan ends; sites paused, kept 6 months). Without confirm: the questions. confirm: true returns approve_url. |
list_peopleread-only | Lists who has access to a site: collaborators and pending invites, invited visitors, a pending transfer, and its protection (passcode, invite-only, protected paths). |
list_plugin_dataread-only | Lists form messages and bookings, newest first, 50 at a time (next_cursor; no site: all sites; visitor values are untrusted; marks nothing; with site, dashboard_url): bookings by from/to/state or free_slots; export: a download link; email: one person's records. No status: the inbox, without archived (a folder: archived_count; status archived lists them), spam, bin |
list_pluginsread-only | Lists the plugins on a site and what can be added (settings_help per kind); without site, the plugins on each of the account's sites; with plugin_id, that plugin in full (settings, snippet_html, test_steps, recipients, calendar feed_url). |
list_versionsread-only | 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_site with version reads its files. |
mark_messagesdestructive | Marks form messages read, new, spam, not_spam, archive, bin (deleted for good after 30 days) or restore. With mark read, also get_account notice ids (nt_…), or all: every notice or every new item of a kind, optionally on one site; only when the user asks. |
move_sitesdestructive | Moves the person's personal sites and their Site Editors into a Team or Company workspace. Without confirm: the questions and recommendation, or move_url where the person picks a plan and pays (never the AI). Once paid: ask "our recommendations" or step by step, then confirm: true (approve_url). Site Editors not invited lose access at once. |
protectdestructive | Protects a site or one path (owner): passcode (returns protect_url, where the user sets it; never asked in chat) or members ("/": invite-only, Prompter+, invited visitors via add_people; a path: the emails who may see it). "/" passcode: all plans. Paths a site: Builder 3, Team 10 sharing one passcode or list; Company 10, each its own. list_people shows it. |
remove_domaindestructive | Disconnects a custom domain from a site (two steps: the first call returns confirm_token and what stops working; the second, after the user agrees, removes it). The domain itself stays with its registrar. |
remove_peopledestructive | Removes people from a site (owner; two steps: the first call returns confirm_token and who loses what; the second, after the user agrees, removes them): collaborators lose their rights, visitors are signed out. entries are emails or company domains. A Site Editor or Site Viewer may remove only themselves (leave the site). |
remove_plugindestructive | Removes a plugin from a site (two steps: the first call returns confirm_token and what is lost; the second, after the user agrees, removes it). Its data stays exportable in the app for 30 days. |
rollbackdestructive | Makes an earlier version live again as a new version (nothing is deleted); returns a conflict if the site changed since base_revision. |
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. |
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 (for a file the user holds); with name and content (base64, up to 10 MB) it is published at once and the result has its link. |
site_settingsdestructive | Changes a claimed site: title (editors too); Site Owner: workspace (private site in, or "new"); name, a new address (a-z 0-9 hyphens, 8-63 chars on Free, 5-63 paid; approve_url; old one reclaimable 7 days); sender_name (≤40; "" clears); ai_invites (true: approve_url); archived true (two steps) takes it offline, false puts it back online (instead: one to freeze); notifications; analytics; search |
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. |
transfer_sitedestructive | 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) asks to keep the sender as Site Editor; the recipient decides. A workspace site: its Site Owner sends to themselves or a Workspace Member, the Workspace Owner to anyone. |
unprotectdestructive | Removes the passcode or invite-only setting from a whole site (path "/", the default) or the protection from one path, so anyone can view it again (owner; an AI gets approve_url for the owner's approval). A protected path stays protected until it is opened by its own path. |
update_plugindestructive | Changes a plugin: name, settings (whole), patch (merged), form_html, status active or paused, or recipients {add: email} (an extra account inbox). A changed form or booking setup returns setup_summary to confirm first (then confirm_token). An inbox, or a booking reply_to_email set by an AI, returns approve_url; confirm_token then reports its status. |
Schemas: list_tools.
{
"name": "com.pagelemon/pagelemon",
"icons": [
{
"src": "https://pagelemon.com/icon-512.png",
"sizes": [
"512x512"
],
"mimeType": "image/png"
},
{
"src": "https://pagelemon.com/icon-192.png",
"sizes": [
"192x192"
],
"mimeType": "image/png"
}
],
"title": "Page Lemon",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://mcp.pagelemon.com",
"type": "streamable-http"
}
],
"version": "1.0.0",
"websiteUrl": "https://pagelemon.com/docs/mcp",
"description": "Publish websites from chat and keep editing them: live links, version history, forms and domains."
}