Skip to main content
Glama

browser_select

Automate dropdown selections on web pages by specifying a CSS selector and the desired value or label, integrating with browser automation for efficient web interactions.

Instructions

Select an option from a dropdown menu

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
selectorYesCSS selector for select element
valueYesValue or label to select

Implementation Reference

  • The handler function that executes the browser_select tool using Playwright's page.selectOption method to select a dropdown option.
    async function handleBrowserSelect(page: Page, args: any): Promise<{ toolResult: CallToolResult }> {
      try {
        await page.waitForSelector(args.selector);
        await page.selectOption(args.selector, args.value);
        return {
          toolResult: {
            content: [{
              type: "text",
              text: `Selected option ${args.value} in ${args.selector}`,
            }],
            isError: false,
          },
        };
      } catch (error) {
        return {
          toolResult: {
            content: [{
              type: "text",
              text: `Selection failed on ${args.selector}: ${(error as Error).message}`,
            }],
            isError: true,
          },
        };
      }
    }
  • Input schema and metadata definition for the browser_select tool.
    {
      name: "browser_select",
      description: "Select an option from a dropdown menu",
      inputSchema: {
        type: "object",
        properties: {
          selector: { type: "string", description: "CSS selector for select element" },
          value: { type: "string", description: "Value or label to select" }
        },
        required: ["selector", "value"]
      }
    },
  • src/tools.ts:3-12 (registration)
    Registers browser_select as part of the browser tools list used for tool dispatching.
    export const BROWSER_TOOLS = [
      "browser_navigate",
      "browser_screenshot",
      "browser_click",
      "browser_fill",
      "browser_select",
      "browser_hover",
      "browser_evaluate",
      "browser_set_viewport"
    ];
  • Switch case in executeToolCall that routes browser_select calls to its handler.
    case "browser_select":
      return await handleBrowserSelect(activePage!, args);
  • src/handlers.ts:61-63 (registration)
    MCP server handler for listing available tools, which includes browser_select.
    server.setRequestHandler(ListToolsRequestSchema, async () => ({
      tools: tools,
    }));
Install Server

Other Tools

Related Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/imprvhub/mcp-browser-agent'

If you have feedback or need assistance with the MCP directory API, please join our Discord server