{"id":523086,"recorded_at":"2026-10-27T18:02:06.471409Z","observed_at":"2026-10-27T18:02:06.471263Z","subject_kind":"endpoint","subject":"6ecabaef-d1b7-485c-bb48-a5c14aca42cc","kind":"mcp.tools","method":"probe.mcp/1","body":{"count":12,"tools":[{"description":"Create multiple pages at once from a tree structure. Ideal for generating a full sitemap with zoning, entry points, CTAs and tags.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"nodes":{"description":"Flat list of nodes with temp_id references for parent-child relationships (500 max)","items":{"properties":{"cta":{"description":"Call-to-action labels","items":{"type":"string"},"type":"array"},"description":{"type":"string"},"entry_points":{"description":"Traffic sources","items":{"properties":{"label":{"type":"string"},"type":{"enum":["google","direct","nav","social","email","ads","qrcode"],"type":"string"}},"required":["type","label"],"type":"object"},"type":"array"},"label":{"type":"string"},"notes":{"type":"string"},"parent_temp_id":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Temp ID of the parent node. Null = root."},"priority":{"enum":["primary","secondary","utility"],"type":"string"},"rationale":{"type":"string"},"seo":{"description":"SEO data of the page: URL, target keyword, volume, intent, migration status","properties":{"intent":{"enum":["informational","navigational","commercial","transactional"],"type":"string"},"keyword":{"description":"Main target keyword","type":"string"},"redirectTo":{"description":"Destination URL when status is 'redirect'","type":"string"},"status":{"description":"keep = existing page kept, create = new page, redirect = 301 to redirect_to, delete = removed (410)","enum":["keep","create","redirect","delete"],"type":"string"},"url":{"description":"Page URL or path (e.g. '/services/audit-seo')","type":"string"},"volume":{"description":"Monthly search volume of the main keyword","type":"number"}},"type":"object"},"tags":{"description":"Tags","items":{"type":"string"},"type":"array"},"temp_id":{"description":"Temporary ID for referencing as parent (e.g. 'home', 'about')","type":"string"},"type":{"type":"string"},"zoning_blocks":{"description":"Wireframe zoning blocks","items":{"properties":{"height":{"type":"number"},"id":{"type":"string"},"label":{"type":"string"},"skin":{"description":"nav, hero, breadcrumb, titre, contenu, sidebar, cards, grille, filtres, cta, double-cta, form, submit, arguments, social-proof, image, question, reponses, progression, nav-quiz, search-bar, resultats, pagination, footer, dots","type":"string"}},"required":["id","label","skin","height"],"type":"object"},"type":"array"},"zoning_expanded":{"type":"boolean"}},"required":["temp_id","parent_temp_id","label"],"type":"object"},"maxItems":500,"type":"array"},"project_id":{"description":"The project ID","type":"string"}},"required":["project_id","nodes"],"type":"object"},"name":"bulk_create_nodes"},{"description":"Add a page to a project's sitemap. Use parent_id to create hierarchy. Supports rich data: zoning blocks (wireframe layout), entry points (traffic sources), CTAs, and tags.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"cta":{"description":"Call-to-action button labels (e.g. ['Acheter', 'En savoir plus'])","items":{"type":"string"},"type":"array"},"description":{"description":"Page description. Use real newlines for formatting. Supports long multiline content (SEO, copy, sections, CTAs, FAQ). No length limit.","type":"string"},"entry_points":{"description":"Traffic entry points for this page","items":{"properties":{"label":{"type":"string"},"type":{"enum":["google","direct","nav","social","email","ads","qrcode"],"type":"string"}},"required":["type","label"],"type":"object"},"type":"array"},"label":{"description":"Page name (e.g. 'Accueil', 'Contact')","type":"string"},"notes":{"description":"Additional notes","type":"string"},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Parent node ID. Null = root page."},"priority":{"description":"Page importance","enum":["primary","secondary","utility"],"type":"string"},"project_id":{"description":"The project ID","type":"string"},"rationale":{"description":"Why this page exists (UX insight)","type":"string"},"seo":{"description":"SEO data of the page: URL, target keyword, volume, intent, migration status","properties":{"intent":{"enum":["informational","navigational","commercial","transactional"],"type":"string"},"keyword":{"description":"Main target keyword","type":"string"},"redirectTo":{"description":"Destination URL when status is 'redirect'","type":"string"},"status":{"description":"keep = existing page kept, create = new page, redirect = 301 to redirect_to, delete = removed (410)","enum":["keep","create","redirect","delete"],"type":"string"},"url":{"description":"Page URL or path (e.g. '/services/audit-seo')","type":"string"},"volume":{"description":"Monthly search volume of the main keyword","type":"number"}},"type":"object"},"tags":{"description":"Tags for categorization (e.g. ['SEO', 'conversion'])","items":{"type":"string"},"type":"array"},"type":{"description":"Page type: home, listing, detail, form, landing, quiz, search, hub, error, legal","type":"string"},"zoning_blocks":{"description":"Wireframe zoning blocks (page layout structure)","items":{"properties":{"height":{"description":"Visual height in px (e.g. 18 for nav, 64 for hero, 60 for contenu)","type":"number"},"id":{"description":"Unique block ID (e.g. 'z1')","type":"string"},"label":{"description":"Block label (e.g. 'Hero', 'Navigation')","type":"string"},"skin":{"description":"Block skin: nav, hero, breadcrumb, titre, contenu, sidebar, cards, grille, filtres, cta, double-cta, form, submit, arguments, social-proof, image, question, reponses, progression, nav-quiz, search-bar, resultats, pagination, footer, dots","type":"string"}},"required":["id","label","skin","height"],"type":"object"},"type":"array"},"zoning_expanded":{"description":"If true, zoning is shown expanded by default on the canvas","type":"boolean"}},"required":["project_id","label"],"type":"object"},"name":"create_node"},{"description":"Create a new project. Returns the project ID. Add nodes with create_node after.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"accent":{"description":"Accent color hex (e.g. #2563EB)","type":"string"},"client":{"description":"Client name","type":"string"},"name":{"description":"Project name","type":"string"}},"required":["name"],"type":"object"},"name":"create_project"},{"description":"Remove a page from the sitemap (soft delete, can be restored via version history)","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"cascade":{"description":"If true, also deletes all children. Default: false (children are reparented to grandparent)","type":"boolean"},"node_id":{"description":"The node ID to delete","type":"string"},"project_id":{"description":"The project ID","type":"string"}},"required":["project_id","node_id"],"type":"object"},"name":"delete_node"},{"description":"Generate a lo-fi wireframe HTML for a page using AI. The wireframe is saved to the node's zoningHtml field. Requires zoning blocks to be defined on the node. Costs 1 AI credit (or uses BYOK key). Returns the generated HTML.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"node_id":{"description":"The node ID to generate wireframe for","type":"string"},"project_id":{"description":"The project ID","type":"string"}},"required":["project_id","node_id"],"type":"object"},"name":"generate_wireframe"},{"description":"Change list from the open review comments: deduplicated and classed (text, visual, structure), out-of-scope requests with a reply and an amendment line, and contradictions with decided points. Costs AI credits (quality model, 3 credits), paid by the token's account or the project owner. Requires write access.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"node_id":{"description":"Only this page","type":"string"},"project_id":{"description":"The project ID","type":"string"},"step":{"description":"Review step: wireframe or mockup","enum":["wireframe","mockup"],"type":"string"}},"required":["project_id"],"type":"object"},"name":"get_change_list"},{"description":"Get a project with its full sitemap tree","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"project_id":{"description":"The project ID","type":"string"}},"required":["project_id"],"type":"object"},"name":"get_project"},{"description":"Review of a project: per page, the status and version of each step (wireframe, mockup), and the latest Figma link per breakpoint","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"project_id":{"description":"The project ID","type":"string"}},"required":["project_id"],"type":"object"},"name":"get_review"},{"description":"List all projects accessible with this token","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{},"type":"object"},"name":"list_projects"},{"description":"Comments left in the review (wireframe or mockup), pinned on a version and a breakpoint. Set open_only true to get only the unresolved ones.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"node_id":{"description":"Only the comments of this page","type":"string"},"open_only":{"description":"Only unresolved comments","type":"boolean"},"project_id":{"description":"The project ID","type":"string"},"step":{"description":"Review step: wireframe or mockup","enum":["wireframe","mockup"],"type":"string"}},"required":["project_id"],"type":"object"},"name":"list_review_comments"},{"description":"Mark a review comment resolved or open again. Same rights as the other write tools (write:nodes, owner or editor).","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"comment_id":{"description":"The comment ID (from list_review_comments)","type":"string"},"project_id":{"description":"The project ID","type":"string"},"resolved":{"description":"true to resolve, false to reopen","type":"boolean"}},"required":["project_id","comment_id","resolved"],"type":"object"},"name":"set_comment_resolved"},{"description":"Update a page's properties. For the description field: use real newlines (not literal \\n). Supports rich multiline content: SEO notes, copy, sections, CTAs, FAQ, maillage, etc. No length limit. You can also set zoning_html (full wireframe HTML) and annotations (contextual notes per wireframe section).","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"annotations":{"description":"Contextual annotations for wireframe sections. These appear as a sidebar alongside the wireframe preview.","items":{"properties":{"body":{"description":"Detailed annotation content","type":"string"},"id":{"description":"Unique annotation ID (e.g. 'ann_1')","type":"string"},"section":{"description":"Section name in the wireframe this annotation refers to (e.g. 'Hero', 'Navigation')","type":"string"},"tag":{"description":"Annotation category","enum":["UX","COPY","SEO","DEV","DESIGN","A11Y","PERF","TODO"],"type":"string"},"title":{"description":"Short annotation title","type":"string"}},"required":["id","section","tag","title","body"],"type":"object"},"type":"array"},"description":{"description":"Page description. Use real newlines for formatting. Supports long multiline content (SEO, copy, sections, CTAs, FAQ). No length limit.","type":"string"},"label":{"description":"New page name","type":"string"},"node_id":{"description":"The node ID to update","type":"string"},"notes":{"type":"string"},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Move to new parent"},"priority":{"enum":["primary","secondary","utility"],"type":"string"},"project_id":{"description":"The project ID","type":"string"},"rationale":{"type":"string"},"seo":{"description":"SEO data. Fields sent are merged into the existing SEO block.","properties":{"intent":{"enum":["informational","navigational","commercial","transactional"],"type":"string"},"keyword":{"description":"Main target keyword","type":"string"},"redirectTo":{"description":"Destination URL when status is 'redirect'","type":"string"},"status":{"description":"keep = existing page kept, create = new page, redirect = 301 to redirect_to, delete = removed (410)","enum":["keep","create","redirect","delete"],"type":"string"},"url":{"description":"Page URL or path (e.g. '/services/audit-seo')","type":"string"},"volume":{"description":"Monthly search volume of the main keyword","type":"number"}},"type":"object"},"type":{"description":"New page type","type":"string"},"zoning_html":{"description":"Full wireframe HTML (lo-fi, inline CSS, standalone). Replaces the current wireframe for this page.","type":"string"}},"required":["project_id","node_id"],"type":"object"},"name":"update_node"}]},"body_sha256":"b47b40b33f14b8a5ca870966129c143d79812821c092dac8f0fb16338409701c","prev_id":null,"leaf":"0xd5725c3941650eda84ec0ded82ece8c4672170ca7e08794d422de5552129ff2d","leaf_text":"{\"body\":\"b47b40b33f14b8a5ca870966129c143d79812821c092dac8f0fb16338409701c\",\"id\":523086,\"kind\":\"mcp.tools\",\"method\":\"probe.mcp/1\",\"observed_us\":1793124126471263,\"prev\":null,\"subject\":\"6ecabaef-d1b7-485c-bb48-a5c14aca42cc\",\"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":["0xd571db626afe327d58f2ed5495756f23bb2696fef8c4964836bdc7b544e98d8c","0xff50defb3dcca31646b998e970ebcd3f3e65210399e7d7b365fa451ecd5ea500","0x2bebfd82eec3f470f19462f87abcb3455ea0a38ce8943efcd153b58d87083886","0x79f609599dae78b0bbccf9a027d519b16631a5a189c6b80322907189462b489f","0xa465fb59e8dacff7c3d6d488ff0836625814e6d6de326ac19acca7d4f5430018","0x99cc17daf1fb4b8c647968f74fc3d3b601194e80f3242ab1b191c437f30c82e3","0x36a8df141dbb514c753221fe77fb5be4fb13f414bdbba7d716e5e78f2e56862d","0xa18e42148defce4ddcba796d3b62c9c61ca6cdff7fdc3c3270fd618200ae4c37","0x66806780b5d7ea2affcb409ace0b0f49e15c3f995a59929ae661ff0c31d19740","0x91caaff748d69a163fc7f2f65c6956cecc662c244f2d6a7c7af980f8188cfacf","0x74b55c296ed1e29baefa7f1b742395fc4d032c5815abd196435abb5c0045e88a","0xde4e8f5f4fa654e4fdaf9393a62fe8d551a621b11ce6193db126f9c7825b0974","0x3b3e4fecead12aaf883ab4f21b6e21efddd0a8d055ced058cb62bcdca8a6c9d6","0x8f676edfb4faaa290229d8f4f69ab721fc627424463d62f5146b3d1ca7f2f0c6","0x969cd44e5a4e8dc3110540398fbf689659eb51df735c1cda5d8f021ef9ff5683","0xa94627de1af0e823832e05a9069b304ecccb8c0cdb8f9cfc4f2039bfb9799dc5","0xdf1105afdc109de3c09a98fc8a3864159ad964e6f49b635c105a27a1e1f14310","0x2bf8151e5f157dd183b9de6fa00469551932a7a6e3f33a694895000ac9061197","0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699"]}