Skip to main content
Glama
JustasMonkev

MCP Accessibility Scanner

browser_wait_for

Monitor webpage content for specific text to appear, disappear, or wait a set duration, ensuring precise timing for accessibility testing in automated scans.

Instructions

Wait for text to appear or disappear or a specified time to pass

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
textNoThe text to wait for
textGoneNoThe text to wait for to disappear
timeNoThe time to wait in seconds

Implementation Reference

  • Handler function implementing the 'browser_wait_for' tool. Waits for a specified time, or for text to appear (visible) or disappear (hidden) using Playwright locators on the current tab.
    handle: async (context, params, response) => {
      if (!params.text && !params.textGone && !params.time)
        throw new Error('Either time, text or textGone must be provided');
    
      if (params.time) {
        response.addCode(`await new Promise(f => setTimeout(f, ${params.time!} * 1000));`);
        await new Promise(f => setTimeout(f, Math.min(30000, params.time! * 1000)));
      }
    
      const tab = context.currentTabOrDie();
      const locator = params.text ? tab.page.getByText(params.text).first() : undefined;
      const goneLocator = params.textGone ? tab.page.getByText(params.textGone).first() : undefined;
    
      if (goneLocator) {
        response.addCode(`await page.getByText(${JSON.stringify(params.textGone)}).first().waitFor({ state: 'hidden' });`);
        await goneLocator.waitFor({ state: 'hidden' });
      }
    
      if (locator) {
        response.addCode(`await page.getByText(${JSON.stringify(params.text)}).first().waitFor({ state: 'visible' });`);
        await locator.waitFor({ state: 'visible' });
      }
    
      response.addResult(`Waited for ${params.text || params.textGone || params.time}`);
      response.setIncludeSnapshot();
    },
  • Schema definition for the 'browser_wait_for' tool, specifying name, title, description, input schema with optional time, text, or textGone parameters using Zod validation.
    schema: {
      name: 'browser_wait_for',
      title: 'Wait for',
      description: 'Wait for text to appear or disappear or a specified time to pass',
      inputSchema: z.object({
        time: z.number().optional().describe('The time to wait in seconds'),
        text: z.string().optional().describe('The text to wait for'),
        textGone: z.string().optional().describe('The text to wait for to disappear'),
      }),
      type: 'readOnly',
    },
  • Export of the defined tool for registration in the MCP tools collection.
    export default [
      wait,
    ];

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/JustasMonkev/mcp-accessibility-scanner'

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