Skip to main content
Glama

wait

Pauses execution for a specified duration to allow web pages to finish loading or rendering dynamic content, ensuring complete page elements appear in screenshots.

Instructions

Use this tool when a page appears to be loading or not fully rendered. Common scenarios include: when elements are missing from a screenshot that should be there, when a page looks incomplete or broken, when dynamic content is still loading, or when a previous action (like clicking a button) hasn't fully processed yet. Waits for a specified number of seconds (up to 10) to allow the page to finish loading or rendering.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
secondsYesNumber of seconds to wait (max 10). Start with a smaller value (2-3 seconds) and increase if needed.

Implementation Reference

  • The handler function for the "wait" tool. Validates the seconds parameter (0-10), sleeps for the specified duration using the sleep utility, and returns a success message.
    async function handleWait(_page: Page, args: any): Promise<CallToolResult> { const { seconds } = args; if (typeof seconds !== "number" || seconds < 0 || seconds > 10) { return { isError: true, content: [ { type: "text", text: "Wait time must be a number between 0 and 10 seconds", }, ], }; } await sleep(seconds * 1000); // Reusing your sleep utility return { isError: false, content: [{ type: "text", text: `Waited ${seconds} second(s).` }], }; }
  • The schema definition for the "wait" tool in the TOOLS array, defining the input schema with a required 'seconds' number parameter (0-10).
    name: "wait", description: "Use this tool when a page appears to be loading or not fully rendered. Common scenarios include: when elements are missing from a screenshot that should be there, when a page looks incomplete or broken, when dynamic content is still loading, or when a previous action (like clicking a button) hasn't fully processed yet. Waits for a specified number of seconds (up to 10) to allow the page to finish loading or rendering.", inputSchema: { type: "object", properties: { seconds: { type: "number", description: "Number of seconds to wait (max 10). Start with a smaller value (2-3 seconds) and increase if needed.", minimum: 0, maximum: 10, }, }, required: ["seconds"], }, },
  • Helper utility function 'sleep' that pauses execution for a given number of milliseconds using setTimeout. Used by the wait handler.
    function sleep(ms: number): Promise<void> { return new Promise(resolve => setTimeout(resolve, ms)); }
  • src/index.ts:937-939 (registration)
    Registration of the 'wait' tool handler in the main tool dispatcher switch statement within handleToolCall.
    case "wait": result = await handleWait(page, args); break;
  • src/index.ts:1068-1070 (registration)
    Server handler for ListToolsRequestSchema that returns the TOOLS array, which includes the 'wait' tool definition.
    server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: 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/steel-dev/steel-mcp-server'

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