browser-use 0.0.1 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +761 -0
- package/dist/agent/cloud-events.d.ts +264 -0
- package/dist/agent/cloud-events.js +318 -0
- package/dist/agent/gif.d.ts +15 -0
- package/dist/agent/gif.js +215 -0
- package/dist/agent/index.d.ts +8 -0
- package/dist/agent/index.js +8 -0
- package/dist/agent/message-manager/service.d.ts +30 -0
- package/dist/agent/message-manager/service.js +208 -0
- package/dist/agent/message-manager/utils.d.ts +2 -0
- package/dist/agent/message-manager/utils.js +41 -0
- package/dist/agent/message-manager/views.d.ts +26 -0
- package/dist/agent/message-manager/views.js +73 -0
- package/dist/agent/prompts.d.ts +52 -0
- package/dist/agent/prompts.js +259 -0
- package/dist/agent/service.d.ts +290 -0
- package/dist/agent/service.js +2200 -0
- package/dist/agent/views.d.ts +741 -0
- package/dist/agent/views.js +537 -0
- package/dist/browser/browser.d.ts +7 -0
- package/dist/browser/browser.js +5 -0
- package/dist/browser/context.d.ts +8 -0
- package/dist/browser/context.js +4 -0
- package/dist/browser/dvd-screensaver.d.ts +101 -0
- package/dist/browser/dvd-screensaver.js +270 -0
- package/dist/browser/extensions.d.ts +63 -0
- package/dist/browser/extensions.js +359 -0
- package/dist/browser/index.d.ts +10 -0
- package/dist/browser/index.js +9 -0
- package/dist/browser/playwright-manager.d.ts +47 -0
- package/dist/browser/playwright-manager.js +146 -0
- package/dist/browser/profile.d.ts +196 -0
- package/dist/browser/profile.js +815 -0
- package/dist/browser/session.d.ts +505 -0
- package/dist/browser/session.js +3409 -0
- package/dist/browser/types.d.ts +1184 -0
- package/dist/browser/types.js +1 -0
- package/dist/browser/utils.d.ts +1 -0
- package/dist/browser/utils.js +19 -0
- package/dist/browser/views.d.ts +78 -0
- package/dist/browser/views.js +72 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.js +44 -0
- package/dist/config.d.ts +108 -0
- package/dist/config.js +430 -0
- package/dist/controller/index.d.ts +3 -0
- package/dist/controller/index.js +3 -0
- package/dist/controller/registry/index.d.ts +2 -0
- package/dist/controller/registry/index.js +2 -0
- package/dist/controller/registry/service.d.ts +45 -0
- package/dist/controller/registry/service.js +184 -0
- package/dist/controller/registry/views.d.ts +55 -0
- package/dist/controller/registry/views.js +174 -0
- package/dist/controller/service.d.ts +49 -0
- package/dist/controller/service.js +1176 -0
- package/dist/controller/views.d.ts +241 -0
- package/dist/controller/views.js +88 -0
- package/dist/dom/clickable-element-processor/service.d.ts +11 -0
- package/dist/dom/clickable-element-processor/service.js +60 -0
- package/dist/dom/dom_tree/index.js +1400 -0
- package/dist/dom/history-tree-processor/service.d.ts +14 -0
- package/dist/dom/history-tree-processor/service.js +75 -0
- package/dist/dom/history-tree-processor/view.d.ts +54 -0
- package/dist/dom/history-tree-processor/view.js +56 -0
- package/dist/dom/playground/extraction.d.ts +19 -0
- package/dist/dom/playground/extraction.js +187 -0
- package/dist/dom/playground/process-dom.d.ts +1 -0
- package/dist/dom/playground/process-dom.js +5 -0
- package/dist/dom/playground/test-accessibility.d.ts +44 -0
- package/dist/dom/playground/test-accessibility.js +111 -0
- package/dist/dom/service.d.ts +19 -0
- package/dist/dom/service.js +227 -0
- package/dist/dom/utils.d.ts +1 -0
- package/dist/dom/utils.js +6 -0
- package/dist/dom/views.d.ts +61 -0
- package/dist/dom/views.js +247 -0
- package/dist/event-bus.d.ts +11 -0
- package/dist/event-bus.js +19 -0
- package/dist/exceptions.d.ts +10 -0
- package/dist/exceptions.js +22 -0
- package/dist/filesystem/file-system.d.ts +68 -0
- package/dist/filesystem/file-system.js +412 -0
- package/dist/filesystem/index.d.ts +1 -0
- package/dist/filesystem/index.js +1 -0
- package/dist/index.d.ts +31 -0
- package/dist/index.js +33 -0
- package/dist/integrations/gmail/actions.d.ts +12 -0
- package/dist/integrations/gmail/actions.js +113 -0
- package/dist/integrations/gmail/index.d.ts +2 -0
- package/dist/integrations/gmail/index.js +2 -0
- package/dist/integrations/gmail/service.d.ts +61 -0
- package/dist/integrations/gmail/service.js +260 -0
- package/dist/llm/anthropic/chat.d.ts +28 -0
- package/dist/llm/anthropic/chat.js +126 -0
- package/dist/llm/anthropic/index.d.ts +2 -0
- package/dist/llm/anthropic/index.js +2 -0
- package/dist/llm/anthropic/serializer.d.ts +68 -0
- package/dist/llm/anthropic/serializer.js +285 -0
- package/dist/llm/aws/chat-anthropic.d.ts +61 -0
- package/dist/llm/aws/chat-anthropic.js +176 -0
- package/dist/llm/aws/chat-bedrock.d.ts +15 -0
- package/dist/llm/aws/chat-bedrock.js +80 -0
- package/dist/llm/aws/index.d.ts +3 -0
- package/dist/llm/aws/index.js +3 -0
- package/dist/llm/aws/serializer.d.ts +5 -0
- package/dist/llm/aws/serializer.js +68 -0
- package/dist/llm/azure/chat.d.ts +15 -0
- package/dist/llm/azure/chat.js +83 -0
- package/dist/llm/azure/index.d.ts +1 -0
- package/dist/llm/azure/index.js +1 -0
- package/dist/llm/base.d.ts +16 -0
- package/dist/llm/base.js +1 -0
- package/dist/llm/deepseek/chat.d.ts +15 -0
- package/dist/llm/deepseek/chat.js +51 -0
- package/dist/llm/deepseek/index.d.ts +2 -0
- package/dist/llm/deepseek/index.js +2 -0
- package/dist/llm/deepseek/serializer.d.ts +6 -0
- package/dist/llm/deepseek/serializer.js +57 -0
- package/dist/llm/exceptions.d.ts +10 -0
- package/dist/llm/exceptions.js +18 -0
- package/dist/llm/google/chat.d.ts +20 -0
- package/dist/llm/google/chat.js +144 -0
- package/dist/llm/google/index.d.ts +2 -0
- package/dist/llm/google/index.js +2 -0
- package/dist/llm/google/serializer.d.ts +6 -0
- package/dist/llm/google/serializer.js +64 -0
- package/dist/llm/groq/chat.d.ts +15 -0
- package/dist/llm/groq/chat.js +52 -0
- package/dist/llm/groq/index.d.ts +3 -0
- package/dist/llm/groq/index.js +3 -0
- package/dist/llm/groq/parser.d.ts +32 -0
- package/dist/llm/groq/parser.js +189 -0
- package/dist/llm/groq/serializer.d.ts +6 -0
- package/dist/llm/groq/serializer.js +56 -0
- package/dist/llm/messages.d.ts +77 -0
- package/dist/llm/messages.js +157 -0
- package/dist/llm/ollama/chat.d.ts +15 -0
- package/dist/llm/ollama/chat.js +77 -0
- package/dist/llm/ollama/index.d.ts +2 -0
- package/dist/llm/ollama/index.js +2 -0
- package/dist/llm/ollama/serializer.d.ts +6 -0
- package/dist/llm/ollama/serializer.js +53 -0
- package/dist/llm/openai/chat.d.ts +38 -0
- package/dist/llm/openai/chat.js +174 -0
- package/dist/llm/openai/index.d.ts +3 -0
- package/dist/llm/openai/index.js +3 -0
- package/dist/llm/openai/like.d.ts +17 -0
- package/dist/llm/openai/like.js +19 -0
- package/dist/llm/openai/serializer.d.ts +6 -0
- package/dist/llm/openai/serializer.js +57 -0
- package/dist/llm/openrouter/chat.d.ts +15 -0
- package/dist/llm/openrouter/chat.js +74 -0
- package/dist/llm/openrouter/index.d.ts +2 -0
- package/dist/llm/openrouter/index.js +2 -0
- package/dist/llm/openrouter/serializer.d.ts +3 -0
- package/dist/llm/openrouter/serializer.js +3 -0
- package/dist/llm/schema.d.ts +6 -0
- package/dist/llm/schema.js +77 -0
- package/dist/llm/views.d.ts +15 -0
- package/dist/llm/views.js +12 -0
- package/dist/logging-config.d.ts +25 -0
- package/dist/logging-config.js +89 -0
- package/dist/mcp/client.d.ts +142 -0
- package/dist/mcp/client.js +638 -0
- package/dist/mcp/controller.d.ts +6 -0
- package/dist/mcp/controller.js +38 -0
- package/dist/mcp/index.d.ts +3 -0
- package/dist/mcp/index.js +3 -0
- package/dist/mcp/server.d.ts +134 -0
- package/dist/mcp/server.js +759 -0
- package/dist/observability-decorators.d.ts +158 -0
- package/dist/observability-decorators.js +286 -0
- package/dist/observability.d.ts +23 -0
- package/dist/observability.js +58 -0
- package/dist/screenshots/index.d.ts +1 -0
- package/dist/screenshots/index.js +1 -0
- package/dist/screenshots/service.d.ts +6 -0
- package/dist/screenshots/service.js +28 -0
- package/dist/sync/auth.d.ts +27 -0
- package/dist/sync/auth.js +205 -0
- package/dist/sync/index.d.ts +2 -0
- package/dist/sync/index.js +2 -0
- package/dist/sync/service.d.ts +21 -0
- package/dist/sync/service.js +146 -0
- package/dist/telemetry/index.d.ts +2 -0
- package/dist/telemetry/index.js +2 -0
- package/dist/telemetry/service.d.ts +12 -0
- package/dist/telemetry/service.js +85 -0
- package/dist/telemetry/views.d.ts +112 -0
- package/dist/telemetry/views.js +112 -0
- package/dist/tokens/index.d.ts +2 -0
- package/dist/tokens/index.js +2 -0
- package/dist/tokens/service.d.ts +35 -0
- package/dist/tokens/service.js +423 -0
- package/dist/tokens/views.d.ts +58 -0
- package/dist/tokens/views.js +1 -0
- package/dist/utils.d.ts +128 -0
- package/dist/utils.js +529 -0
- package/package.json +94 -5
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Server for browser-use - exposes browser automation capabilities via Model Context Protocol.
|
|
3
|
+
*
|
|
4
|
+
* This server provides tools for:
|
|
5
|
+
* - Running autonomous browser tasks with an AI agent
|
|
6
|
+
* - Direct browser control (navigation, clicking, typing, etc.)
|
|
7
|
+
* - Content extraction from web pages
|
|
8
|
+
* - File system operations
|
|
9
|
+
*
|
|
10
|
+
* Usage:
|
|
11
|
+
* npx browser-use --mcp
|
|
12
|
+
*
|
|
13
|
+
* Or as an MCP server in Claude Desktop or other MCP clients:
|
|
14
|
+
* {
|
|
15
|
+
* "mcpServers": {
|
|
16
|
+
* "browser-use": {
|
|
17
|
+
* "command": "npx",
|
|
18
|
+
* "args": ["browser-use", "--mcp"],
|
|
19
|
+
* "env": {
|
|
20
|
+
* "OPENAI_API_KEY": "sk-proj-1234567890"
|
|
21
|
+
* }
|
|
22
|
+
* }
|
|
23
|
+
* }
|
|
24
|
+
* }
|
|
25
|
+
*/
|
|
26
|
+
import { z } from 'zod';
|
|
27
|
+
import type { Controller } from '../controller/service.js';
|
|
28
|
+
import { BrowserSession } from '../browser/session.js';
|
|
29
|
+
export interface MCPPromptTemplate {
|
|
30
|
+
name: string;
|
|
31
|
+
description: string;
|
|
32
|
+
arguments?: Array<{
|
|
33
|
+
name: string;
|
|
34
|
+
description?: string;
|
|
35
|
+
required?: boolean;
|
|
36
|
+
}>;
|
|
37
|
+
template: (args: Record<string, string>) => string;
|
|
38
|
+
}
|
|
39
|
+
export declare class MCPServer {
|
|
40
|
+
private server;
|
|
41
|
+
private tools;
|
|
42
|
+
private prompts;
|
|
43
|
+
private config;
|
|
44
|
+
private browserSession;
|
|
45
|
+
private controller;
|
|
46
|
+
private llm;
|
|
47
|
+
private fileSystem;
|
|
48
|
+
private startTime;
|
|
49
|
+
private isRunning;
|
|
50
|
+
private toolExecutionCount;
|
|
51
|
+
private errorCount;
|
|
52
|
+
private abortController;
|
|
53
|
+
constructor(name: string, version: string);
|
|
54
|
+
private resolvePath;
|
|
55
|
+
private getDefaultProfileConfig;
|
|
56
|
+
private getDefaultLlmConfig;
|
|
57
|
+
private sanitizeProfileConfig;
|
|
58
|
+
private buildDirectSessionProfile;
|
|
59
|
+
private buildRetryProfile;
|
|
60
|
+
private initializeLlmForDirectTools;
|
|
61
|
+
private initializeFileSystem;
|
|
62
|
+
private formatRetryResult;
|
|
63
|
+
private setupHandlers;
|
|
64
|
+
private ensureController;
|
|
65
|
+
private ensureBrowserSession;
|
|
66
|
+
private executeControllerAction;
|
|
67
|
+
private registerCoreBrowserTools;
|
|
68
|
+
/**
|
|
69
|
+
* Register default prompts for common browser automation tasks
|
|
70
|
+
*/
|
|
71
|
+
private registerDefaultPrompts;
|
|
72
|
+
/**
|
|
73
|
+
* Register a tool with the MCP server
|
|
74
|
+
*/
|
|
75
|
+
registerTool(name: string, description: string, inputSchema: z.ZodType | Record<string, any>, handler: (args: any) => Promise<any>): void;
|
|
76
|
+
/**
|
|
77
|
+
* Register all Controller actions as MCP tools
|
|
78
|
+
*/
|
|
79
|
+
registerControllerActions(controller: Controller<any>): Promise<void>;
|
|
80
|
+
/**
|
|
81
|
+
* Initialize the browser session
|
|
82
|
+
*/
|
|
83
|
+
initBrowserSession(browserSession: BrowserSession): Promise<void>;
|
|
84
|
+
/**
|
|
85
|
+
* Start the MCP server
|
|
86
|
+
*/
|
|
87
|
+
start(): Promise<void>;
|
|
88
|
+
/**
|
|
89
|
+
* Stop the MCP server and cleanup resources
|
|
90
|
+
*/
|
|
91
|
+
stop(): Promise<void>;
|
|
92
|
+
/**
|
|
93
|
+
* Register a prompt template
|
|
94
|
+
*/
|
|
95
|
+
registerPrompt(prompt: MCPPromptTemplate): void;
|
|
96
|
+
/**
|
|
97
|
+
* Get the number of registered tools
|
|
98
|
+
*/
|
|
99
|
+
getToolCount(): number;
|
|
100
|
+
/**
|
|
101
|
+
* Get the number of registered prompts
|
|
102
|
+
*/
|
|
103
|
+
getPromptCount(): number;
|
|
104
|
+
/**
|
|
105
|
+
* Get server health status
|
|
106
|
+
*/
|
|
107
|
+
getHealth(): {
|
|
108
|
+
status: 'healthy' | 'degraded' | 'unhealthy';
|
|
109
|
+
uptime: number;
|
|
110
|
+
toolExecutionCount: number;
|
|
111
|
+
errorCount: number;
|
|
112
|
+
errorRate: number;
|
|
113
|
+
browserSessionActive: boolean;
|
|
114
|
+
};
|
|
115
|
+
/**
|
|
116
|
+
* Get server statistics
|
|
117
|
+
*/
|
|
118
|
+
getStats(): {
|
|
119
|
+
toolsRegistered: number;
|
|
120
|
+
promptsRegistered: number;
|
|
121
|
+
uptime: number;
|
|
122
|
+
executionCount: number;
|
|
123
|
+
errorCount: number;
|
|
124
|
+
successRate: number;
|
|
125
|
+
};
|
|
126
|
+
/**
|
|
127
|
+
* Reset statistics
|
|
128
|
+
*/
|
|
129
|
+
resetStats(): void;
|
|
130
|
+
/**
|
|
131
|
+
* Check if server is running
|
|
132
|
+
*/
|
|
133
|
+
isServerRunning(): boolean;
|
|
134
|
+
}
|