{"id":531997,"recorded_at":"2026-10-27T18:47:53.267389Z","observed_at":"2026-10-27T18:47:53.267295Z","subject_kind":"endpoint","subject":"362de6ca-f3c5-4af3-b7f2-b6560e6c8550","kind":"mcp.tools","method":"probe.mcp/1","body":{"count":6,"tools":[{"description":"Delete a page: its URL stops working at once. The maker gets only a brief undo in the dashboard, then it is purged for good (there is no restore tool). Only use it when the human asked for deletion; to hide a page reversibly, use unpublish_page instead. Returns { ok, id, deleted }; fails with page_not_found if the id is not in this space or is already deleted.","inputSchema":{"properties":{"page_id":{"description":"The page id: the `id` field from publish_page or list_pages (also the last path segment of the page URL, …/docs/<page_id>). Only pages in the connected maker's space are visible.","type":"string"}},"required":["page_id"],"type":"object"},"name":"delete_page"},{"description":"Fetch one page by id: metadata always ({ id, title, url, project, views, live, workEmailGated, hasDraft, createdAt, updatedAt, visibility }), plus the stored HTML when include_html is true. Read-only. Use it to read a page before editing it with update_page; use list_pages to find ids or browse. Fails with page_not_found if the id is not in this space or the page was deleted.","inputSchema":{"properties":{"include_html":{"description":"Default false. true adds `html`: the document exactly as stored (the source you or the maker published, before serve-time injections). Can be large; only ask for it when you need the content.","type":"boolean"},"page_id":{"description":"The page id: the `id` field from publish_page or list_pages (also the last path segment of the page URL, …/docs/<page_id>). Only pages in the connected maker's space are visible.","type":"string"}},"required":["page_id"],"type":"object"},"name":"get_page"},{"description":"List every page in the maker's space, newest first, with no paging: { total, pages: [{ id, title, url, project, views, live, workEmailGated, hasDraft, createdAt, updatedAt }] }. Read-only. Use it to find a page_id before update_page / get_page / unpublish_page / delete_page, or to reuse an existing project name. Offline pages are included (live: false); deleted pages are not. Pass q to search instead of scanning the full list; use get_page when you need one page's HTML.","inputSchema":{"properties":{"q":{"description":"Optional case-insensitive search over page titles and content. Omit to list everything.","type":"string"}},"type":"object"},"name":"list_pages"},{"description":"Publish a new HTML (or Markdown) page to the maker's PubSpace space and get back a live, shareable URL to hand to the human. Pages are unlisted by default — indexed by search engines only if the maker turns that on later (Pro); anyone with the link can view. Use this only for a brand-new page; to change a page that already exists, call update_page so its URL stays the same (find the id with list_pages). Each call creates a page that counts toward the plan's live-page cap; at the cap the call fails with doc_limit_reached and, on the free plan, an upgrade link to relay to the human. Returns { url, id, mode, visibility, dashboardUrl }.","inputSchema":{"properties":{"html":{"description":"Full HTML document (or Markdown when source_type is \"markdown\"). Served byte-faithful apart from documented meta/bar injections.","type":"string"},"project":{"description":"Optional: which body of work this page belongs to (e.g. \"Q3 board pack\"). Groups pages in the maker's library — reuse their existing project names from list_pages when one fits. (Renamed from `product` in v0.16.0; the old name is still accepted.)","type":"string"},"source_type":{"description":"Default \"html\".","enum":["html","markdown"],"type":"string"},"title":{"description":"Optional title (used in the dashboard and social cards).","type":"string"}},"required":["html"],"type":"object"},"name":"publish_page"},{"description":"Take a page offline without deleting it: its URL shows an \"offline\" notice to viewers, and the content, id, URL and view count are kept. Pass restore: true to put it back online at the same URL. Prefer this over delete_page when the human wants a page hidden or paused. Calling it twice is harmless. Returns { ok, id, live }; fails with page_not_found if the id is not in this space.","inputSchema":{"properties":{"page_id":{"description":"The page id: the `id` field from publish_page or list_pages (also the last path segment of the page URL, …/docs/<page_id>). Only pages in the connected maker's space are visible.","type":"string"},"restore":{"description":"Default false (take offline). true = put the page back online.","type":"boolean"}},"required":["page_id"],"type":"object"},"name":"unpublish_page"},{"description":"Replace the content of an existing page in place: the same URL serves the new content immediately, so links the human already shared keep working. Use this instead of publish_page whenever the page already exists. The previous version stays restorable from the dashboard for 7 days (Pro keeps full version history). Pass draft: true to stage the update instead: nothing changes for viewers until the maker reviews the previewUrl and presses \"Sync to live\"; use it when the human asked to see changes before they go out. Fails with page_not_found if the id is not a live or offline page in this space.","inputSchema":{"properties":{"draft":{"description":"Default false (publishes live instantly). true = stage the update; relay the returned previewUrl so the human can review and press Sync. A new draft replaces any pending one.","type":"boolean"},"html":{"description":"The complete new document (not a diff). HTML, or Markdown when source_type is \"markdown\".","type":"string"},"page_id":{"description":"The page id: the `id` field from publish_page or list_pages (also the last path segment of the page URL, …/docs/<page_id>). Only pages in the connected maker's space are visible.","type":"string"},"project":{"description":"Optional; omit to keep the existing project.","type":"string"},"source_type":{"description":"Default \"html\".","enum":["html","markdown"],"type":"string"},"title":{"description":"Optional; omit to keep the existing title.","type":"string"}},"required":["page_id","html"],"type":"object"},"name":"update_page"}]},"body_sha256":"b7230813a5c6c71086268c6d5bfb3815906fe4b49bcd6d75f38f036341741be1","prev_id":null,"leaf":"0xcd4386d6d3d455b484a1cc92c0104e93338bb7d7720a568d9a1303c6dd31e020","leaf_text":"{\"body\":\"b7230813a5c6c71086268c6d5bfb3815906fe4b49bcd6d75f38f036341741be1\",\"id\":531997,\"kind\":\"mcp.tools\",\"method\":\"probe.mcp/1\",\"observed_us\":1793126873267295,\"prev\":null,\"subject\":\"362de6ca-f3c5-4af3-b7f2-b6560e6c8550\",\"subject_kind\":\"endpoint\"}","day":{"day":"2026-10-27","leaves":273461,"root":"0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795","chained":"0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4","anchor_chain":"eip155:5042002","anchor_tx":"0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4","anchor_block":69414147},"proof":["0xcd435faa42ccc9c9d189be51ba99892877759671508c8fd79c6e3fb06e1f5f31","0x20a5457340943cda86b64bb1415836757739e36564691b1087cfa038769f3bbf","0x12d3dfab0f19e1123ab958371d65de98f1be59421001057c9d6c4de8e3374bb8","0x37b2b693c2d2a9b24229de6d130aacbd208b0e2f1458e26a42cd65f016e0fa83","0x33cb1e02133f8083cd917ff271ababa40f80e998717a4a212654cbde96491538","0xf0cd86fabc69f5614ac84ea6863bb701ef40bc71e7c88a3eb87e481b2de35f46","0xd8a8f09870d207f214a8c71143498c2e69f64349acaa5be4e70c7701772a9bbb","0xa5126da877474e9697f15804c6b4c25be05e7833b9ef41bf5b06ddb67b6fe175","0xb673d6c2d49ead96c533587302dd785e912bf0231be31b7e71cc4be46b5ddfd9","0xcb52c2419f740ae43dfba57f29f05efee950cf2cc8aef6a5fabe1be0b3842bf8","0xf6faea553d6354c2881afaf6cc13a2f3a8290ee9597618bbe3c61a828c5e4c23","0x6c0803f2d7123e0bcd2a148e9fde0f429f31dc964ced287e760ee656fcd9912f","0xeb77e9d1884bf470f4a13a5869956a83ac37957112a29ccb9e63ddf7791b5a0b","0xcc49fd573532e5a29f5be4033f62a2eff71456c020bd2258312b98e95cfe301e","0x969cd44e5a4e8dc3110540398fbf689659eb51df735c1cda5d8f021ef9ff5683","0xa94627de1af0e823832e05a9069b304ecccb8c0cdb8f9cfc4f2039bfb9799dc5","0xdf1105afdc109de3c09a98fc8a3864159ad964e6f49b635c105a27a1e1f14310","0x2bf8151e5f157dd183b9de6fa00469551932a7a6e3f33a694895000ac9061197","0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699"]}