levisnkyyy-browser-use-mcp
Version:
MCP server for Browser-Use API
341 lines • 8.03 kB
text/typescript
export const tools = [
{
name: 'browser_use_create_task',
description: 'Create a new browser automation task',
inputSchema: {
type: 'object',
properties: {
task: {
type: 'string',
description: 'The task description for the browser agent to execute',
},
project_folder: {
type: 'string',
description: 'Project folder path for saving files and as unique browser session identifier',
},
temperature: {
type: 'number',
description: 'LLM temperature (0.0 to 1.0)',
default: 0.0,
minimum: 0,
maximum: 1,
},
browser_config: {
type: 'object',
description: 'Browser configuration options',
properties: {
headless: {
type: 'boolean',
description: 'Run browser in headless mode',
default: true,
},
viewport: {
type: 'object',
properties: {
width: { type: 'number' },
height: { type: 'number' },
},
},
user_agent: {
type: 'string',
description: 'Custom user agent string',
},
},
},
agent_settings: {
type: 'object',
description: 'Agent configuration options',
properties: {
max_steps: {
type: 'number',
description: 'Maximum number of steps the agent can take',
},
use_screenshot: {
type: 'boolean',
description: 'Whether to use screenshots for navigation',
},
},
},
output_format: {
type: 'object',
description: 'Custom output format schema',
},
session_id: {
type: 'string',
description: 'Reuse an existing browser session',
},
},
required: ['task', 'project_folder'],
},
},
{
name: 'browser_use_create_task_sync',
description: 'Create and execute a browser automation task synchronously, waiting for completion',
inputSchema: {
type: 'object',
properties: {
task: {
type: 'string',
description: 'The task description for the browser agent to execute',
},
project_folder: {
type: 'string',
description: 'Project folder path for saving files and as unique browser session identifier',
},
temperature: {
type: 'number',
description: 'LLM temperature (0.0 to 1.0)',
default: 0.0,
minimum: 0,
maximum: 1,
},
browser_config: {
type: 'object',
description: 'Browser configuration options',
properties: {
headless: {
type: 'boolean',
description: 'Run browser in headless mode',
default: true,
},
viewport: {
type: 'object',
properties: {
width: { type: 'number' },
height: { type: 'number' },
},
},
user_agent: {
type: 'string',
description: 'Custom user agent string',
},
},
},
agent_settings: {
type: 'object',
description: 'Agent configuration options',
properties: {
max_steps: {
type: 'number',
description: 'Maximum number of steps the agent can take',
},
use_screenshot: {
type: 'boolean',
description: 'Whether to use screenshots for navigation',
},
},
},
output_format: {
type: 'object',
description: 'Custom output format schema',
},
session_id: {
type: 'string',
description: 'Reuse an existing browser session',
},
},
required: ['task', 'project_folder'],
},
},
{
name: 'browser_use_get_task',
description: 'Get the status and result of a browser automation task',
inputSchema: {
type: 'object',
properties: {
task_id: {
type: 'string',
description: 'The ID of the task to retrieve',
},
},
required: ['task_id'],
},
},
{
name: 'browser_use_list_tasks',
description: 'List all browser automation tasks',
inputSchema: {
type: 'object',
properties: {},
},
},
{
name: 'browser_use_cancel_task',
description: 'Cancel a running browser automation task',
inputSchema: {
type: 'object',
properties: {
task_id: {
type: 'string',
description: 'The ID of the task to cancel',
},
},
required: ['task_id'],
},
},
{
name: 'browser_use_pause_task',
description: 'Pause a running browser automation task',
inputSchema: {
type: 'object',
properties: {
task_id: {
type: 'string',
description: 'The ID of the task to pause',
},
},
required: ['task_id'],
},
},
{
name: 'browser_use_get_task_history',
description: 'Get the execution history of a browser automation task',
inputSchema: {
type: 'object',
properties: {
task_id: {
type: 'string',
description: 'The ID of the task',
},
},
required: ['task_id'],
},
},
{
name: 'browser_use_get_screenshot',
description: 'Get an AI-generated description of the current browser state for a task and save the screenshot',
inputSchema: {
type: 'object',
properties: {
task_id: {
type: 'string',
description: 'The ID of the task',
},
project_folder: {
type: 'string',
description: 'Project folder path for saving the screenshot',
},
filename: {
type: 'string',
description: 'Optional filename for the screenshot (without extension)',
},
},
required: ['task_id', 'project_folder'],
},
},
{
name: 'browser_use_create_session',
description: 'Create a new browser session that can be reused across tasks',
inputSchema: {
type: 'object',
properties: {
headless: {
type: 'boolean',
description: 'Run browser in headless mode',
default: true,
},
viewport: {
type: 'object',
description: 'Browser viewport dimensions',
properties: {
width: { type: 'number', default: 1280 },
height: { type: 'number', default: 720 },
},
},
user_agent: {
type: 'string',
description: 'Custom user agent string',
},
proxy: {
type: 'string',
description: 'Proxy server URL',
},
cookies: {
type: 'array',
description: 'Initial cookies to set',
items: {
type: 'object',
properties: {
name: { type: 'string' },
value: { type: 'string' },
domain: { type: 'string' },
},
required: ['name', 'value', 'domain'],
},
},
},
},
},
{
name: 'browser_use_close_session',
description: 'Close a browser session',
inputSchema: {
type: 'object',
properties: {
session_id: {
type: 'string',
description: 'The ID of the session to close',
},
},
required: ['session_id'],
},
},
{
name: 'browser_use_stream_task',
description: 'Stream real-time updates from a running task',
inputSchema: {
type: 'object',
properties: {
task_id: {
type: 'string',
description: 'The ID of the task to stream',
},
},
required: ['task_id'],
},
},
{
name: 'browser_use_health',
description: 'Check the health status of the Browser-Use API',
inputSchema: {
type: 'object',
properties: {},
},
},
{
name: 'browser_use_scan',
description: 'Scan a URL to take a screenshot, save it, and get an AI-generated description of the webpage',
inputSchema: {
type: 'object',
properties: {
url: {
type: 'string',
description: 'The URL to scan (must start with http:// or https://)',
},
filename: {
type: 'string',
description: 'Unique filename for saving the screenshot (without extension)',
},
project_folder: {
type: 'string',
description: 'Project folder path for saving the screenshot',
},
},
required: ['url', 'filename', 'project_folder'],
},
},
{
name: 'browser_use_get_snapshot',
description: 'Get a snapshot (base64 encoded screenshot) of the current browser state for a task',
inputSchema: {
type: 'object',
properties: {
task_id: {
type: 'string',
description: 'The ID of the task to get a snapshot from',
},
},
required: ['task_id'],
},
},
];