← WebMCP Directory

Tool tree

ayme-labs.github.io

Developer ToolsTools verified
Website
Ayme WebMCP playground
Explore capabilities
    snapshotAnswer

    Return the current live structural page state together with compact POM capability definitions known to Ayme. `structure` is the current page snapshot. Each definition starts with its class name and an optional // description. A bare member is a Locator; member: ChildPom is a child POM; [] marks collections; and action(args): this | OtherPom is an action with possible next POMs. Action comments are authored descriptions, and this means the current POM. Definitions can include POMs or actions that are not currently visible or callable; action return POMs describe possible next surfaces, not guarantees. The client's currently registered tool schemas remain authoritative for what can be called now.

    View tool JSON
    {
      "name": "snapshot",
      "kind": "answer",
      "impl": "imperative",
      "description": "Return the current live structural page state together with compact POM capability definitions known to Ayme. `structure` is the current page snapshot. Each definition starts with its class name and an optional // description. A bare member is a Locator; member: ChildPom is a child POM; [] marks collections; and action(args): this | OtherPom is an action with possible next POMs. Action comments are authored descriptions, and this means the current POM. Definitions can include POMs or actions that are not currently visible or callable; action return POMs describe possible next surfaces, not guarantees. The client's currently registered tool schemas remain authoritative for what can be called now.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "names": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Page Object class names whose definitions to include in pomDefinitions. Omitted or empty: every known one. The structure is always the whole page."
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "page": "/ayme/"
    }
    clickAction

    Click one element. The result's changes_before lists what changed on the page since you last received it, before this action; changes lists what the action changed, anything that changed while the page settled after it included.

    View tool JSON
    {
      "name": "click",
      "kind": "act",
      "impl": "imperative",
      "description": "Click one element. The result's changes_before lists what changed on the page since you last received it, before this action; changes lists what the action changed, anything that changed while the page settled after it included.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "description": "A Structural Ref from the page snapshot, or a selector that matches exactly one element."
          },
          "doubleClick": {
            "type": "boolean",
            "description": "Double-click instead; false when omitted."
          },
          "button": {
            "type": "string",
            "enum": [
              "left",
              "right",
              "middle"
            ],
            "description": "Button to click; left when omitted."
          },
          "modifiers": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "Alt",
                "Control",
                "ControlOrMeta",
                "Meta",
                "Shift"
              ]
            },
            "description": "Modifier keys to hold during the click."
          }
        },
        "required": [
          "target"
        ],
        "additionalProperties": false
      },
      "page": "/ayme/"
    }
    hoverAction

    Move the pointer over one element. The result's changes_before lists what changed on the page since you last received it, before this action; changes lists what the action changed, anything that changed while the page settled after it included.

    View tool JSON
    {
      "name": "hover",
      "kind": "act",
      "impl": "imperative",
      "description": "Move the pointer over one element. The result's changes_before lists what changed on the page since you last received it, before this action; changes lists what the action changed, anything that changed while the page settled after it included.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "description": "A Structural Ref from the page snapshot, or a selector that matches exactly one element."
          }
        },
        "required": [
          "target"
        ],
        "additionalProperties": false
      },
      "page": "/ayme/"
    }
    typeAction

    Type text into one editable element. Replaces its value, unless typing slowly, which types one character at a time. The result's changes_before lists what changed on the page since you last received it, before this action; changes lists what the action changed, anything that changed while the page settled after it included.

    View tool JSON
    {
      "name": "type",
      "kind": "act",
      "impl": "imperative",
      "description": "Type text into one editable element. Replaces its value, unless typing slowly, which types one character at a time. The result's changes_before lists what changed on the page since you last received it, before this action; changes lists what the action changed, anything that changed while the page settled after it included.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "description": "A Structural Ref from the page snapshot, or a selector that matches exactly one element."
          },
          "text": {
            "type": "string",
            "description": "Text to type."
          },
          "submit": {
            "type": "boolean",
            "description": "Press Enter after the text; false when omitted."
          },
          "slowly": {
            "type": "boolean",
            "description": "Type one character at a time, for key handlers in the page; false when omitted."
          }
        },
        "required": [
          "target",
          "text"
        ],
        "additionalProperties": false
      },
      "page": "/ayme/"
    }
    fillAction

    Replace the value of one editable element with text. The result's changes_before lists what changed on the page since you last received it, before this action; changes lists what the action changed, anything that changed while the page settled after it included.

    View tool JSON
    {
      "name": "fill",
      "kind": "act",
      "impl": "imperative",
      "description": "Replace the value of one editable element with text. The result's changes_before lists what changed on the page since you last received it, before this action; changes lists what the action changed, anything that changed while the page settled after it included.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "description": "A Structural Ref from the page snapshot, or a selector that matches exactly one element."
          },
          "text": {
            "type": "string",
            "description": "Text to fill."
          }
        },
        "required": [
          "target",
          "text"
        ],
        "additionalProperties": false
      },
      "page": "/ayme/"
    }
    checkAction

    Check one checkbox or radio button. The result's changes_before lists what changed on the page since you last received it, before this action; changes lists what the action changed, anything that changed while the page settled after it included.

    View tool JSON
    {
      "name": "check",
      "kind": "act",
      "impl": "imperative",
      "description": "Check one checkbox or radio button. The result's changes_before lists what changed on the page since you last received it, before this action; changes lists what the action changed, anything that changed while the page settled after it included.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "description": "A Structural Ref from the page snapshot, or a selector that matches exactly one element."
          }
        },
        "required": [
          "target"
        ],
        "additionalProperties": false
      },
      "page": "/ayme/"
    }
    uncheckAction

    Uncheck one checkbox. The result's changes_before lists what changed on the page since you last received it, before this action; changes lists what the action changed, anything that changed while the page settled after it included.

    View tool JSON
    {
      "name": "uncheck",
      "kind": "act",
      "impl": "imperative",
      "description": "Uncheck one checkbox. The result's changes_before lists what changed on the page since you last received it, before this action; changes lists what the action changed, anything that changed while the page settled after it included.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "description": "A Structural Ref from the page snapshot, or a selector that matches exactly one element."
          }
        },
        "required": [
          "target"
        ],
        "additionalProperties": false
      },
      "page": "/ayme/"
    }
    select_optionAction

    Select one or more options of one select element, by value or label. The result's changes_before lists what changed on the page since you last received it, before this action; changes lists what the action changed, anything that changed while the page settled after it included.

    View tool JSON
    {
      "name": "select_option",
      "kind": "act",
      "impl": "imperative",
      "description": "Select one or more options of one select element, by value or label. The result's changes_before lists what changed on the page since you last received it, before this action; changes lists what the action changed, anything that changed while the page settled after it included.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "description": "A Structural Ref from the page snapshot, or a selector that matches exactly one element."
          },
          "values": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Values or labels of the options to select."
          }
        },
        "required": [
          "target",
          "values"
        ],
        "additionalProperties": false
      },
      "page": "/ayme/"
    }
    fill_formAction

    Fill several form fields in one call, in order. Stops at the first field that fails; the fields filled before it stay filled. The result's changes_before lists what changed on the page since you last received it, before this action; changes lists what the action changed, anything that changed while the page settled after it included.

    View tool JSON
    {
      "name": "fill_form",
      "kind": "act",
      "impl": "imperative",
      "description": "Fill several form fields in one call, in order. Stops at the first field that fails; the fields filled before it stay filled. The result's changes_before lists what changed on the page since you last received it, before this action; changes lists what the action changed, anything that changed while the page settled after it included.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "fields": {
            "type": "array",
            "description": "Fields to fill, in order.",
            "items": {
              "type": "object",
              "properties": {
                "target": {
                  "type": "string",
                  "description": "A Structural Ref from the page snapshot, or a selector that matches exactly one element."
                },
                "name": {
                  "type": "string",
                  "description": "Human-readable field name."
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "textbox",
                    "checkbox",
                    "radio",
                    "combobox",
                    "slider"
                  ],
                  "description": "Type of the field."
                },
                "value": {
                  "type": "string",
                  "description": "Value to fill in. For a checkbox or radio, `true` or `false`; for a combobox, the label of the option."
                }
              },
              "required": [
                "target",
                "name",
                "type",
                "value"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "fields"
        ],
        "additionalProperties": false
      },
      "page": "/ayme/"
    }
    press_keyAction

    Press a key on the element that has focus. The result's changes_before lists what changed on the page since you last received it, before this action; changes lists what the action changed, anything that changed while the page settled after it included.

    View tool JSON
    {
      "name": "press_key",
      "kind": "act",
      "impl": "imperative",
      "description": "Press a key on the element that has focus. The result's changes_before lists what changed on the page since you last received it, before this action; changes lists what the action changed, anything that changed while the page settled after it included.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "Name of the key to press or a character to generate, such as `ArrowLeft`, `a` or `ControlOrMeta+A`."
          }
        },
        "required": [
          "key"
        ],
        "additionalProperties": false
      },
      "page": "/ayme/"
    }
    generate_locatorAction

    Generate Playwright locators for elements, to write into Page Object Model code; does not act on the page. Structural Refs are capture-scoped: use them in tool calls, never in code. The locators are what belongs in a page object. Group targets by the container they belong to: a group's locators are relative to its `within` container, ready for a component's `root`, or to the page without one. Selector targets are matched inside the container. Each locator is checked to match exactly its element. A target that cannot be resolved fails on its own entry, and a container on its own group.

    View tool JSON
    {
      "name": "generate_locator",
      "kind": "act",
      "impl": "imperative",
      "description": "Generate Playwright locators for elements, to write into Page Object Model code; does not act on the page. Structural Refs are capture-scoped: use them in tool calls, never in code. The locators are what belongs in a page object. Group targets by the container they belong to: a group's locators are relative to its `within` container, ready for a component's `root`, or to the page without one. Selector targets are matched inside the container. Each locator is checked to match exactly its element. A target that cannot be resolved fails on its own entry, and a container on its own group.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "groups": {
            "type": "array",
            "description": "Groups of targets, one per Page Object class: the page, or a component with its own root.",
            "items": {
              "type": "object",
              "properties": {
                "targets": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "description": "A Structural Ref from the page snapshot, or a selector that matches exactly one element."
                  },
                  "description": "The elements to generate locators for."
                },
                "within": {
                  "type": "string",
                  "description": "The container the locators are relative to, such as a component's root; selector targets are matched inside it. Omitted: relative to the page."
                }
              },
              "required": [
                "targets"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "groups"
        ],
        "additionalProperties": false
      },
      "page": "/ayme/"
    }
    navigateAction

    Open a URL on the page's own origin, or a path relative to the current page. The result's changes_before lists what changed on the page since you last received it, before this action; changes lists what the action changed, anything that changed while the page settled after it included.

    View tool JSON
    {
      "name": "navigate",
      "kind": "act",
      "impl": "imperative",
      "description": "Open a URL on the page's own origin, or a path relative to the current page. The result's changes_before lists what changed on the page since you last received it, before this action; changes lists what the action changed, anything that changed while the page settled after it included.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "The URL to open: a path relative to the current page, or a URL on the page's own origin."
          }
        },
        "required": [
          "url"
        ],
        "additionalProperties": false
      },
      "page": "/ayme/"
    }
    navigate_backAction

    Go back to the previous page in the history. The result's changes_before lists what changed on the page since you last received it, before this action; changes lists what the action changed, anything that changed while the page settled after it included.

    View tool JSON
    {
      "name": "navigate_back",
      "kind": "act",
      "impl": "imperative",
      "description": "Go back to the previous page in the history. The result's changes_before lists what changed on the page since you last received it, before this action; changes lists what the action changed, anything that changed while the page settled after it included.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "page": "/ayme/"
    }
    navigate_forwardAction

    Go forward to the next page in the history. The result's changes_before lists what changed on the page since you last received it, before this action; changes lists what the action changed, anything that changed while the page settled after it included.

    View tool JSON
    {
      "name": "navigate_forward",
      "kind": "act",
      "impl": "imperative",
      "description": "Go forward to the next page in the history. The result's changes_before lists what changed on the page since you last received it, before this action; changes lists what the action changed, anything that changed while the page settled after it included.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "page": "/ayme/"
    }
    reloadAction

    Reload the current page. The result's changes_before lists what changed on the page since you last received it, before this action; changes lists what the action changed, anything that changed while the page settled after it included.

    View tool JSON
    {
      "name": "reload",
      "kind": "act",
      "impl": "imperative",
      "description": "Reload the current page. The result's changes_before lists what changed on the page since you last received it, before this action; changes lists what the action changed, anything that changed while the page settled after it included.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "page": "/ayme/"
    }
    ListPage.addItemAnswer

    Run addItem.

    View tool JSON
    {
      "name": "ListPage.addItem",
      "kind": "answer",
      "impl": "imperative",
      "description": "Run addItem.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string"
          }
        },
        "required": [
          "text"
        ],
        "additionalProperties": false
      },
      "page": "/ayme/"
    }
    ListPage.items.archiveAnswer

    An archived item can't be renamed or restored.

    View tool JSON
    {
      "name": "ListPage.items.archive",
      "kind": "answer",
      "impl": "imperative",
      "description": "An archived item can't be renamed or restored.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "ref": {
            "type": "string",
            "description": "Structural Ref of the instance's Page Object Root, as labelled in the page state. Also takes the ref of an instance of the same class nested under one, at any depth."
          },
          "args": {
            "type": "object",
            "properties": {},
            "required": [],
            "additionalProperties": false
          }
        },
        "required": [
          "ref"
        ],
        "additionalProperties": false
      },
      "page": "/ayme/"
    }
    ListPage.items.renameAnswer

    Run rename.

    View tool JSON
    {
      "name": "ListPage.items.rename",
      "kind": "answer",
      "impl": "imperative",
      "description": "Run rename.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "ref": {
            "type": "string",
            "description": "Structural Ref of the instance's Page Object Root, as labelled in the page state. Also takes the ref of an instance of the same class nested under one, at any depth."
          },
          "args": {
            "type": "object",
            "properties": {
              "text": {
                "type": "string"
              }
            },
            "required": [
              "text"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "ref",
          "args"
        ],
        "additionalProperties": false
      },
      "page": "/ayme/"
    }