addrbookFor publishers
← The evidence ledger

Evidence row 4162804

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 5eb64623-6de7-45c2-a9d7-5fc22deec1e8
Recorded
Previous row
#2493669
Body SHA-256
24ef5b1f92c0b862c550865e745e8190f7aab5e00422ca9b630d81114f596709
Leaf
0x2e4c684cef9a3a690f0ec93ac89a7706614cd26f5c1e2cdabb08be5191faa739

What was observed

{
  "count": 26,
  "tools": [
    {
      "description": "How to work in an app by clicking in the user's Cloud Browser with Cotlet's browser tools: which browser to use for this workspace and the sign-in link, the method step by step, the app's screens, menus and actions, notes, and the app's dedicated tools when Cotlet has them. Call it before the first browser step in an app. Works for any web app; one outside Cotlet's catalog gets the general method. Free, no browser session.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "app": {
            "description": "The app's name or Cotlet slug. Default: Pirate Ship.",
            "maxLength": 120,
            "type": "string"
          },
          "task": {
            "description": "What the user wants done in the app, in their words.",
            "maxLength": 500,
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "cotlet_app_guide"
    },
    {
      "description": "The apps of the user's workspace and whether each works now: access granted or requested, the app account in the user's Cloud Browser (connected, signed out, signed in but not connected), and the one step the user has to take, with the console link. Free. Needs the user's Cotlet API key or sign-in.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "app": {
            "description": "Only this app, e.g. skool.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "cotlet_apps"
    },
    {
      "description": "The user's current credit balance. Free. Needs the user's Cotlet API key or sign-in.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {},
        "type": "object"
      },
      "name": "cotlet_balance"
    },
    {
      "description": "Clicks element `element`, or point `x`, `y` of the screenshot; `double` double-clicks, `button: right` right-clicks. Answers the page after it: the elements and text in view, with the same numbers. Says when nothing changed. A link that would open a new tab opens in this one. Buttons that pay or buy, and sign-in and account pages, are refused.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "app": {
            "description": "Leave it out: the step runs in the user's web browser. Only when cotlet_app_guide names an app's own Cloud Browser, that app's slug, e.g. milanote.",
            "pattern": "^[a-z0-9][a-z0-9-]{0,79}$",
            "type": "string"
          },
          "button": {
            "description": "right opens the page's own context menu. Default: left.",
            "enum": [
              "left",
              "right"
            ],
            "type": "string"
          },
          "dialog": {
            "description": "How to answer a native dialog (confirm, prompt, 'leave this page?') this step opens: accept presses OK, dismiss presses Cancel. Default: OK for an alert, Cancel for every other dialog.",
            "enum": [
              "accept",
              "dismiss"
            ],
            "type": "string"
          },
          "dialog_text": {
            "description": "Text for a prompt dialog this step opens; implies accept.",
            "maxLength": 1000,
            "type": "string"
          },
          "double": {
            "description": "Double-click.",
            "type": "boolean"
          },
          "element": {
            "description": "The element's number from the last read or step answer.",
            "minimum": 1,
            "type": "integer"
          },
          "x": {
            "description": "Instead of `element`: pixels from the left of the screenshot.",
            "minimum": 0,
            "type": "number"
          },
          "y": {
            "description": "With `x`: pixels from the top of the screenshot.",
            "minimum": 0,
            "type": "number"
          }
        },
        "type": "object"
      },
      "name": "cotlet_browser_click"
    },
    {
      "description": "Ends the browser session when the task is done: the browser keeps its cookies and sleeps, and the per-minute charge stops. Answers the session's minutes and credits.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "app": {
            "description": "Leave it out: the step runs in the user's web browser. Only when cotlet_app_guide names an app's own Cloud Browser, that app's slug, e.g. milanote.",
            "pattern": "^[a-z0-9][a-z0-9-]{0,79}$",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "cotlet_browser_close"
    },
    {
      "description": "Gets the file that clicking `element` (a download link or button) or opening `url` starts: answers its name, type, size and a link valid 15 minutes; CSV, JSON and other text files also as text.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "app": {
            "description": "Leave it out: the step runs in the user's web browser. Only when cotlet_app_guide names an app's own Cloud Browser, that app's slug, e.g. milanote.",
            "pattern": "^[a-z0-9][a-z0-9-]{0,79}$",
            "type": "string"
          },
          "element": {
            "description": "The element's number from the last read or step answer.",
            "minimum": 1,
            "type": "integer"
          },
          "url": {
            "description": "A public http or https address, e.g. https://example.com.",
            "format": "uri",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "cotlet_browser_download"
    },
    {
      "description": "Drags from one element or point to another: a card between columns, a piece on a board, a slider's handle. Answers the page after it: the elements and text in view, with the same numbers.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "app": {
            "description": "Leave it out: the step runs in the user's web browser. Only when cotlet_app_guide names an app's own Cloud Browser, that app's slug, e.g. milanote.",
            "pattern": "^[a-z0-9][a-z0-9-]{0,79}$",
            "type": "string"
          },
          "dialog": {
            "description": "How to answer a native dialog (confirm, prompt, 'leave this page?') this step opens: accept presses OK, dismiss presses Cancel. Default: OK for an alert, Cancel for every other dialog.",
            "enum": [
              "accept",
              "dismiss"
            ],
            "type": "string"
          },
          "dialog_text": {
            "description": "Text for a prompt dialog this step opens; implies accept.",
            "maxLength": 1000,
            "type": "string"
          },
          "from": {
            "additionalProperties": false,
            "description": "An element number, or x and y of the screenshot.",
            "properties": {
              "element": {
                "description": "The element's number from the last read or step answer.",
                "minimum": 1,
                "type": "integer"
              },
              "x": {
                "description": "Instead of `element`: pixels from the left of the screenshot.",
                "minimum": 0,
                "type": "number"
              },
              "y": {
                "description": "With `x`: pixels from the top of the screenshot.",
                "minimum": 0,
                "type": "number"
              }
            },
            "type": "object"
          },
          "to": {
            "additionalProperties": false,
            "description": "An element number, or x and y of the screenshot.",
            "properties": {
              "element": {
                "description": "The element's number from the last read or step answer.",
                "minimum": 1,
                "type": "integer"
              },
              "x": {
                "description": "Instead of `element`: pixels from the left of the screenshot.",
                "minimum": 0,
                "type": "number"
              },
              "y": {
                "description": "With `x`: pixels from the top of the screenshot.",
                "minimum": 0,
                "type": "number"
              }
            },
            "type": "object"
          }
        },
        "required": [
          "from",
          "to"
        ],
        "type": "object"
      },
      "name": "cotlet_browser_drag"
    },
    {
      "description": "Runs a JavaScript function body on the page and answers what it returns, as JSON. Use it to extract data the page holds (a table, a list, attributes); act with the other tools. It cannot send requests, click, submit, or read cookies or storage; a filled field's value reads [hidden by Cotlet]. Example: return [...document.querySelectorAll('h2')].map(h => h.innerText)",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "app": {
            "description": "Leave it out: the step runs in the user's web browser. Only when cotlet_app_guide names an app's own Cloud Browser, that app's slug, e.g. milanote.",
            "pattern": "^[a-z0-9][a-z0-9-]{0,79}$",
            "type": "string"
          },
          "script": {
            "description": "A function body that returns.",
            "maxLength": 20000,
            "type": "string"
          }
        },
        "required": [
          "script"
        ],
        "type": "object"
      },
      "name": "cotlet_browser_evaluate"
    },
    {
      "description": "Fills several fields in one step: text fields take text, drop-downs an option's label, checkboxes, radios and switches true or false. Stops at the first field that fails and names those filled. Does not send the form: click its button after. Answers the page after it: the elements and text in view, with the same numbers.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "app": {
            "description": "Leave it out: the step runs in the user's web browser. Only when cotlet_app_guide names an app's own Cloud Browser, that app's slug, e.g. milanote.",
            "pattern": "^[a-z0-9][a-z0-9-]{0,79}$",
            "type": "string"
          },
          "dialog": {
            "description": "How to answer a native dialog (confirm, prompt, 'leave this page?') this step opens: accept presses OK, dismiss presses Cancel. Default: OK for an alert, Cancel for every other dialog.",
            "enum": [
              "accept",
              "dismiss"
            ],
            "type": "string"
          },
          "dialog_text": {
            "description": "Text for a prompt dialog this step opens; implies accept.",
            "maxLength": 1000,
            "type": "string"
          },
          "fields": {
            "description": "The fields in the order a person fills them.",
            "items": {
              "additionalProperties": false,
              "properties": {
                "element": {
                  "description": "The element's number from the last read or step answer.",
                  "minimum": 1,
                  "type": "integer"
                },
                "value": {
                  "description": "Text, option, or true/false.",
                  "type": [
                    "string",
                    "boolean"
                  ]
                }
              },
              "required": [
                "element",
                "value"
              ],
              "type": "object"
            },
            "maxItems": 30,
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "fields"
        ],
        "type": "object"
      },
      "name": "cotlet_browser_fill_form"
    },
    {
      "description": "Finds `text` on the whole current page, frames included: the elements whose label holds it, with their numbers, and each line of text that holds it. Use it instead of reading or scrolling a long page for one thing.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "app": {
            "description": "Leave it out: the step runs in the user's web browser. Only when cotlet_app_guide names an app's own Cloud Browser, that app's slug, e.g. milanote.",
            "pattern": "^[a-z0-9][a-z0-9-]{0,79}$",
            "type": "string"
          },
          "kind": {
            "description": "Only elements of this kind. Default: any.",
            "enum": [
              "link",
              "button",
              "field",
              "any"
            ],
            "type": "string"
          },
          "text": {
            "description": "Words to look for, any case.",
            "maxLength": 200,
            "type": "string"
          }
        },
        "required": [
          "text"
        ],
        "type": "object"
      },
      "name": "cotlet_browser_find"
    },
    {
      "description": "Rests the pointer on an element or a point, to open a hover menu, a tooltip or a preview. Answers the page after it: the elements and text in view, with the same numbers.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "app": {
            "description": "Leave it out: the step runs in the user's web browser. Only when cotlet_app_guide names an app's own Cloud Browser, that app's slug, e.g. milanote.",
            "pattern": "^[a-z0-9][a-z0-9-]{0,79}$",
            "type": "string"
          },
          "element": {
            "description": "The element's number from the last read or step answer.",
            "minimum": 1,
            "type": "integer"
          },
          "x": {
            "description": "Instead of `element`: pixels from the left of the screenshot.",
            "minimum": 0,
            "type": "number"
          },
          "y": {
            "description": "With `x`: pixels from the top of the screenshot.",
            "minimum": 0,
            "type": "number"
          }
        },
        "type": "object"
      },
      "name": "cotlet_browser_hover"
    },
    {
      "description": "Opens `url` in the current tab, or goes `history` back or forward. Answers the page after it: the elements and text in view, with the same numbers.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "app": {
            "description": "Leave it out: the step runs in the user's web browser. Only when cotlet_app_guide names an app's own Cloud Browser, that app's slug, e.g. milanote.",
            "pattern": "^[a-z0-9][a-z0-9-]{0,79}$",
            "type": "string"
          },
          "dialog": {
            "description": "How to answer a native dialog (confirm, prompt, 'leave this page?') this step opens: accept presses OK, dismiss presses Cancel. Default: OK for an alert, Cancel for every other dialog.",
            "enum": [
              "accept",
              "dismiss"
            ],
            "type": "string"
          },
          "dialog_text": {
            "description": "Text for a prompt dialog this step opens; implies accept.",
            "maxLength": 1000,
            "type": "string"
          },
          "history": {
            "description": "Instead of `url`.",
            "enum": [
              "back",
              "forward"
            ],
            "type": "string"
          },
          "url": {
            "description": "A public http or https address, e.g. https://example.com.",
            "format": "uri",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "cotlet_browser_navigate"
    },
    {
      "description": "Starts the user's Cloud Browser (a real Chrome on Cotlet, where the user is signed in to their sites) and opens `url`. Call it first. The URL goes to the site's open tab, else to a new tab, so the user's own tabs stay. Answers the page after it: the elements and text in view, with the same numbers.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "app": {
            "description": "Leave it out: the step runs in the user's web browser. Only when cotlet_app_guide names an app's own Cloud Browser, that app's slug, e.g. milanote.",
            "pattern": "^[a-z0-9][a-z0-9-]{0,79}$",
            "type": "string"
          },
          "url": {
            "description": "A public http or https address, e.g. https://example.com.",
            "format": "uri",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "cotlet_browser_open"
    },
    {
      "description": "Presses a key on the focused element: Enter to send, Tab to the next field, Escape to close a pop-up, arrows in a list or slider, or one character (a site's shortcut). Answers the page after it: the elements and text in view, with the same numbers.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "app": {
            "description": "Leave it out: the step runs in the user's web browser. Only when cotlet_app_guide names an app's own Cloud Browser, that app's slug, e.g. milanote.",
            "pattern": "^[a-z0-9][a-z0-9-]{0,79}$",
            "type": "string"
          },
          "dialog": {
            "description": "How to answer a native dialog (confirm, prompt, 'leave this page?') this step opens: accept presses OK, dismiss presses Cancel. Default: OK for an alert, Cancel for every other dialog.",
            "enum": [
              "accept",
              "dismiss"
            ],
            "type": "string"
          },
          "dialog_text": {
            "description": "Text for a prompt dialog this step opens; implies accept.",
            "maxLength": 1000,
            "type": "string"
          },
          "key": {
            "anyOf": [
              {
                "enum": [
                  "Enter",
                  "Tab",
                  "Shift+Tab",
                  "Escape",
                  "Backspace",
                  "Delete",
                  "Space",
                  "ArrowDown",
                  "ArrowUp",
                  "ArrowLeft",
                  "ArrowRight",
                  "PageDown",
                  "PageUp",
                  "Home",
                  "End"
                ]
              },
              {
                "pattern": "^[ -~]$"
              }
            ],
            "description": "One of Enter, Tab, Shift+Tab, Escape, Backspace, Delete, Space, ArrowDown, ArrowUp, ArrowLeft, ArrowRight, PageDown, PageUp, Home, End, or one character such as a or 5.",
            "type": "string"
          },
          "repeat": {
            "description": "Times to press it. Default 1.",
            "maximum": 20,
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "key"
        ],
        "type": "object"
      },
      "name": "cotlet_browser_press"
    },
    {
      "description": "The whole current page: its text (up to 20,000 characters) and a numbered list of its links, buttons, fields and other controls, open dialogs first. Use it on a new page or when a step's answer is not enough; `element` reads only inside one element (a dialog, a form, a list). Never returns field values, cookies or storage.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "app": {
            "description": "Leave it out: the step runs in the user's web browser. Only when cotlet_app_guide names an app's own Cloud Browser, that app's slug, e.g. milanote.",
            "pattern": "^[a-z0-9][a-z0-9-]{0,79}$",
            "type": "string"
          },
          "element": {
            "description": "Read only inside this element.",
            "minimum": 1,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "name": "cotlet_browser_read"
    },
    {
      "description": "A JPEG of the visible part of the page. Use it for boards, canvases, maps, charts and layout that the text does not show, then click or drag by `x`, `y` of the image.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "app": {
            "description": "Leave it out: the step runs in the user's web browser. Only when cotlet_app_guide names an app's own Cloud Browser, that app's slug, e.g. milanote.",
            "pattern": "^[a-z0-9][a-z0-9-]{0,79}$",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "cotlet_browser_screenshot"
    },
    {
      "description": "Scrolls with the mouse wheel: `down` or `up` by `screens`, to `top` or `bottom`, until `element` is in view, or inside a panel or list (`inside`). Content that loads on scroll appears. Answers the page after it: the elements and text in view, with the same numbers.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "app": {
            "description": "Leave it out: the step runs in the user's web browser. Only when cotlet_app_guide names an app's own Cloud Browser, that app's slug, e.g. milanote.",
            "pattern": "^[a-z0-9][a-z0-9-]{0,79}$",
            "type": "string"
          },
          "direction": {
            "description": "Default: down.",
            "enum": [
              "down",
              "up",
              "top",
              "bottom"
            ],
            "type": "string"
          },
          "element": {
            "description": "Scroll until this element is in view.",
            "minimum": 1,
            "type": "integer"
          },
          "inside": {
            "description": "Scroll inside this element, not the page.",
            "minimum": 1,
            "type": "integer"
          },
          "screens": {
            "description": "Viewport heights, for down and up. Default: 0.8.",
            "exclusiveMinimum": 0,
            "maximum": 10,
            "type": "number"
          }
        },
        "type": "object"
      },
      "name": "cotlet_browser_scroll"
    },
    {
      "description": "Chooses `option` (its label as listed, or its value) in drop-down `element`. For a home-made drop-down, click it, then click the option. Answers the page after it: the elements and text in view, with the same numbers.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "app": {
            "description": "Leave it out: the step runs in the user's web browser. Only when cotlet_app_guide names an app's own Cloud Browser, that app's slug, e.g. milanote.",
            "pattern": "^[a-z0-9][a-z0-9-]{0,79}$",
            "type": "string"
          },
          "dialog": {
            "description": "How to answer a native dialog (confirm, prompt, 'leave this page?') this step opens: accept presses OK, dismiss presses Cancel. Default: OK for an alert, Cancel for every other dialog.",
            "enum": [
              "accept",
              "dismiss"
            ],
            "type": "string"
          },
          "dialog_text": {
            "description": "Text for a prompt dialog this step opens; implies accept.",
            "maxLength": 1000,
            "type": "string"
          },
          "element": {
            "description": "The element's number from the last read or step answer.",
            "minimum": 1,
            "type": "integer"
          },
          "option": {
            "description": "The option.",
            "maxLength": 300,
            "type": "string"
          }
        },
        "required": [
          "element",
          "option"
        ],
        "type": "object"
      },
      "name": "cotlet_browser_select"
    },
    {
      "description": "The tabs of the user's web browser, where they keep their signed-in sites open. `list` (default) answers each tab's id, URL and title and which is shown; `switch` with `tab` shows that tab, and every later step acts on it; `new` with `url` opens a tab (at most 8); `close` with `tab` closes it. Work in the tab of the site the task is about and close only the tabs you opened.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "action": {
            "description": "What to do. Default: list.",
            "enum": [
              "list",
              "new",
              "switch",
              "close"
            ],
            "type": "string"
          },
          "tab": {
            "description": "A tab's id from list, for switch and close.",
            "maxLength": 64,
            "type": "string"
          },
          "url": {
            "description": "For new: the public http or https address the tab opens.",
            "format": "uri",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "cotlet_browser_tabs"
    },
    {
      "description": "Types `text` into field `element`, replacing what it held; `submit` presses Enter after it. For several fields use fill_form. Answers the page after it: the elements and text in view, with the same numbers. Password, card and one-time code fields are refused: the user types them.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "app": {
            "description": "Leave it out: the step runs in the user's web browser. Only when cotlet_app_guide names an app's own Cloud Browser, that app's slug, e.g. milanote.",
            "pattern": "^[a-z0-9][a-z0-9-]{0,79}$",
            "type": "string"
          },
          "dialog": {
            "description": "How to answer a native dialog (confirm, prompt, 'leave this page?') this step opens: accept presses OK, dismiss presses Cancel. Default: OK for an alert, Cancel for every other dialog.",
            "enum": [
              "accept",
              "dismiss"
            ],
            "type": "string"
          },
          "dialog_text": {
            "description": "Text for a prompt dialog this step opens; implies accept.",
            "maxLength": 1000,
            "type": "string"
          },
          "element": {
            "description": "The element's number from the last read or step answer.",
            "minimum": 1,
            "type": "integer"
          },
          "slowly": {
            "description": "Key by key, for a search or address field whose suggestions do not appear.",
            "type": "boolean"
          },
          "submit": {
            "description": "Press Enter after typing, e.g. to search.",
            "type": "boolean"
          },
          "text": {
            "description": "The text to type.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "required": [
          "element",
          "text"
        ],
        "type": "object"
      },
      "name": "cotlet_browser_type"
    },
    {
      "description": "Puts files into file field or upload button `element`: each file is {\"url\": \"https://...\"} or {\"file_id\": \"...\"} of a file uploaded to Cotlet; up to 10 files, 20 MB each. Answers the page after it: the elements and text in view, with the same numbers.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "app": {
            "description": "Leave it out: the step runs in the user's web browser. Only when cotlet_app_guide names an app's own Cloud Browser, that app's slug, e.g. milanote.",
            "pattern": "^[a-z0-9][a-z0-9-]{0,79}$",
            "type": "string"
          },
          "element": {
            "description": "The element's number from the last read or step answer.",
            "minimum": 1,
            "type": "integer"
          },
          "files": {
            "description": "The files.",
            "items": {
              "additionalProperties": false,
              "properties": {
                "file_id": {
                  "description": "A file uploaded to Cotlet.",
                  "type": "string"
                },
                "url": {
                  "description": "A public file URL.",
                  "format": "uri",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "maxItems": 10,
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "element",
          "files"
        ],
        "type": "object"
      },
      "name": "cotlet_browser_upload"
    },
    {
      "description": "Waits until `text` shows on the page (at most `seconds`, default 5, up to 20), or just `seconds`: for results that load slowly. Says whether the text appeared. Answers the page after it: the elements and text in view, with the same numbers.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "app": {
            "description": "Leave it out: the step runs in the user's web browser. Only when cotlet_app_guide names an app's own Cloud Browser, that app's slug, e.g. milanote.",
            "pattern": "^[a-z0-9][a-z0-9-]{0,79}$",
            "type": "string"
          },
          "seconds": {
            "description": "At most.",
            "exclusiveMinimum": 0,
            "maximum": 20,
            "type": "number"
          },
          "text": {
            "description": "Text to wait for.",
            "maxLength": 200,
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "cotlet_browser_wait"
    },
    {
      "description": "Status of an earlier Cotlet call, by its call_id: pending (waits for the owner's approval in the Cotlet console), approved, running, success, rejected, expired, blocked or failed. For a call that answered with status pending or running.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "call_id": {
            "description": "call_id from the earlier call",
            "type": "string"
          }
        },
        "required": [
          "call_id"
        ],
        "type": "object"
      },
      "name": "cotlet_get_call"
    },
    {
      "description": "Sends a report to the Cotlet team: a tool that failed or returned wrong data, an error you could not get past, or a step the browser could not do, with the page, the step and what you saw. A missing dedicated tool is not a problem to report: do the task in the browser. A feature the user asks for goes as feature_request. A report promises nothing: tell the user it was sent, never that something will be built or fixed, or when. The report carries the error text and call_id when there is one, never passwords or tokens. Needs the user's Cotlet API key or sign-in.",
      "inputSchema": {
        "additionalProperties": false,
        "description": "Body of POST /api/v1/reports and the arguments of the MCP tool cotlet_report_issue.",
        "properties": {
          "app": {
            "anyOf": [
              {
                "maxLength": 80,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "App slug the report is about, e.g. 'skool', or for a site in the web browser its host, e.g. 'app.example.com'.",
            "title": "App"
          },
          "call_id": {
            "anyOf": [
              {
                "format": "uuid",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "call_id of the call that went wrong, if any.",
            "title": "Call Id"
          },
          "client": {
            "anyOf": [
              {
                "maxLength": 80,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Agent or tool sending this, e.g. 'Claude Code'.",
            "title": "Client"
          },
          "description": {
            "description": "What the user asked for, what you tried, what you expected and what happened, with the error text if there was one. No passwords, tokens or other secrets.",
            "maxLength": 5000,
            "minLength": 10,
            "title": "Description",
            "type": "string"
          },
          "kind": {
            "description": "bug: a tool did the wrong thing or returned wrong data. error: a call failed or returned an error you could not get past. feature_request: something new the user asked for. missing_feature: a step the task needed that you tried and could not do, in the browser or with a tool. other: anything else.",
            "enum": [
              "bug",
              "error",
              "feature_request",
              "missing_feature",
              "other"
            ],
            "title": "Kind",
            "type": "string"
          },
          "title": {
            "description": "One line, e.g. 'skool_list_members stops after 50 members'.",
            "maxLength": 200,
            "minLength": 3,
            "title": "Title",
            "type": "string"
          },
          "tool": {
            "anyOf": [
              {
                "maxLength": 160,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": null,
            "description": "Tool or endpoint name, e.g. 'skool_list_members'.",
            "title": "Tool"
          }
        },
        "required": [
          "kind",
          "title",
          "description"
        ],
        "title": "AgentReportCreate",
        "type": "object"
      },
      "name": "cotlet_report_issue"
    },
    {
      "description": "Returns a one-time upload_url and a file_id for a local file (an image for a post, an attachment). The file is sent to upload_url with an HTTP PUT; an argument that takes a file accepts {\"file_id\": \"...\"}. Up to 25 MB, the URL works once. Free. Needs the user's Cotlet API key or sign-in.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "content_type": {
            "description": "MIME type, e.g. image/jpeg.",
            "type": "string"
          },
          "name": {
            "description": "File name, e.g. photo.jpg.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "cotlet_upload_file"
    },
    {
      "description": "The Cotlet account this connection acts as: email, workspace, access status, the API key or OAuth client in use with its scope, the apps the workspace may call and its credit balance. Free. Needs the user's Cotlet API key or sign-in.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {},
        "type": "object"
      },
      "name": "cotlet_whoami"
    }
  ]
}

What the leaf hashes

{"body":"24ef5b1f92c0b862c550865e745e8190f7aab5e00422ca9b630d81114f596709","id":4162804,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1794165636386745,"prev":2493669,"subject":"5eb64623-6de7-45c2-a9d7-5fc22deec1e8","subject_kind":"endpoint"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (183509 rows).

  1. 0x2e4b4b4bc94449f8c91c78c3ee2cba6011d454f227a036b056fe8d90b21cd05f
  2. 0x81efc8ef2b47c30f463989af8df1e3b09ba04e923b01a0a75b59817d06a57d05
  3. 0x5583da925618f3aca1456fab1177037528c548857d87bef8e44f60d7805aeaa9
  4. 0xa6087f4fd268935521bffd84dbe2574dbb6210786240b9b00f31940ac4de9fd1
  5. 0x6874a3d203dcb3a4153576d0df3d82de5cc4a3c87bc51b32c8a3b2318ca2ade0
  6. 0x3ab3c8cea70c95429d97b456cc71e537ec7a73a6b01f9b58fc414e55d931fcaa
  7. 0x739ad8360149d38ee488b0315149ed2b7010cb0f8efa096d53d4b3d0414fc6da
  8. 0xec6165591eb5e9206650ced213d3f338f7967cd1fc421bdc6847be799fece2fc
  9. 0x56cd1b63870ec53d17963a720db9312729a0a4cdfe3898e0f263e09973fc94ce
  10. 0xeaf65699bac5313b63fa3dac226ca5e410af85a9c71586a58878b4e894ec88c6
  11. 0xdaddaf453694b24ed8a6942c1d74152113c7160b7855d6b9fb3b4692dbaa40d6
  12. 0xe56e7b01a05f72a3ef5da5854414b80865b6c6db211ce375f8355715f51cf451
  13. 0x65f1f126766a6a6329d4fa53ff266bee4ba78a3ed9b2ee96c98ea7821fa65f2a
  14. 0x2e60ad7f07d42e7e3a05e15d5f432e079746cb5911e407190adeba41b2f3a410
  15. 0xbd5012f0886fab2c6ae15982e759fb236dafac6691167365aad233adc7665695
  16. 0xa7cc80a77a1b416226547039db612cda546cf3ee48ee502328ff0f2b646ced86
  17. 0x2031bf8fabeeff87db710efedafb2b06df0de0b25ca93fb078786a0ebfe9bbc5
  18. 0x1f0ff2af9da38fef1beef5d2dbcf41f592dca17729b7ab9b9c0b6ef354dc3b83
Day root
0xbf84ec37f88c5f23d2144bd7dbc1ea0f8edc93b3764a885a7164b7923ff3460b
Chained
0x9fea188e4965f50de727e97c40e18d5ff2c2ddbfd4f1ae65e22ddd6f676bccfc
Published
On Arc Testnet: 0xb5273480942a54cd07f291b8319e59976f8d9d0583181c764eed04c9b3f7a022

How to check it · This row as JSON