All Products
Search
Document Center

AgentBay:Computer Use Windows

Last Updated:Dec 23, 2025

Open Capabilities Overview

Tool

Name

Description

Support notes

System

create_sandbox

Create a new AgentBay sandbox and return its ID.

Supported

get_sandbox_url

Get the runtime URL when you need to access Wuying MCP. Each URL can be used only once and expires immediately after use.

Supported

system_screenshot

Capture a full-screen screenshot of the current display and return a shareable URL. The screenshot is automatically processed and securely stored. For security, the URL expires automatically after 64 minutes.

Supported

kill_sandbox

Release resources after task completion.

Supported

customized_screenshot

Capture a screenshot of the current desktop and upload it to a specified URL. Use this tool to quickly share screen content for troubleshooting, collaboration, or documentation. Screenshots are saved in PNG format and uploaded to the provided uploadUrl. Set the name of the intermediate file before upload using the fileName parameter. If the filename does not include an extension, the system automatically appends the .png extension.

Supported

shell

Execute cmd commands on Windows with configurable timeout and return command output or error message.

Supported

Playwright

browser_close

Close the page

Supported

browser_wait

Wait for a specified time (in seconds)

Support

browser_resize

Resize the browser window

Supported

browser_console_messages

Return all console messages

Supported

browser_handle_dialog

Handle a dialog box

Supported

browser_file_upload

Upload one or more files

Supported

browser_install

Install the browser specified in the configuration. Call this tool if you receive an error that the browser is not installed.

Supported

browser_press_key

Press a key on the keyboard

Supported

browser_navigate

Navigate to a URL

Supported

browser_navigate_back

Go back to the previous page

Supported

browser_navigate_forward

Go forward to the next page

Supported

browser_network_requests

Return all network requests since the page loaded.

Supported

browser_pdf_save

Save the page as a PDF

Supported

browser_snapshot

Capture an accessibility snapshot of the current page

Supported

browser_click

Perform a click action on a web page

Supported

browser_drag

Perform a drag-and-drop action between two elements

Supported

browser_hover

Hover the mouse over a page element

Supported

browser_type

Type text into an editable element

Supported

browser_select_option

Select an option in a dropdown menu

Supported

browser_take_screenshot

Take a screenshot of the current page. You cannot perform actions based on the screenshot. Use browser_snapshot for actions.

Supported

browser_tab_list

List browser tabs

Supported

browser_tab_new

Open a new tab

Supported

browser_tab_select

Select a tab by index

Supported

browser_tab_close

Close a tab

Supported

browser_generate_playwright_test

Generate a Playwright test for a given scenario

Supported

Shell

shell

Execute shell commands on Windows and return output or error.

Supported

FileSystem

create_directory

Create a new directory or ensure a directory exists. Create multiple nested directories in one operation. If the directory already exists, the operation succeeds silently. Ideal for setting up project directory structures or ensuring required paths exist. Works only in allowed directories.

Supported

edit_file

Make line-based edits to a text file. Each edit replaces an exact sequence of lines with new content. Returns a git-style diff showing the changes made. Works only in allowed directories.

Supported

get_file_info

Retrieve detailed metadata for a file or directory. Returns comprehensive information including size, creation time, last modified time, permissions, and type. Ideal for understanding file characteristics without reading the actual content. Works only in allowed directories.

Supported

read_file

Read the contents of a file from the file system. Specify an optional offset (in bytes) to start reading from a specific position and an optional length (in bytes) to limit the number of bytes read. If length is omitted or set to 0, read the file to the end. Handles various text encodings and provides detailed error messages if the file cannot be read. Works only in allowed directories.

Supported

read_multiple_files

Read the contents of multiple files simultaneously. More efficient than reading files one by one when analyzing or comparing multiple files. Each file's content is returned with its path as a reference. A failure to read one file does not stop the entire operation. Works only in allowed directories.

Supported

list_directory

Get a detailed list of all files and directories at the specified path. Results clearly distinguish files and directories using [FILE] and [DIR] prefixes. Useful for understanding directory structure and locating specific files. Works only in allowed directories.

Supported

move_file

Move or rename files and directories. Move a file to a different directory and rename it in one operation. The operation fails if the destination already exists. Works across directories and supports simple renaming within the same directory. Both source and destination must be in allowed directories.

Supported

search_files

Recursively search for files and directories matching a pattern. Search all subdirectories from the starting path. The search is case-insensitive and matches partial names. Return the full paths of all matching items. Ideal for finding files when the exact location is unknown. Searches only in allowed directories.

Supported

write_file

Create a new file or write content to an existing file. Choose to overwrite the file completely or append to the end by specifying the mode parameter. Use overwrite mode (default) to clear the file before writing, or append mode to add content to the end. Handles text content with proper encoding. Works only in allowed directories.

Supported

System

Name

Description

Parameters

create_sandbox

Create a new AgentBay sandbox and return its ID.

{
  "type": "object",
  "properties": {},
  "required": []
}

get_sandbox_url

Get the runtime URL when you need to access Wuying MCP. Each URL can be used only once and expires immediately after use.

{
  "type": "object",
  "properties": {
    "sandbox_id": {
      "type": "string",
      "title": "Sandbox Id",
      "description": "The sandbox ID is the identifier for the tool execution environment. This sandbox_id comes from the create_sandbox tool."
    }
  },
  "required": [
    "sandbox_id"
  ]
}

system_screenshot

Capture a full-screen screenshot of the current display and return a shareable URL. The screenshot is automatically processed and securely stored. For security, the URL expires automatically after 64 minutes.

{
  "type": "object",
  "properties": {
    "sandbox_id": {
      "type": "string",
      "title": "Sandbox Id",
      "description": "The sandbox ID is the identifier for the tool execution environment. This sandbox_id comes from the create_sandbox tool."
    }
  },
  "required": [
    "sandbox_id"
  ]
}

kill_sandbox

Release resources after task completion.

{
  "type": "object",
  "properties": {
    "sandbox_id": {
      "type": "string",
      "title": "Sandbox Id",
      "description": "The sandbox ID is the identifier for the tool execution environment. This sandbox_id comes from the create_sandbox tool."
    }
  },
  "required": [
    "sandbox_id"
  ]
}

customized_screenshot

Capture a screenshot of the current desktop and upload it to a specified URL. Use this tool to quickly share screen content for troubleshooting, collaboration, or documentation. Screenshots are saved in PNG format and uploaded to the provided uploadUrl. Set the name of the intermediate file before upload using the fileName parameter. If the filename does not include an extension, the system automatically appends the .png extension.

{
  "type": "object",
  "required": [
    "sandbox_id",
    "uploadUrl",
    "fileName"
  ],
  "properties": {
    "sandbox_id": {
      "type": "string",
      "title": "Sandbox Id",
      "description": "The sandbox ID is the identifier for the tool execution environment. This sandbox_id comes from the create_sandbox tool."
    },
    "fileName": {
      "description": "The fileName for the intermediate file. The system will append .png if missing.",
      "type": "string"
    },
    "uploadUrl": {
      "description": "The destination URL to upload the screenshot PNG file.",
      "type": "string"
    }
  }
}

shell

Execute cmd commands on Windows with configurable timeout and return command output or error message.

{
  "type": "object",
  "required": [
    "sandbox_id",
    "command",
    "timeout_ms"
  ],
  "properties": {
    "sandbox_id": {
      "type": "string",
      "title": "Sandbox Id",
      "description": "The sandbox ID is the identifier for the tool execution environment. This sandbox_id comes from the create_sandbox tool."
    },
    "timeout_ms": {
      "default": 1000,
      "description": "Command execution timeout (unit: milliseconds). If not specified, the default value (such as 1000 milliseconds) is used",
      "type": "integer"
    },
    "command": {
      "description": "client input command",
      "type": "string"
    }
  }
}

Playwright

Name

Description

Parameters

browser_close

Close the page

{
  "inputSchema": {
    "type": "object",
    "properties": {},
    "additionalProperties": false,
    "$schema": "http://json-schema.org/draft-07/schema#"
  }
}

browser_wait

Wait for a specified time (in seconds)

{
  "inputSchema": {
    "type": "object",
    "properties": {
      "time": {
        "type": "number",
        "description": "Time to wait in seconds"
      }
    },
    "required": ["time"],
    "additionalProperties": false,
    "$schema": "http://json-schema.org/draft-07/schema#"
  }
}

browser_resize

Resize the browser window

{
  "inputSchema": {
    "type": "object",
    "properties": {
      "width": {
        "type": "number",
        "description": "Width of the browser window"
      },
      "height": {
        "type": "number",
        "description": "Height of the browser window"
      }
    },
    "required": ["width", "height"],
    "additionalProperties": false,
    "$schema": "http://json-schema.org/draft-07/schema#"
  }
}

browser_console_messages

Return all console messages

{
  "inputSchema": {
    "type": "object",
    "properties": {},
    "additionalProperties": false,
    "$schema": "http://json-schema.org/draft-07/schema#"
  }
}

browser_handle_dialog

Handle a dialog box

{
  "inputSchema": {
    "type": "object",
    "properties": {
      "accept": {
        "type": "boolean",
        "description": "Whether to accept the dialog."
      },
      "promptText": {
        "type": "string",
        "description": "Text for the prompt in a prompt dialog."
      }
    },
    "required": ["accept"],
    "additionalProperties": false,
    "$schema": "http://json-schema.org/draft-07/schema#"
  }
}

browser_file_upload

Upload one or more files

{
  "inputSchema": {
    "type": "object",
    "properties": {
      "paths": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Absolute paths of files to upload. Can be a single file or multiple files."
      }
    },
    "required": ["paths"],
    "additionalProperties": false,
    "$schema": "http://json-schema.org/draft-07/schema#"
  }
}

browser_install

Install the browser specified in the configuration. Call this tool if you receive an error that the browser is not installed.

{
  "inputSchema": {
    "type": "object",
    "properties": {},
    "additionalProperties": false,
    "$schema": "http://json-schema.org/draft-07/schema#"
  }
}

browser_press_key

Press a key on the keyboard

{
  "inputSchema": {
    "type": "object",
    "properties": {
      "key": {
        "type": "string",
        "description": "Name of the key to press or character to generate, such as `ArrowLeft` or `a`"
      }
    },
    "required": ["key"],
    "additionalProperties": false,
    "$schema": "http://json-schema.org/draft-07/schema#"
  }
}

browser_navigate

Navigate to a URL

{
  "inputSchema": {
    "type": "object",
    "properties": {
      "url": {
        "type": "string",
        "description": "URL to navigate to"
      }
    },
    "required": ["url"],
    "additionalProperties": false,
    "$schema": "http://json-schema.org/draft-07/schema#"
  }
}

browser_navigate_back

Go back to the previous page

{
  "inputSchema": {
    "type": "object",
    "properties": {},
    "additionalProperties": false,
    "$schema": "http://json-schema.org/draft-07/schema#"
  }
}

browser_navigate_forward

Go forward to the next page

{
  "inputSchema": {
    "type": "object",
    "properties": {},
    "additionalProperties": false,
    "$schema": "http://json-schema.org/draft-07/schema#"
  }
}

browser_network_requests

Return all network requests since the page loaded.

{
  "inputSchema": {
    "type": "object",
    "properties": {},
    "additionalProperties": false,
    "$schema": "http://json-schema.org/draft-07/schema#"
  }
}

browser_pdf_save

Save the page as a PDF

{
  "inputSchema": {
    "type": "object",
    "properties": {},
    "additionalProperties": false,
    "$schema": "http://json-schema.org/draft-07/schema#"
  }
}

browser_snapshot

Capture an accessibility snapshot of the current page

{
  "inputSchema": {
    "type": "object",
    "properties": {},
    "additionalProperties": false,
    "$schema": "http://json-schema.org/draft-07/schema#"
  }
}

browser_click

Perform a click action on a web page

{
  "inputSchema": {
    "type": "object",
    "properties": {
      "element": {
        "type": "string",
        "description": "Human-readable description of the element used to obtain permission to interact with it"
      },
      "ref": {
        "type": "string",
        "description": "Exact reference to the target element from the page snapshot"
      }
    },
    "required": ["element", "ref"],
    "additionalProperties": false,
    "$schema": "http://json-schema.org/draft-07/schema#"
  }
}

browser_drag

Perform a drag-and-drop action between two elements

{
  "inputSchema": {
    "type": "object",
    "properties": {
      "startElement": {
        "type": "string",
        "description": "Human-readable description of the source element used to obtain permission to interact with it"
      },
      "startRef": {
        "type": "string",
        "description": "Exact reference to the source element from the page snapshot"
      },
      "endElement": {
        "type": "string",
        "description": "Human-readable description of the target element used to obtain permission to interact with it"
      },
      "endRef": {
        "type": "string",
        "description": "Exact reference to the target element from the page snapshot"
      }
    },
    "required": ["startElement", "startRef", "endElement", "endRef"],
    "additionalProperties": false,
    "$schema": "http://json-schema.org/draft-07/schema#"
  }
}

browser_hover

Hover the mouse over a page element

{
  "inputSchema": {
    "type": "object",
    "properties": {
      "element": {
        "type": "string",
        "description": "Human-readable description of the element used to obtain permission to interact with it"
      },
      "ref": {
        "type": "string",
        "description": "Exact reference to the target element from the page snapshot"
      }
    },
    "required": ["element", "ref"],
    "additionalProperties": false,
    "$schema": "http://json-schema.org/draft-07/schema#"
  }
}

browser_type

Type text into an editable element

{
  "inputSchema": {
    "type": "object",
    "properties": {
      "element": {
        "type": "string",
        "description": "Human-readable description of the element used to obtain permission to interact with it"
      },
      "ref": {
        "type": "string",
        "description": "Exact reference to the target element from the page snapshot"
      },
      "text": {
        "type": "string",
        "description": "Text to type into the element"
      },
      "submit": {
        "type": "boolean",
        "description": "Whether to submit the entered text (press Enter after typing)"
      },
      "slowly": {
        "type": "boolean",
        "description": "Whether to type one character at a time. Useful for triggering key handlers on the page. By default, the entire text is filled in at once."
      }
    },
    "required": ["element", "ref", "text"],
    "additionalProperties": false,
    "$schema": "http://json-schema.org/draft-07/schema#"
  }
}

browser_select_option

Select an option in a dropdown menu

{
  "inputSchema": {
    "type": "object",
    "properties": {
      "element": {
        "type": "string",
        "description": "Human-readable description of the element used to obtain permission to interact with it"
      },
      "ref": {
        "type": "string",
        "description": "Exact reference to the target element from the page snapshot"
      },
      "values": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Array of values to select in the dropdown. Can be a single value or multiple values."
      }
    },
    "required": ["element", "ref", "values"],
    "additionalProperties": false,
    "$schema": "http://json-schema.org/draft-07/schema#"
  }
}

browser_take_screenshot

Take a screenshot of the current page. You cannot perform actions based on the screenshot. Use browser_snapshot for actions.

{
  "inputSchema": {
    "type": "object",
    "properties": {
      "raw": {
        "type": "boolean",
        "description": "Whether to return uncompressed data in PNG format. Default is false, which returns a JPEG image."
      },
      "element": {
        "type": "string",
        "description": "Human-readable description of the element used to obtain permission to take a screenshot of it. If not provided, the screenshot captures the viewport. If element is provided, ref must also be provided."
      },
      "ref": {
        "type": "string",
        "description": "Exact reference to the target element from the page snapshot. If not provided, the screenshot captures the viewport. If ref is provided, element must also be provided."
      }
    },
    "additionalProperties": false,
    "$schema": "http://json-schema.org/draft-07/schema#"
  }
}

browser_tab_list

List browser tabs

{
  "inputSchema": {
    "type": "object",
    "properties": {},
    "additionalProperties": false,
    "$schema": "http://json-schema.org/draft-07/schema#"
  }
}

browser_tab_new

Open a new tab

{
  "inputSchema": {
    "type": "object",
    "properties": {
      "url": {
        "type": "string",
        "description": "URL to navigate to in the new tab. If not provided, the new tab will be blank."
      }
    },
    "additionalProperties": false,
    "$schema": "http://json-schema.org/draft-07/schema#"
  }
}

browser_tab_select

Select a tab by index

{
  "inputSchema": {
    "type": "object",
    "properties": {
      "index": {
        "type": "number",
        "description": "Index of the tab to select"
      }
    },
    "required": ["index"],
    "additionalProperties": false,
    "$schema": "http://json-schema.org/draft-07/schema#"
  }
}

browser_tab_close

Close a tab

{
  "inputSchema": {
    "type": "object",
    "properties": {
      "index": {
        "type": "number",
        "description": "Index of the tab to close. Closes the current tab if not provided."
      }
    },
    "additionalProperties": false,
    "$schema": "http://json-schema.org/draft-07/schema#"
  }
}

browser_generate_playwright_test

Generate a Playwright test for a given scenario

{
  "inputSchema": {
    "type": "object",
    "properties": {
      "name": {
        "type": "string",
        "description": "Name of the test"
      },
      "description": {
        "type": "string",
        "description": "Description of the test"
      },
      "steps": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Steps of the test"
      }
    },
    "required": ["name", "description", "steps"],
    "additionalProperties": false,
    "$schema": "http://json-schema.org/draft-07/schema#"
  }
}

Shell

Name

Description

Parameters

shell

Execute shell commands on Windows and return output or error.

{
  "inputSchema": {
    "properties": {
      "command": {
        "description": "Command entered by the client",
        "type": "string"
      },
      "timeout_ms": {
        "default": 1000,
        "description": "Command execution timeout (unit: milliseconds). If not specified, the default value (such as 1000 milliseconds) is used",
        "type": "integer"
      }
    },
    "required": ["command", "timeout_ms"],
    "type": "object"
  }
}

FileSystem

Name

Description

Parameters

create_directory

Create a new directory or ensure a directory exists. Create multiple nested directories in one operation. If the directory already exists, the operation succeeds silently. Ideal for setting up project directory structures or ensuring required paths exist. Works only in allowed directories.

{
  "inputSchema": {
    "properties": {
      "path": {
        "description": "Directory path to create.",
        "type": "string"
      }
    },
    "required": ["path"],
    "type": "object"
  }
}

edit_file

Make line-based edits to a text file. Each edit replaces an exact sequence of lines with new content. Returns a git-style diff showing the changes made. Works only in allowed directories.

{
  "inputSchema": {
    "properties": {
      "dryRun": {
        "default": false,
        "description": "Preview changes using git-style diff format",
        "type": "boolean"
      },
      "edits": {
        "items": {
          "properties": {
            "newText": {
              "description": "Text to replace with",
              "type": "string"
            },
            "oldText": {
              "description": "Text to search for - must match exactly",
              "type": "string"
            }
          },
          "required": ["oldText", "newText"],
          "type": "object"
        },
        "type": "array"
      },
      "path": {
        "description": "File path to edit.",
        "type": "string"
      }
    },
    "required": ["path", "edits"],
    "type": "object"
  }
}

get_file_info

Retrieve detailed metadata for a file or directory. Returns comprehensive information including size, creation time, last modified time, permissions, and type. Ideal for understanding file characteristics without reading the actual content. Works only in allowed directories.

{
  "inputSchema": {
    "properties": {
      "path": {
        "description": "File or directory path to inspect.",
        "type": "string"
      }
    },
    "required": ["path"],
    "type": "object"
  }
}

read_file

Read the contents of a file from the file system. Specify an optional offset (in bytes) to start reading from a specific position and an optional length (in bytes) to limit the number of bytes read. If length is omitted or set to 0, read the file to the end. Handles various text encodings and provides detailed error messages if the file cannot be read. Works only in allowed directories.

{
  "inputSchema": {
    "properties": {
      "length": {
        "description": "Number of bytes to read. If omitted or 0, read to end of file.",
        "minimum": 0,
        "type": "integer"
      },
      "offset": {
        "default": 0,
        "description": "Start reading from this byte offset.",
        "minimum": 0,
        "type": "integer"
      },
      "path": {
        "description": "File path to read.",
        "type": "string"
      }
    },
    "required": ["path"],
    "type": "object"
  }
}

read_multiple_files

Read the contents of multiple files simultaneously. More efficient than reading files one by one when analyzing or comparing multiple files. Each file's content is returned with its path as a reference. A failure to read one file does not stop the entire operation. Works only in allowed directories.

{
  "inputSchema": {
    "properties": {
      "paths": {
        "description": "Array of file paths to read.",
        "items": {
          "type": "string"
        },
        "type": "array"
      }
    },
    "required": ["paths"],
    "type": "object"
  }
}

list_directory

Get a detailed list of all files and directories at the specified path. Results clearly distinguish files and directories using [FILE] and [DIR] prefixes. Useful for understanding directory structure and locating specific files. Works only in allowed directories.

{
  "inputSchema": {
    "properties": {
      "path": {
        "description": "Directory path to list.",
        "type": "string"
      }
    },
    "required": ["path"],
    "type": "object"
  }
}

move_file

Move or rename files and directories. Move a file to a different directory and rename it in one operation. The operation fails if the destination already exists. Works across directories and supports simple renaming within the same directory. Both source and destination must be in allowed directories.

{
  "inputSchema": {
    "properties": {
      "destination": {
        "description": "Destination file or directory path.",
        "type": "string"
      },
      "source": {
        "description": "Source file or directory path.",
        "type": "string"
      }
    },
    "required": ["source", "destination"],
    "type": "object"
  }
}

search_files

Recursively search for files and directories matching a pattern. Search all subdirectories from the starting path. The search is case-insensitive and matches partial names. Return the full paths of all matching items. Ideal for finding files when the exact location is unknown. Searches only in allowed directories.

{
  "inputSchema": {
    "properties": {
      "excludePatterns": {
        "default": [],
        "description": "Patterns to exclude (optional).",
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "path": {
        "description": "Directory path to start search.",
        "type": "string"
      },
      "pattern": {
        "description": "Pattern to match.",
        "type": "string"
      }
    },
    "required": ["path", "pattern"],
    "type": "object"
  }
}

write_file

Create a new file or write content to an existing file. Choose to overwrite the file completely or append to the end by specifying the mode parameter. Use overwrite mode (default) to clear the file before writing, or append mode to add content to the end. Handles text content with proper encoding. Works only in allowed directories.

{
  "inputSchema": {
    "properties": {
      "content": {
        "description": "Content to write.",
        "type": "string"
      },
      "mode": {
        "default": "overwrite",
        "description": "Write mode: 'overwrite' clears the file, 'append' adds to the end.",
        "enum": ["overwrite", "append"],
        "type": "string"
      },
      "path": {
        "description": "File path to write.",
        "type": "string"
      }
    },
    "required": ["path", "content"],
    "type": "object"
  }
}

MCP Tool List

{
  "playwright": {
    "tools": [
      {
        "name": "browser_close",
        "description": "Close the page",
        "inputSchema": {
          "type": "object",
          "properties": {

          },
          "additionalProperties": false,
          "$schema": "http://json-schema.org/draft-07/schema#"
        }
      },
      {
        "name": "browser_wait",
        "description": "Wait for a specified time in seconds",
        "inputSchema": {
          "type": "object",
          "properties": {
            "time": {
              "type": "number",
              "description": "The time to wait in seconds"
            }
          },
          "required": [
            "time"
          ],
          "additionalProperties": false,
          "$schema": "http://json-schema.org/draft-07/schema#"
        }
      },
      {
        "name": "browser_resize",
        "description": "Resize the browser window",
        "inputSchema": {
          "type": "object",
          "properties": {
            "width": {
              "type": "number",
              "description": "Width of the browser window"
            },
            "height": {
              "type": "number",
              "description": "Height of the browser window"
            }
          },
          "required": [
            "width",
            "height"
          ],
          "additionalProperties": false,
          "$schema": "http://json-schema.org/draft-07/schema#"
        }
      },
      {
        "name": "browser_console_messages",
        "description": "Returns all console messages",
        "inputSchema": {
          "type": "object",
          "properties": {

          },
          "additionalProperties": false,
          "$schema": "http://json-schema.org/draft-07/schema#"
        }
      },
      {
        "name": "browser_handle_dialog",
        "description": "Handle a dialog",
        "inputSchema": {
          "type": "object",
          "properties": {
            "accept": {
              "type": "boolean",
              "description": "Whether to accept the dialog."
            },
            "promptText": {
              "type": "string",
              "description": "The text of the prompt in case of a prompt dialog."
                        }
                    },
                    "required": [
                        "accept"
                    ],
                    "additionalProperties": false,
                    "$schema": "http://json-schema.org/draft-07/schema#"
                }
            },
            {
                "name": "browser_file_upload",
                "description": "Upload one or multiple files",
                "inputSchema": {
                    "type": "object",
                    "properties": {
                        "paths": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            },
                            "description": "The absolute paths to the files to upload. Can be a single file or multiple files."
                        }
                    },
                    "required": [
                        "paths"
                    ],
                    "additionalProperties": false,
                    "$schema": "http://json-schema.org/draft-07/schema#"
                }
            },
            {
                "name": "browser_install",
                "description": "Install the browser specified in the config. Call this if you get an error about the browser not being installed.",
                "inputSchema": {
                    "type": "object",
                    "properties": {

                    },
                    "additionalProperties": false,
                    "$schema": "http://json-schema.org/draft-07/schema#"
                }
            },
            {
                "name": "browser_press_key",
                "description": "Press a key on the keyboard",
                "inputSchema": {
                    "type": "object",
                    "properties": {
                        "key": {
                            "type": "string",
                            "description": "Name of the key to press or a character to generate, such as `ArrowLeft` or `a`"
                        }
                    },
                    "required": [
                        "key"
                    ],
                    "additionalProperties": false,
                    "$schema": "http://json-schema.org/draft-07/schema#"
                }
            },
            {
                "name": "browser_navigate",
                "description": "Navigate to a URL",
                "inputSchema": {
                    "type": "object",
                    "properties": {
                        "url": {
                            "type": "string",
                            "description": "The URL to navigate to"
                        }
                    },
                    "required": [
                        "url"
                    ],
                    "additionalProperties": false,
                    "$schema": "http://json-schema.org/draft-07/schema#"
                }
            },
            {
                "name": "browser_navigate_back",
                "description": "Go back to the previous page",
                "inputSchema": {
                    "type": "object",
                    "properties": {

                    },
                    "additionalProperties": false,
                    "$schema": "http://json-schema.org/draft-07/schema#"
                }
            },
            {
                "name": "browser_navigate_forward",
                "description": "Go forward to the next page",
                "inputSchema": {
                    "type": "object",
                    "properties": {

                    },
                    "additionalProperties": false,
                    "$schema": "http://json-schema.org/draft-07/schema#"
                }
            },
            {
                "name": "browser_network_requests",
                "description": "Returns all network requests since loading the page",
                "inputSchema": {
                    "type": "object",
                    "properties": {

                    },
                    "additionalProperties": false,
                    "$schema": "http://json-schema.org/draft-07/schema#"
                }
            },
            {
                "name": "browser_pdf_save",
                "description": "Save page as PDF",
                "inputSchema": {
                    "type": "object",
                    "properties": {

                    },
                    "additionalProperties": false,
                    "$schema": "http://json-schema.org/draft-07/schema#"
                }
            },
            {
                "name": "browser_snapshot",
                "description": "Capture accessibility snapshot of the current page, this is better than screenshot",
                "inputSchema": {
                    "type": "object",
                    "properties": {

                    },
                    "additionalProperties": false,
                    "$schema": "http://json-schema.org/draft-07/schema#"
                }
            },
            {
                "name": "browser_click",
                "description": "Perform click on a web page",
                "inputSchema": {
                    "type": "object",
                    "properties": {
                        "element": {
                            "type": "string",
                            "description": "Human-readable element description used to obtain permission to interact with the element"
                        },
                        "ref": {
                            "type": "string",
                            "description": "Exact target element reference from the page snapshot"
                        }
                    },
                    "required": [
                        "element",
                        "ref"
                    ],
                    "additionalProperties": false,
                    "$schema": "http://json-schema.org/draft-07/schema#"
                }
            },
            {
                "name": "browser_drag",
                "description": "Perform drag and drop between two elements",
                "inputSchema": {
                    "type": "object",
                    "properties": {
                        "startElement": {
                            "type": "string",
                            "description": "Human-readable source element description used to obtain the permission to interact with the element"
                        },
                        "startRef": {
                            "type": "string",
                            "description": "Exact source element reference from the page snapshot"
                        },
                        "endElement": {
                            "type": "string",
                            "description": "Human-readable target element description used to obtain the permission to interact with the element"
                        },
                        "endRef": {
                            "type": "string",
                            "description": "Exact target element reference from the page snapshot"
                        }
                    },
                    "required": [
                        "startElement",
                        "startRef",
                        "endElement",
                        "endRef"
                    ],
                    "additionalProperties": false,
                    "$schema": "http://json-schema.org/draft-07/schema#"
                }
            },
            {
                "name": "browser_hover",
                "description": "Hover over element on page",
                "inputSchema": {
                    "type": "object",
                    "properties": {
                        "element": {
                            "type": "string",
                            "description": "Human-readable element description used to obtain permission to interact with the element"
                        },
                        "ref": {
                            "type": "string",
                            "description": "Exact target element reference from the page snapshot"
                        }
                    },
                    "required": [
                        "element",
                        "ref"
                    ],
                    "additionalProperties": false,
                    "$schema": "http://json-schema.org/draft-07/schema#"
                }
            },
            {
                "name": "browser_type",
                "description": "Type text into editable element",
                "inputSchema": {
                    "type": "object",
                    "properties": {
                        "element": {
                            "type": "string",
                            "description": "Human-readable element description used to obtain permission to interact with the element"
                        },
                        "ref": {
                            "type": "string",
                            "description": "Exact target element reference from the page snapshot"
                        },
                        "text": {
                            "type": "string",
                            "description": "Text to type into the element"
                        },
                        "submit": {
                            "type": "boolean",
                            "description": "Whether to submit entered text (press Enter after)"
                        },
                        "slowly": {
                            "type": "boolean",
                            "description": "Whether to type one character at a time. Useful for triggering key handlers in the page. By default entire text is filled in at once."
                        }
                    },
                    "required": [
                        "element",
                        "ref",
                        "text"
                    ],
                    "additionalProperties": false,
                    "$schema": "http://json-schema.org/draft-07/schema#"
                }
            },
            {
                "name": "browser_select_option",
                "description": "Select an option in a dropdown",
                "inputSchema": {
                    "type": "object",
                    "properties": {
                        "element": {
                            "type": "string",
                            "description": "Human-readable element description used to obtain permission to interact with the element"
                        },
                        "ref": {
                            "type": "string",
                            "description": "Exact target element reference from the page snapshot"
                        },
                        "values": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            },
                            "description": "Array of values to select in the dropdown. This can be a single value or multiple values."
                        }
                    },
                    "required": [
                        "element",
                        "ref",
                        "values"
                    ],
                    "additionalProperties": false,
                    "$schema": "http://json-schema.org/draft-07/schema#"
                }
            },
            {
                "name": "browser_take_screenshot",
                "description": "Take a screenshot of the current page. You can't perform actions based on the screenshot, use browser_snapshot for actions.",
                "inputSchema": {
                    "type": "object",
                    "properties": {
                        "raw": {
                            "type": "boolean",
                            "description": "Whether to return without compression (in PNG format). Default is false, which returns a JPEG image."
                        },
                        "element": {
                            "type": "string",
                            "description": "Human-readable element description used to obtain permission to screenshot the element. If not provided, the screenshot will be taken of viewport. If element is provided, ref must be provided too."
                        },
                        "ref": {
                            "type": "string",
                            "description": "Exact target element reference from the page snapshot. If not provided, the screenshot will be taken of viewport. If ref is provided, element must be provided too."
                        }
                    },
                    "additionalProperties": false,
                    "$schema": "http://json-schema.org/draft-07/schema#"
                }
            },
            {
                "name": "browser_tab_list",
                "description": "List browser tabs",
                "inputSchema": {
                    "type": "object",
                    "properties": {

                    },
                    "additionalProperties": false,
                    "$schema": "http://json-schema.org/draft-07/schema#"
                }
            },
            {
                "name": "browser_tab_new",
                "description": "Open a new tab",
                "inputSchema": {
                    "type": "object",
                    "properties": {
                        "url": {
                            "type": "string",
                            "description": "The URL to navigate to in the new tab. If not provided, the new tab will be blank."
                        }
                    },
                    "additionalProperties": false,
                    "$schema": "http://json-schema.org/draft-07/schema#"
                }
            },
            {
                "name": "browser_tab_select",
                "description": "Select a tab by index",
                "inputSchema": {
                    "type": "object",
                    "properties": {
                        "index": {
                            "type": "number",
                            "description": "The index of the tab to select"
                        }
                    },
                    "required": [
                        "index"
                    ],
                    "additionalProperties": false,
                    "$schema": "http://json-schema.org/draft-07/schema#"
                }
            },
            {
                "name": "browser_tab_close",
                "description": "Close a tab",
                "inputSchema": {
                    "type": "object",
                    "properties": {
                        "index": {
                            "type": "number",
                            "description": "The index of the tab to close. Closes current tab if not provided."
                        }
                    },
                    "additionalProperties": false,
                    "$schema": "http://json-schema.org/draft-07/schema#"
                }
            },
            {
                "name": "browser_generate_playwright_test",
                "description": "Generate a Playwright test for given scenario",
                "inputSchema": {
                    "type": "object",
                    "properties": {
                        "name": {
                            "type": "string",
                            "description": "The name of the test"
                        },
                        "description": {
                            "type": "string",
                            "description": "The description of the test"
                        },
                        "steps": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            },
                            "description": "The steps of the test"
                        }
                    },
                    "required": [
                        "name",
                        "description",
                        "steps"
                    ],
                    "additionalProperties": false,
                    "$schema": "http://json-schema.org/draft-07/schema#"
                }
            }
        ]
    },
    "ShellServer": {
        "tools": [
            {
                "name": "shell",
                "description": "Executes an shell command with timeout and returns the output or an error on windows platform.",
                "inputSchema": {
                    "properties": {
                        "command": {
                            "description": "client input command",
                            "type": "string"
                        },
                        "timeout_ms": {
                            "default": 1000,
                            "description": "Command execution timeout (unit: milliseconds). If not specified, the default value (such as 1000 milliseconds) is used",
                            "type": "integer"
                        }
                    },
                    "required": [
                        "command",
                        "timeout_ms"
                    ],
                    "type": "object"
                }
            }
        ]
    },
    "FileSystem": {
        "tools": [
            {
                "name": "create_directory",
                "description": "Create a new directory or ensure a directory exists. Can create multiple nested directories in one operation. If the directory already exists, this operation will succeed silently. Perfect for setting up directory structures for projects or ensuring required paths exist. Only works within allowed directories.",
                "inputSchema": {
                    "properties": {
                        "path": {
                            "description": "Directory path to create.",
                            "type": "string"
                        }
                    },
                    "required": [
                        "path"
                    ],
                    "type": "object"
                }
            },
            {
                "name": "edit_file",
                "description": "Make line-based edits to a text file. Each edit replaces exact line sequences with new content. Returns a git-style diff showing the changes made. Only works within allowed directories.",
                "inputSchema": {
                    "properties": {
                        "dryRun": {
                            "default": false,
                            "description": "Preview changes using git-style diff format",
                            "type": "boolean"
                        },
                        "edits": {
                            "items": {
                                "properties": {
                                    "newText": {
                                        "description": "Text to replace with",
                                        "type": "string"
                                    },
                                    "oldText": {
                                        "description": "Text to search for - must match exactly",
                                        "type": "string"
                                    }
                                },
                                "required": [
                                    "oldText",
                                    "newText"
                                ],
                                "type": "object"
                            },
                            "type": "array"
                        },
                        "path": {
                            "description": "File path to edit.",
                            "type": "string"
                        }
                    },
                    "required": [
                        "path",
                        "edits"
                    ],
                    "type": "object"
                }
            },
            {
                "name": "get_file_info",
                "description": "Retrieve detailed metadata about a file or directory. Returns comprehensive information including size, creation time, last modified time, permissions, and type. This tool is perfect for understanding file characteristics without reading the actual content. Only works within allowed directories.",
                "inputSchema": {
                    "properties": {
                        "path": {
                            "description": "File or directory path to inspect.",
                            "type": "string"
                        }
                    },
                    "required": [
                        "path"
                    ],
                    "type": "object"
                }
            },
            {
                "name": "read_file",
                "description": "Read the contents of a file from the file system. You can specify an optional 'offset' (in bytes) to start reading from a specific position, and an optional 'length' (in bytes) to limit how many bytes to read. If 'length' is omitted or 0, the file will be read to the end. Handles various text encodings and provides detailed error messages if the file cannot be read. Only works within allowed directories.",
                "inputSchema": {
                    "properties": {
                        "length": {
                            "description": "Number of bytes to read. If omitted or 0, read to end of file.",
                            "minimum": 0,
                            "type": "integer"
                        },
                        "offset": {
                            "default": 0,
                            "description": "Start reading from this byte offset.",
                            "minimum": 0,
                            "type": "integer"
                        },
                        "path": {
                            "description": "File path to read.",
                            "type": "string"
                        }
                    },
                    "required": [
                        "path"
                    ],
                    "type": "object"
                }
            },
            {
                "name": "read_multiple_files",
                "description": "Read the contents of multiple files simultaneously. This is more efficient than reading files one by one when you need to analyze or compare multiple files. Each file's content is returned with its path as a reference. Failed reads for individual files won't stop the entire operation. Only works within allowed directories.",
                "inputSchema": {
                    "properties": {
                        "paths": {
                            "description": "Array of file paths to read.",
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        }
                    },
                    "required": [
                        "paths"
                    ],
                    "type": "object"
                }
            },
            {
                "name": "list_directory",
                "description": "Get a detailed listing of all files and directories in a specified path. Results clearly distinguish between files and directories with [FILE] and [DIR] prefixes. This tool is essential for understanding directory structure and finding specific files within a directory. Only works within allowed directories.",
                "inputSchema": {
                    "properties": {
                        "path": {
                            "description": "Directory path to list.",
                            "type": "string"
                        }
                    },
                    "required": [
                        "path"
                    ],
                    "type": "object"
                }
            },
            {
                "name": "move_file",
                "description": "Move or rename files and directories. Can move files between directories and rename them in a single operation. If the destination exists, the operation will fail. Works across different directories and can be used for simple renaming within the same directory. Both source and destination must be within allowed directories.",
                "inputSchema": {
                    "properties": {
                        "destination": {
                            "description": "Destination file or directory path.",
                            "type": "string"
                        },
                        "source": {
                            "description": "Source file or directory path.",
                            "type": "string"
                        }
                    },
                    "required": [
                        "source",
                        "destination"
                    ],
                    "type": "object"
                }
            },
            {
                "name": "search_files",
                "description": "Recursively search for files and directories matching a pattern. Searches through all subdirectories from the starting path. The search is case-insensitive and matches partial names. Returns full paths to all matching items. Great for finding files when you don't know their exact location. Only searches within allowed directories.",
                "inputSchema": {
                    "properties": {
                        "excludePatterns": {
                            "default": [

                            ],
                            "description": "Patterns to exclude (optional).",
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        "path": {
                            "description": "Directory path to start search.",
                            "type": "string"
                        },
                        "pattern": {
                            "description": "Pattern to match.",
                            "type": "string"
                        }
                    },
                    "required": [
                        "path",
                        "pattern"
                    ],
                    "type": "object"
                }
            },
            {
                "name": "write_file",
                "description": "Create a new file or write content to an existing file. You can choose to completely overwrite the file or append to the end by specifying the 'mode' parameter. Use 'overwrite' mode (default) to clear the file before writing, or 'append' mode to add content to the end of the file. Handles text content with proper encoding. Only works within allowed directories.",
                "inputSchema": {
                    "properties": {
                        "content": {
                            "description": "Content to write.",
                            "type": "string"
                        },
                        "mode": {
                            "default": "overwrite",
                            "description": "Write mode: 'overwrite' to clear file, 'append' to add to end.",
                            "enum": [
                                "overwrite",
                                "append"
                            ],
                            "type": "string"
                        },
                        "path": {
                            "description": "File path to write.",
                            "type": "string"
                        }
                    },
                    "required": [
                        "path",
                        "content"
                    ],
                    "type": "object"
                }
            }
        ]
    },
    "Oss": {
        "tools": [
            {
                "name": "oss_env_init",
                "description": "Create and initialize OSS environment variables with the specified endpoint, access key ID, access key secret, security token, and region. The temporary security credentials obtained from the STS (Security Token Service). For more information, see: https://www.alibabacloud.com/help/zh/oss/developer-reference/use-temporary-access-credentials-provided-by-sts-to-access-oss?spm=a2c4g.11186623.help-menu-search-31815.d_1#9ab17afd7cs4t .",
                "inputSchema": {
                    "properties": {
                        "access_key_id": {
                            "description": "The Access Key ID for OSS authentication",
                            "type": "string"
                        },
                        "access_key_secret": {
                            "description": "The Access Key Secret for OSS authentication",
                            "type": "string"
                        },
                        "endpoint": {
                            "description": "The OSS service endpoint, e.g.,  If not specified, the default is https://oss-cn-hangzhou.aliyuncs.com",
                            "type": "string"
                        },
                        "region": {
                            "description": "The OSS region, e.g., cn-hangzhou. If not specified, the default is cn-hangzhou",
                            "type": "string"
                        },
                        "security_token": {
                            "description": "The Security Token for OSS authentication",
                            "type": "string"
                        }
                    },
                    "required": [
                        "access_key_id",
                        "access_key_secret",
                        "security_token"
                    ],
                    "type": "object"
                }
            },
            {
                "name": "oss_upload",
                "description": "Upload a local file or directory to the specified OSS bucket. If a directory is specified, it will be compressed into a zip file before uploading. The object name in OSS can be specified; if not, the file or zip name will be used by default. Note: You must call the oss_env_init tool to initialize OSS environment variables before using this tool.",
                "inputSchema": {
                    "properties": {
                        "bucket": {
                            "description": "OSS bucket name",
                            "type": "string"
                        },
                        "object": {
                            "description": "Object key in OSS",
                            "type": "string"
                        },
                        "path": {
                            "description": "Local file or directory path to upload",
                            "type": "string"
                        }
                    },
                    "required": [
                        "bucket",
                        "object",
                        "path"
                    ],
                    "type": "object"
                }
            },
            {
                "name": "oss_download",
                "description": "Download an object from the specified OSS bucket to the given local path. If the parent directory does not exist, it will be created automatically. If the target file already exists, it will be overwritten. Note: You must call the oss_env_init tool to initialize OSS environment variables before using this tool.",
                "inputSchema": {
                    "properties": {
                        "bucket": {
                            "description": "OSS bucket name",
                            "type": "string"
                        },
                        "object": {
                            "description": "Object key in OSS",
                            "type": "string"
                        },
                        "path": {
                            "description": "Local path to save the downloaded file",
                            "type": "string"
                        }
                    },
                    "required": [
                        "bucket",
                        "object",
                        "path"
                    ],
                    "type": "object"
                }
            },
            {
                "name": "oss_upload_annon",
                "description": "Upload a local file or directory to the specified URL using HTTP PUT. If a directory is specified, it will be compressed into a zip file before uploading. If the upload target already exists, it will be overwritten.",
                "inputSchema": {
                    "properties": {
                        "path": {
                            "description": "Local file or directory path to upload",
                            "type": "string"
                        },
                        "url": {
                            "description": "The HTTP/HTTPS URL to upload the file to",
                            "type": "string"
                        }
                    },
                    "required": [
                        "url",
                        "path"
                    ],
                    "type": "object"
                }
            },
            {
                "name": "oss_download_annon",
                "description": "Download a file from the specified URL to the given local path. If the parent directory does not exist, it will be created automatically. If the target file already exists, it will be overwritten.",
                "inputSchema": {
                    "properties": {
                        "path": {
                            "description": "The full local file path to save the downloaded file",
                            "type": "string"
                        },
                        "url": {
                            "description": "The HTTP/HTTPS URL to download the file from",
                            "type": "string"
                        }
                    },
                    "required": [
                        "url",
                        "path"
                    ],
                    "type": "object"
                }
            }
        ]
    }
}