Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@angiejones/mcp-selenium",
"version": "0.2.2",
"version": "0.2.3",
"description": "Selenium WebDriver MCP Server",
"type": "module",
"main": "src/lib/server.js",
Expand Down
6 changes: 3 additions & 3 deletions src/lib/server.js
Original file line number Diff line number Diff line change
Expand Up @@ -436,7 +436,7 @@ server.registerTool(
server.registerTool(
"take_screenshot",
{
description: "captures a screenshot of the current page. Prefer using the accessibility://current resource for understanding page content. Use screenshots only when visual layout matters.",
description: "captures a screenshot of the current page. Prefer using the accessibility://current resource for understanding page content. Use get_element_attribute or execute_script to verify element state. Only use screenshots when visual layout or styling needs to be verified.",
inputSchema: {
outputPath: z.string().optional().describe("Optional path where to save the screenshot. If not provided, returns an image/png content block.")
}
Expand Down Expand Up @@ -500,7 +500,7 @@ server.registerTool(
server.registerTool(
"get_element_attribute",
{
description: "gets the value of an attribute on an element",
description: "gets the value of an attribute on an element. Use this to verify element state. Prefer this over screenshots for validation.",
inputSchema: {
...locatorSchema,
attribute: z.string().describe("Name of the attribute to get (e.g., 'href', 'value', 'class')")
Expand All @@ -527,7 +527,7 @@ server.registerTool(
server.registerTool(
"execute_script",
{
description: "executes JavaScript in the browser and returns the result. Use for advanced interactions not covered by other tools (e.g., drag and drop, scrolling, reading computed styles, manipulating the DOM directly).",
description: "executes JavaScript in the browser and returns the result. Use for advanced interactions not covered by other tools (e.g., drag and drop, scrolling, reading computed styles, manipulating the DOM directly). Also useful for batch-reading multiple element values/states in a single call instead of multiple get_element_attribute calls.",
inputSchema: {
script: z.string().describe("JavaScript code to execute in the browser"),
args: z.array(z.any()).optional().describe("Optional arguments to pass to the script (accessible via arguments[0], arguments[1], etc.)")
Expand Down