Skip to main content
Glama
nfodor

Chromium ARM64 Browser

by nfodor

navigate

Direct the Chromium ARM64 Browser to load a specific webpage URL for automation, testing, or data extraction tasks.

Instructions

Navigate to a URL

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesThe URL to navigate to

Implementation Reference

  • index.js:105-118 (registration)
    Registration of the 'navigate' tool in the MCP server's listTools response, including name, description, and input schema.
    {
      name: 'navigate',
      description: 'Navigate to a URL',
      inputSchema: {
        type: 'object',
        properties: {
          url: {
            type: 'string',
            description: 'The URL to navigate to',
          },
        },
        required: ['url'],
      },
    },
  • Input schema for the navigate tool requiring a URL string.
    inputSchema: {
      type: 'object',
      properties: {
        url: {
          type: 'string',
          description: 'The URL to navigate to',
        },
      },
      required: ['url'],
    },
  • Core handler function that launches/ensures Chromium browser and executes the Page.navigate CDP command to navigate to the specified URL.
    async navigate(url) {
      await this.ensureChromium();
      await this.sendCDPCommand('Page.navigate', { url });
      
      return {
        content: [{ type: 'text', text: `Successfully navigated to ${url}` }],
      };
    }
  • index.js:351-352 (registration)
    Dispatch/registration handler in the CallToolRequestSchema switch statement that routes 'navigate' calls to the implementation.
    case 'navigate':
      return await this.navigate(args.url);
  • MCP CallTool request handler that dispatches tool calls, including 'navigate' to its implementation.
    this.server.setRequestHandler(CallToolRequestSchema, async (request) => {
      try {
        const { name, arguments: args } = request.params;
    
        switch (name) {
          case 'navigate':
            return await this.navigate(args.url);
          case 'screenshot':
            return await this.screenshot(args.name || 'screenshot.png', args.fullPage || false);
          case 'click':
            return await this.click(args.selector);
          case 'fill':
            return await this.fill(args.selector, args.value);
          case 'evaluate':
            return await this.evaluate(args.script);
          case 'get_content':
            return await this.getContent(args.type || 'text');
          case 'hover':
            return await this.hover(args.selector);
          case 'select':
            return await this.select(args.selector, args.value);
          case 'get_console_logs':
            return await this.getConsoleLogs();
          case 'get_console_errors':
            return await this.getConsoleErrors();
          case 'get_network_logs':
            return await this.getNetworkLogs();
          case 'get_network_errors':
            return await this.getNetworkErrors();
          case 'wipe_logs':
            return await this.wipeLogs();
          case 'get_selected_element':
            return await this.getSelectedElement();
          case 'run_accessibility_audit':
            return await this.runAccessibilityAudit();
          case 'run_performance_audit':
            return await this.runPerformanceAudit();
          case 'run_seo_audit':
            return await this.runSEOAudit();
          case 'run_best_practices_audit':
            return await this.runBestPracticesAudit();
          case 'run_nextjs_audit':
            return await this.runNextJSAudit();
          case 'run_debugger_mode':
            return await this.runDebuggerMode();
          case 'run_audit_mode':
            return await this.runAuditMode();
          case 'close_browser':
            return await this.closeBrowser();
          default:
            throw new Error(`Unknown tool: ${name}`);
        }
      } catch (error) {
        return {
          content: [{ type: 'text', text: `Error: ${error.message}` }],
          isError: true,
        };
      }
    });

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/nfodor/mcp-chromium-arm64'

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