← Excel WebView2 MCP

Excel WebView2 MCP 0.0.13

npm · @dsbissett/excel-webview2-mcp · current release

59
Tools
0
Resources
0
Templates
0
Prompts

Observation

Observed 2026-08-22T09:41:30.369Z using mcpSecurity-inventory. Status: succeeded. Negotiated protocol: 2025-06-18.

Server capabilities
{
  "logging": {},
  "tools": {
    "listChanged": true
  }
}

Tools 59

ToolCategoryAnnotationsRisk
clickClicks on the provided element
Input schema
{
  "type": "object",
  "properties": {
    "uid": {
      "type": "string",
      "description": "The uid of an element on the page from the page content snapshot"
    },
    "dblClick": {
      "type": "boolean",
      "description": "Set to true for double clicks. Default is false."
    },
    "includeSnapshot": {
      "type": "boolean",
      "description": "Whether to include a snapshot in the response. Default is false."
    }
  },
  "required": [
    "uid"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "input",
  "readOnlyHint": false
}
Writes · —
close_pageCloses the page by its index. The last open page cannot be closed.
Input schema
{
  "type": "object",
  "properties": {
    "pageId": {
      "type": "number",
      "description": "The ID of the page to close. Call list_pages to list pages."
    }
  },
  "required": [
    "pageId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "navigation",
  "readOnlyHint": false
}
Writes · —
connection_statusReports whether the server is currently attached to a browser and which CDP endpoint it is tracking.
Input schema
{
  "type": "object",
  "properties": {
    "probe": {
      "type": "boolean",
      "description": "If true, re-runs the CDP /json/version probe for the tracked endpoint instead of returning cached probe state."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "debugging",
  "readOnlyHint": true
}
Read only · —
dragDrag an element onto another element
Input schema
{
  "type": "object",
  "properties": {
    "from_uid": {
      "type": "string",
      "description": "The uid of the element to drag"
    },
    "to_uid": {
      "type": "string",
      "description": "The uid of the element to drop into"
    },
    "includeSnapshot": {
      "type": "boolean",
      "description": "Whether to include a snapshot in the response. Default is false."
    }
  },
  "required": [
    "from_uid",
    "to_uid"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "input",
  "readOnlyHint": false
}
Writes · —
emulateThrottles network and/or CPU on the selected page.
Input schema
{
  "type": "object",
  "properties": {
    "networkConditions": {
      "type": "string",
      "enum": [
        "Offline",
        "Slow 3G",
        "Fast 3G",
        "Slow 4G",
        "Fast 4G"
      ],
      "description": "Throttle network. Omit to disable throttling."
    },
    "cpuThrottlingRate": {
      "type": "number",
      "minimum": 1,
      "maximum": 20,
      "description": "Represents the CPU slowdown factor. Omit or set the rate to 1 to disable throttling"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "emulation",
  "readOnlyHint": false
}
Writes · —
evaluate_scriptEvaluate a JavaScript function inside the currently selected page. Returns the response as JSON, so returned values have to be JSON-serializable.
Input schema
{
  "type": "object",
  "properties": {
    "function": {
      "type": "string",
      "description": "A JavaScript function declaration to be executed by the tool in the currently selected page.\nExample without arguments: `() => {\n  return document.title\n}` or `async () => {\n  return await fetch(\"example.com\")\n}`.\nExample with arguments: `(el) => {\n  return el.innerText;\n}`\n"
    },
    "args": {
      "type": "array",
      "items": {
        "type": "string",
        "description": "The uid of an element on the page from the page content snapshot"
      },
      "description": "An optional list of arguments to pass to the function."
    }
  },
  "required": [
    "function"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "debugging",
  "readOnlyHint": false
}
Writes · —
excel_active_rangeReturns the currently selected Excel range (address, dimensions, and values). Optionally includes formulas and number formats. Requires an Excel add-in target with Excel.run available.
Input schema
{
  "type": "object",
  "properties": {
    "includeFormulas": {
      "type": "boolean",
      "description": "If true, also return the A1-style formulas for each cell."
    },
    "includeNumberFormat": {
      "type": "boolean",
      "description": "If true, also return the Excel number-format code per cell."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "excel",
  "readOnlyHint": true
}
Read only · —
excel_calculation_stateReturns the workbook calculation mode (automatic/manual/etc.) and current calculation state (done/calculating/pending).
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {}
}
Annotations
{
  "category": "excel",
  "readOnlyHint": true
}
Read only · —
excel_chart_imageReturns a chart rendered as a PNG image, encoded as base64. Useful for visual verification.
Input schema
{
  "type": "object",
  "properties": {
    "sheet": {
      "type": "string",
      "description": "Worksheet name containing the chart."
    },
    "name": {
      "type": "string",
      "description": "Chart name."
    },
    "width": {
      "type": "number",
      "description": "Image width in pixels. Defaults to the chart’s natural size."
    },
    "height": {
      "type": "number",
      "description": "Image height in pixels. Defaults to the chart’s natural size."
    }
  },
  "required": [
    "sheet",
    "name"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "excel",
  "readOnlyHint": true
}
Read only · —
excel_chart_infoReturns detailed information about a chart: type, title, series names, axis titles, and source data address.
Input schema
{
  "type": "object",
  "properties": {
    "sheet": {
      "type": "string",
      "description": "Worksheet name containing the chart."
    },
    "name": {
      "type": "string",
      "description": "Chart name."
    }
  },
  "required": [
    "sheet",
    "name"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "excel",
  "readOnlyHint": true
}
Read only · —
excel_context_infoReturns Office.js and Excel host information for the selected page, including supported requirement sets when available.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {}
}
Annotations
{
  "category": "excel",
  "readOnlyHint": true
}
Read only · —
excel_custom_xml_partsLists custom XML parts stored in the workbook: id and namespace URI.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {}
}
Annotations
{
  "category": "excel",
  "readOnlyHint": true
}
Read only · —
excel_detect_addinInspects a working directory and reports whether it looks like an Excel add-in project (manifest location, manifest kind, package manager, and any existing remote-debugging script).
Input schema
{
  "type": "object",
  "properties": {
    "cwd": {
      "type": "string",
      "description": "Directory to inspect. Defaults to the MCP server working directory."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "lifecycle",
  "readOnlyHint": true
}
Read only · —
excel_find_in_rangeFinds all matches of a text string within a range. Returns the combined match address and cell count.
Input schema
{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "A1 reference such as 'Sheet1!A1:C10' or 'A1:C10'. If omitted, the active selection is used."
    },
    "sheet": {
      "type": "string",
      "description": "Worksheet name. Used when address omits the sheet prefix; ignored if address includes one."
    },
    "text": {
      "type": "string",
      "description": "Text to search for."
    },
    "completeMatch": {
      "type": "boolean",
      "description": "If true, require a whole-cell match. Defaults to false."
    },
    "matchCase": {
      "type": "boolean",
      "description": "If true, the search is case-sensitive. Defaults to false."
    }
  },
  "required": [
    "text"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "excel",
  "readOnlyHint": true
}
Read only · —
excel_launch_addinLaunches Excel with the detected add-in and WebView2 remote debugging enabled. Idempotent per manifest path: re-calling returns the tracked launch instead of spawning a duplicate.
Input schema
{
  "type": "object",
  "properties": {
    "cwd": {
      "type": "string"
    },
    "port": {
      "type": "integer",
      "exclusiveMinimum": 0
    },
    "manifestPath": {
      "type": "string"
    },
    "extraBrowserArgs": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "timeoutMs": {
      "type": "integer",
      "exclusiveMinimum": 0
    },
    "autoConnect": {
      "type": "boolean"
    },
    "skipDevServer": {
      "type": "boolean"
    },
    "devServerTimeoutMs": {
      "type": "integer",
      "exclusiveMinimum": 0
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "lifecycle",
  "readOnlyHint": false
}
Writes · —
excel_list_chartsLists all charts across worksheets: name, id, worksheet, type, title, position, and size.
Input schema
{
  "type": "object",
  "properties": {
    "sheet": {
      "type": "string",
      "description": "Worksheet name. Omit to list charts on all worksheets."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "excel",
  "readOnlyHint": true
}
Read only · —
excel_list_commentsLists comments and replies on a worksheet: author, content, timestamp, and cell address.
Input schema
{
  "type": "object",
  "properties": {
    "sheet": {
      "type": "string",
      "description": "Worksheet name. Omit to use the active worksheet."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "excel",
  "readOnlyHint": true
}
Read only · —
excel_list_conditional_formatsLists conditional-format rules on a range: id, type, priority, stopIfTrue. Omit address to use the active worksheet’s used range.
Input schema
{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "A1 reference such as 'Sheet1!A1:C10' or 'A1:C10'. If omitted, the active selection is used."
    },
    "sheet": {
      "type": "string",
      "description": "Worksheet name. Used when address omits the sheet prefix; ignored if address includes one."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "excel",
  "readOnlyHint": true
}
Read only · —
excel_list_data_validationsReturns data-validation configuration on a range: type, rule, error alert, and prompt. Omit address to use the active selection.
Input schema
{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "A1 reference such as 'Sheet1!A1:C10' or 'A1:C10'. If omitted, the active selection is used."
    },
    "sheet": {
      "type": "string",
      "description": "Worksheet name. Used when address omits the sheet prefix; ignored if address includes one."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "excel",
  "readOnlyHint": true
}
Read only · —
excel_list_named_itemsLists workbook-scoped named items (named ranges and formulas) with name, type, value, formula, visibility, and comment.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {}
}
Annotations
{
  "category": "excel",
  "readOnlyHint": true
}
Read only · —
excel_list_pivot_tablesLists all PivotTables in the workbook with name, worksheet, layout address, and enabled flags.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {}
}
Annotations
{
  "category": "excel",
  "readOnlyHint": true
}
Read only · —
excel_list_shapesLists shapes (including images) on a worksheet: name, id, type, position, size, visibility.
Input schema
{
  "type": "object",
  "properties": {
    "sheet": {
      "type": "string",
      "description": "Worksheet name. Omit to use the active worksheet."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "excel",
  "readOnlyHint": true
}
Read only · —
excel_list_tablesLists all tables (ListObjects) in the workbook with name, worksheet, address, header/total row flags, row count, and style.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {}
}
Annotations
{
  "category": "excel",
  "readOnlyHint": true
}
Read only · —
excel_list_worksheetsLists all worksheets in the workbook with name, id, position, visibility, and tab color.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {}
}
Annotations
{
  "category": "excel",
  "readOnlyHint": true
}
Read only · —
excel_pivot_table_infoReturns the structure of a PivotTable: row, column, data, and filter hierarchies with their source field names.
Input schema
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "PivotTable name."
    }
  },
  "required": [
    "name"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "excel",
  "readOnlyHint": true
}
Read only · —
excel_pivot_table_valuesReturns the rendered values of a PivotTable layout range with truncation when it exceeds the cell cap.
Input schema
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "PivotTable name."
    }
  },
  "required": [
    "name"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "excel",
  "readOnlyHint": true
}
Read only · —
excel_range_formulasReturns formulas (A1 and R1C1) alongside resolved values for a range. Useful for verifying formula edits.
Input schema
{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "A1 reference such as 'Sheet1!A1:C10' or 'A1:C10'. If omitted, the active selection is used."
    },
    "sheet": {
      "type": "string",
      "description": "Worksheet name. Used when address omits the sheet prefix; ignored if address includes one."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "excel",
  "readOnlyHint": true
}
Read only · —
excel_range_propertiesReturns rich properties for a range: value types, hasSpill, row/column hidden flags, and selected format details (font, fill, alignment, borders). Use include flags to bound payload.
Input schema
{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "A1 reference such as 'Sheet1!A1:C10' or 'A1:C10'. If omitted, the active selection is used."
    },
    "sheet": {
      "type": "string",
      "description": "Worksheet name. Used when address omits the sheet prefix; ignored if address includes one."
    },
    "includeFormat": {
      "type": "boolean",
      "description": "If true, include font, fill, alignment, and border summary per cell."
    },
    "includeStyle": {
      "type": "boolean",
      "description": "If true, include the named style of each cell."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "excel",
  "readOnlyHint": true
}
Read only · —
excel_range_special_cellsFinds cells within a range matching a category: 'constants', 'formulas', 'blanks', or 'visible'. Optionally filter by value type. Returns the resulting address and cell count.
Input schema
{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "A1 reference such as 'Sheet1!A1:C10' or 'A1:C10'. If omitted, the active selection is used."
    },
    "sheet": {
      "type": "string",
      "description": "Worksheet name. Used when address omits the sheet prefix; ignored if address includes one."
    },
    "cellType": {
      "type": "string",
      "enum": [
        "constants",
        "formulas",
        "blanks",
        "visible"
      ],
      "description": "Category of special cells to locate."
    },
    "valueType": {
      "type": "string",
      "enum": [
        "all",
        "errors",
        "logical",
        "numbers",
        "text"
      ],
      "description": "For 'constants' or 'formulas', filter by value type. Defaults to 'all'."
    }
  },
  "required": [
    "cellType"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "excel",
  "readOnlyHint": true
}
Read only · —
excel_read_rangeReads a range by address (e.g. 'Sheet1!A1:C10' or 'A1:C10' with a sheet param). Omit address to read the active selection. Returns values and optionally formulas / number formats.
Input schema
{
  "type": "object",
  "properties": {
    "address": {
      "type": "string",
      "description": "A1 reference such as 'Sheet1!A1:C10' or 'A1:C10'. If omitted, the active selection is used."
    },
    "sheet": {
      "type": "string",
      "description": "Worksheet name. Used when address omits the sheet prefix; ignored if address includes one."
    },
    "includeFormulas": {
      "type": "boolean",
      "description": "If true, also return the A1-style formulas for each cell."
    },
    "includeNumberFormat": {
      "type": "boolean",
      "description": "If true, also return the Excel number-format code per cell."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "excel",
  "readOnlyHint": true
}
Read only · —
excel_settings_getReads add-in document settings from Office.context.document.settings. Returns all keys or a single key’s value.
Input schema
{
  "type": "object",
  "properties": {
    "key": {
      "type": "string",
      "description": "If provided, return only this setting’s value. Otherwise, return all settings."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "excel",
  "readOnlyHint": true
}
Read only · —
excel_stop_addinStops the most recent Excel add-in launched by excel_launch_addin (or a specific manifest). Runs office-addin-debugging stop and kills the process if it does not exit cleanly.
Input schema
{
  "type": "object",
  "properties": {
    "manifestPath": {
      "type": "string"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "lifecycle",
  "readOnlyHint": false
}
Writes · —
excel_table_filtersReturns the active filter criteria per column for a table. Columns without an active filter have null criteria.
Input schema
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Table name (ListObject name)."
    }
  },
  "required": [
    "name"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "excel",
  "readOnlyHint": true
}
Read only · —
excel_table_infoReturns detail for a single table: name, worksheet, address, row count, columns (name + filter criteria), header/total row flags, and style.
Input schema
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Table name (ListObject name)."
    }
  },
  "required": [
    "name"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "excel",
  "readOnlyHint": true
}
Read only · —
excel_table_rowsReturns the data-body values of a table with truncation when row*column count exceeds the cell cap.
Input schema
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Table name (ListObject name)."
    },
    "includeHeaders": {
      "type": "boolean",
      "description": "If true, include the header row names."
    }
  },
  "required": [
    "name"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "excel",
  "readOnlyHint": true
}
Read only · —
excel_used_rangeReturns values (and optionally formulas / number formats) for a worksheet’s used range, with truncation when the range exceeds the cell cap.
Input schema
{
  "type": "object",
  "properties": {
    "sheet": {
      "type": "string",
      "description": "Worksheet name. Omit to use the active worksheet."
    },
    "valuesOnly": {
      "type": "boolean",
      "description": "If true (default), only cells with values count toward the used range."
    },
    "includeFormulas": {
      "type": "boolean",
      "description": "If true, also return the A1-style formulas for each cell."
    },
    "includeNumberFormat": {
      "type": "boolean",
      "description": "If true, also return the Excel number-format code per cell."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "excel",
  "readOnlyHint": true
}
Read only · —
excel_workbook_infoReturns workbook-level metadata: name, save state, calculation mode and state, and protection state.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {}
}
Annotations
{
  "category": "excel",
  "readOnlyHint": true
}
Read only · —
excel_worksheet_infoReturns metadata for a single worksheet: used range address, visibility, protection, gridlines, tab color, and dimensions.
Input schema
{
  "type": "object",
  "properties": {
    "sheet": {
      "type": "string",
      "description": "Worksheet name. Omit to use the active worksheet."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "excel",
  "readOnlyHint": true
}
Read only · —
fillType text into an input, text area or select an option from a <select> element.
Input schema
{
  "type": "object",
  "properties": {
    "uid": {
      "type": "string",
      "description": "The uid of an element on the page from the page content snapshot"
    },
    "value": {
      "type": "string",
      "description": "The value to fill in"
    },
    "includeSnapshot": {
      "type": "boolean",
      "description": "Whether to include a snapshot in the response. Default is false."
    }
  },
  "required": [
    "uid",
    "value"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "input",
  "readOnlyHint": false
}
Writes · —
fill_formFill out multiple form elements at once
Input schema
{
  "type": "object",
  "properties": {
    "elements": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "uid": {
            "type": "string",
            "description": "The uid of the element to fill out"
          },
          "value": {
            "type": "string",
            "description": "Value for the element"
          }
        },
        "required": [
          "uid",
          "value"
        ],
        "additionalProperties": false
      },
      "description": "Elements from snapshot to fill out."
    },
    "includeSnapshot": {
      "type": "boolean",
      "description": "Whether to include a snapshot in the response. Default is false."
    }
  },
  "required": [
    "elements"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "input",
  "readOnlyHint": false
}
Writes · —
get_console_messageGets a console message by its ID. You can get all messages by calling list_console_messages.
Input schema
{
  "type": "object",
  "properties": {
    "msgid": {
      "type": "number",
      "description": "The msgid of a console message on the page from the listed console messages"
    }
  },
  "required": [
    "msgid"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "debugging",
  "readOnlyHint": true
}
Read only · —
get_network_requestGets a network request by an optional reqid, if omitted returns the currently selected request in the DevTools Network panel.
Input schema
{
  "type": "object",
  "properties": {
    "reqid": {
      "type": "number",
      "description": "The reqid of the network request. If omitted returns the currently selected request in the DevTools Network panel."
    },
    "requestFilePath": {
      "type": "string",
      "description": "The absolute or relative path to save the request body to. If omitted, the body is returned inline."
    },
    "responseFilePath": {
      "type": "string",
      "description": "The absolute or relative path to save the response body to. If omitted, the body is returned inline."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "network",
  "readOnlyHint": false
}
Writes · —
handle_dialogIf a browser dialog was opened, use this command to handle it
Input schema
{
  "type": "object",
  "properties": {
    "action": {
      "type": "string",
      "enum": [
        "accept",
        "dismiss"
      ],
      "description": "Whether to dismiss or accept the dialog"
    },
    "promptText": {
      "type": "string",
      "description": "Optional prompt text to enter into the dialog."
    }
  },
  "required": [
    "action"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "input",
  "readOnlyHint": false
}
Writes · —
hoverHover over the provided element
Input schema
{
  "type": "object",
  "properties": {
    "uid": {
      "type": "string",
      "description": "The uid of an element on the page from the page content snapshot"
    },
    "includeSnapshot": {
      "type": "boolean",
      "description": "Whether to include a snapshot in the response. Default is false."
    }
  },
  "required": [
    "uid"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "input",
  "readOnlyHint": false
}
Writes · —
lighthouse_auditGet Lighthouse score and reports for accessibility, SEO and best practices. This excludes performance. For performance audits, run performance_start_trace
Input schema
{
  "type": "object",
  "properties": {
    "mode": {
      "type": "string",
      "enum": [
        "navigation",
        "snapshot"
      ],
      "default": "navigation",
      "description": "\"navigation\" reloads & audits. \"snapshot\" analyzes current state."
    },
    "device": {
      "type": "string",
      "enum": [
        "desktop",
        "mobile"
      ],
      "default": "desktop",
      "description": "Device to emulate."
    },
    "outputDirPath": {
      "type": "string",
      "description": "Directory for reports. If omitted, uses temporary files."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "debugging",
  "readOnlyHint": false
}
Writes · —
list_console_messagesList all console messages for the currently selected page since the last navigation.
Input schema
{
  "type": "object",
  "properties": {
    "pageSize": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "description": "Maximum number of messages to return. When omitted, returns all messages."
    },
    "pageIdx": {
      "type": "integer",
      "minimum": 0,
      "description": "Page number to return (0-based). When omitted, returns the first page."
    },
    "types": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "log",
          "debug",
          "info",
          "error",
          "warn",
          "dir",
          "dirxml",
          "table",
          "trace",
          "clear",
          "startGroup",
          "startGroupCollapsed",
          "endGroup",
          "assert",
          "profile",
          "profileEnd",
          "count",
          "timeEnd",
          "verbose",
          "issue"
        ]
      },
      "description": "Filter messages to only return messages of the specified resource types. When omitted or empty, returns all messages."
    },
    "includePreservedMessages": {
      "type": "boolean",
      "default": false,
      "description": "Set to true to return the preserved messages over the last 3 navigations."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "debugging",
  "readOnlyHint": true
}
Read only · —
list_network_requestsList all requests for the currently selected page since the last navigation.
Input schema
{
  "type": "object",
  "properties": {
    "pageSize": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "description": "Maximum number of requests to return. When omitted, returns all requests."
    },
    "pageIdx": {
      "type": "integer",
      "minimum": 0,
      "description": "Page number to return (0-based). When omitted, returns the first page."
    },
    "resourceTypes": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "document",
          "stylesheet",
          "image",
          "media",
          "font",
          "script",
          "texttrack",
          "xhr",
          "fetch",
          "prefetch",
          "eventsource",
          "websocket",
          "manifest",
          "signedexchange",
          "ping",
          "cspviolationreport",
          "preflight",
          "fedcm",
          "other"
        ]
      },
      "description": "Filter requests to only return requests of the specified resource types. When omitted or empty, returns all requests."
    },
    "includePreservedRequests": {
      "type": "boolean",
      "default": false,
      "description": "Set to true to return the preserved requests over the last 3 navigations."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "network",
  "readOnlyHint": true
}
Read only · —
list_pagesGet a list of pages open in the browser.
Input schema
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {}
}
Annotations
{
  "category": "navigation",
  "readOnlyHint": true
}
Read only · —
performance_analyze_insightProvides more detailed information on a specific Performance Insight of an insight set that was highlighted in the results of a trace recording.
Input schema
{
  "type": "object",
  "properties": {
    "insightSetId": {
      "type": "string",
      "description": "The id for the specific insight set. Only use the ids given in the \"Available insight sets\" list."
    },
    "insightName": {
      "type": "string",
      "description": "The name of the Insight you want more information on. For example: \"DocumentLatency\" or \"LCPBreakdown\""
    }
  },
  "required": [
    "insightSetId",
    "insightName"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "performance",
  "readOnlyHint": true
}
Read only · —
performance_start_traceStart a performance trace on the selected webpage. Use to find frontend performance issues, Core Web Vitals (LCP, INP, CLS), and improve page load speed.
Input schema
{
  "type": "object",
  "properties": {
    "reload": {
      "type": "boolean",
      "default": true,
      "description": "Determines if, once tracing has started, the current selected page should be automatically reloaded."
    },
    "autoStop": {
      "type": "boolean",
      "default": true,
      "description": "Determines if the trace recording should be automatically stopped."
    },
    "filePath": {
      "type": "string",
      "description": "The absolute file path, or a file path relative to the current working directory, to save the raw trace data. For example, trace.json.gz (compressed) or trace.json (uncompressed)."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "performance",
  "readOnlyHint": false
}
Writes · —
performance_stop_traceStop the active performance trace recording on the selected webpage.
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "The absolute file path, or a file path relative to the current working directory, to save the raw trace data. For example, trace.json.gz (compressed) or trace.json (uncompressed)."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "performance",
  "readOnlyHint": false
}
Writes · —
press_keyPress a key or key combination. Use this when other input methods like fill() cannot be used (e.g., keyboard shortcuts, navigation keys, or special key combinations).
Input schema
{
  "type": "object",
  "properties": {
    "key": {
      "type": "string",
      "description": "A key or a combination (e.g., \"Enter\", \"Control+A\", \"Control++\", \"Control+Shift+R\"). Modifiers: Control, Shift, Alt, Meta"
    },
    "includeSnapshot": {
      "type": "boolean",
      "description": "Whether to include a snapshot in the response. Default is false."
    }
  },
  "required": [
    "key"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "input",
  "readOnlyHint": false
}
Writes · —
select_pageSelect a page as a context for future tool calls.
Input schema
{
  "type": "object",
  "properties": {
    "pageId": {
      "type": "number",
      "description": "The ID of the page to select. Call list_pages to get available pages."
    },
    "bringToFront": {
      "type": "boolean",
      "description": "Whether to focus the page and bring it to the top."
    }
  },
  "required": [
    "pageId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "navigation",
  "readOnlyHint": true
}
Read only · —
take_memory_snapshotCapture a heap snapshot of the currently selected page. Use to analyze the memory distribution of JavaScript objects and debug memory leaks.
Input schema
{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string",
      "description": "A path to a .heapsnapshot file to save the heapsnapshot to."
    }
  },
  "required": [
    "filePath"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "performance",
  "readOnlyHint": false
}
Writes · —
take_screenshotTake a screenshot of the page or element.
Input schema
{
  "type": "object",
  "properties": {
    "format": {
      "type": "string",
      "enum": [
        "png",
        "jpeg",
        "webp"
      ],
      "default": "png",
      "description": "Type of format to save the screenshot as. Default is \"png\""
    },
    "quality": {
      "type": "number",
      "minimum": 0,
      "maximum": 100,
      "description": "Compression quality for JPEG and WebP formats (0-100). Higher values mean better quality but larger file sizes. Ignored for PNG format."
    },
    "uid": {
      "type": "string",
      "description": "The uid of an element on the page from the page content snapshot. If omitted, takes a page screenshot."
    },
    "fullPage": {
      "type": "boolean",
      "description": "If set to true takes a screenshot of the full page instead of the currently visible viewport. Incompatible with uid."
    },
    "filePath": {
      "type": "string",
      "description": "The absolute path, or a path relative to the current working directory, to save the screenshot to instead of attaching it to the response."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "debugging",
  "readOnlyHint": false
}
Writes · —
take_snapshotTake a text snapshot of the currently selected page based on the a11y tree. The snapshot lists page elements along with a unique identifier (uid). Always use the latest snapshot. Prefer taking a snapshot over taking a screenshot. The snapshot indicates the element selected in the DevTools Elements panel (if any).
Input schema
{
  "type": "object",
  "properties": {
    "verbose": {
      "type": "boolean",
      "description": "Whether to include all possible information available in the full a11y tree. Default is false."
    },
    "filePath": {
      "type": "string",
      "description": "The absolute path, or a path relative to the current working directory, to save the snapshot to instead of attaching it to the response."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "debugging",
  "readOnlyHint": false
}
Writes · —
type_textType text using keyboard into a previously focused input
Input schema
{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "description": "The text to type"
    },
    "submitKey": {
      "type": "string",
      "description": "Optional key to press after typing. E.g., \"Enter\", \"Tab\", \"Escape\""
    }
  },
  "required": [
    "text"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "input",
  "readOnlyHint": false
}
Writes · —
upload_fileUpload a file through a provided element.
Input schema
{
  "type": "object",
  "properties": {
    "uid": {
      "type": "string",
      "description": "The uid of the file input element or an element that will open file chooser on the page from the page content snapshot"
    },
    "filePath": {
      "type": "string",
      "description": "The local path of the file to upload"
    },
    "includeSnapshot": {
      "type": "boolean",
      "description": "Whether to include a snapshot in the response. Default is false."
    }
  },
  "required": [
    "uid",
    "filePath"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "input",
  "readOnlyHint": false
}
Writes · —
wait_forWait for the specified text to appear on the selected page.
Input schema
{
  "type": "object",
  "properties": {
    "text": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 1,
      "description": "Non-empty list of texts. Resolves when any value appears on the page."
    },
    "timeout": {
      "type": "integer",
      "description": "Maximum wait time in milliseconds. If set to 0, the default timeout will be used."
    }
  },
  "required": [
    "text"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
Annotations
{
  "category": "navigation",
  "readOnlyHint": true
}
Read only · —

Resources 0

Resource templates 0

Prompts 0

Let’s talk about MCP security.

Share your details and our security team will contact you.