Skip to main content
Glama
autopilotbrowser

Autopilot Browser MCP Server

Official

run_workflow

Execute automated browser workflows for web scraping and data extraction by providing workflow names and required inputs.

Instructions

Execute a specific Autopilot Browser workflow with the provided inputs. Use search_workflows first to find available workflows and their required inputs.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
workflowNameYesThe name of the workflow to execute
workflowInputsYesKey-value pairs of inputs required by the workflow. The required inputs depend on the specific workflow being executed.

Implementation Reference

  • Core handler function that makes the HTTP POST request to the Autopilot Browser API to execute the specified workflow with given inputs.
    async runWorkflow(workflowName: string, workflowInputs: Record<string, any>) {
      const response = await fetch(`${this.baseUrl}/wf/run`, {
        method: 'POST',
        headers: {
          'x-api-key': this.apiKey,
          'Content-Type': 'application/json',
        },
        body: JSON.stringify({
          workflowName,
          workflowInputs,
        }),
      });
      
      if (!response.ok) {
        const errorText = await response.text();
        throw new Error(`API Error: ${response.status} ${response.statusText} - ${errorText}`);
      }
      
      return await response.json();
    }
  • MCP CallToolRequestSchema handler specifically for the 'run_workflow' tool, which extracts arguments and calls the core runWorkflow function.
    if (request.params.name === "run_workflow") {
      const { workflowName, workflowInputs } = request.params.arguments as {
        workflowName: string;
        workflowInputs: Record<string, any>;
      };
    
      try {
        const result = await apiClient.runWorkflow(workflowName, workflowInputs);
        
        return {
          content: [
            {
              type: "text",
              text: JSON.stringify(result, null, 2),
            },
          ],
        };
      } catch (error) {
        return {
          content: [
            {
              type: "text",
              text: `Error executing workflow: ${error instanceof Error ? error.message : String(error)}`,
            },
          ],
          isError: true,
        };
      }
  • Input schema definition for the 'run_workflow' tool, specifying workflowName and workflowInputs as required parameters.
    inputSchema: {
      type: "object",
      properties: {
        workflowName: {
          type: "string",
          description: "The name of the workflow to execute",
        },
        workflowInputs: {
          type: "object",
          description: "Key-value pairs of inputs required by the workflow. The required inputs depend on the specific workflow being executed.",
          additionalProperties: true,
        },
      },
      required: ["workflowName", "workflowInputs"],
    },
  • src/index.ts:142-160 (registration)
    Tool registration metadata including name, description, and input schema returned by ListToolsRequestSchema handler.
    {
      name: "run_workflow",
      description: "Execute a specific Autopilot Browser workflow with the provided inputs. Use search_workflows first to find available workflows and their required inputs.",
      inputSchema: {
        type: "object",
        properties: {
          workflowName: {
            type: "string",
            description: "The name of the workflow to execute",
          },
          workflowInputs: {
            type: "object",
            description: "Key-value pairs of inputs required by the workflow. The required inputs depend on the specific workflow being executed.",
            additionalProperties: true,
          },
        },
        required: ["workflowName", "workflowInputs"],
      },
    },
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. While it mentions execution and inputs, it lacks critical details such as whether this is a read-only or destructive operation, what permissions are required, how errors are handled, or what the execution entails (e.g., timeouts, side effects). For a tool that executes workflows with no annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured with two sentences: the first states the purpose, and the second provides usage guidance. Every sentence earns its place, and it's front-loaded with the core functionality, making it efficient and easy to understand.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of executing workflows with inputs, no annotations, and no output schema, the description is moderately complete. It covers purpose and usage but lacks details on behavioral aspects (e.g., effects, errors) and output expectations. It's adequate as a minimum viable description but has clear gaps for a tool that performs execution.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, so the schema already documents both parameters ('workflowName' and 'workflowInputs') with their types and descriptions. The description adds minimal value beyond the schema, mentioning 'provided inputs' but not elaborating on parameter semantics. Baseline 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Execute a specific Autopilot Browser workflow with the provided inputs.' It specifies the verb ('Execute') and resource ('Autopilot Browser workflow'), though it doesn't explicitly differentiate from its sibling 'search_workflows' beyond mentioning it in usage guidance. The purpose is clear but could be more distinct from the sibling tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage guidelines: 'Use search_workflows first to find available workflows and their required inputs.' This clearly indicates when to use this tool (after searching) and references the alternative sibling tool by name, offering a complete workflow for proper usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other 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/autopilotbrowser/mcp-server'

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