addrbookFor publishers
← The evidence ledger

Evidence row 523086

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 6ecabaef-d1b7-485c-bb48-a5c14aca42cc
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
b47b40b33f14b8a5ca870966129c143d79812821c092dac8f0fb16338409701c
Leaf
0xd5725c3941650eda84ec0ded82ece8c4672170ca7e08794d422de5552129ff2d

What was observed

{
  "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"
    }
  ]
}

What the leaf hashes

{"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"}

Proof

Its day has not closed yet. A day closes ten minutes after midnight UTC; the proof appears here then.

How to check it · This row as JSON