skills/open-source/references/integrations.md
HTTP-based MCP server at https://api.browser-use.com/mcp
Claude Code:
claude mcp add --transport http browser-use https://api.browser-use.com/mcp
Claude Desktop (macOS ~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"browser-use": {
"type": "http",
"url": "https://api.browser-use.com/mcp",
"headers": { "x-browser-use-api-key": "your-api-key" }
}
}
}
Cursor (~/.cursor/mcp.json):
{
"mcpServers": {
"browser-use": {
"type": "http",
"url": "https://api.browser-use.com/mcp",
"headers": { "x-browser-use-api-key": "your-api-key" }
}
}
}
Windsurf (~/.codeium/windsurf/mcp_config.json):
{
"mcpServers": {
"browser-use": {
"type": "http",
"url": "https://api.browser-use.com/mcp",
"headers": { "x-browser-use-api-key": "your-api-key" }
}
}
}
| Tool | Cost | Description |
|---|---|---|
browser_task | $0.01 + per-step | Run browser automation task |
execute_skill | $0.02 | Execute a skill |
list_skills | Free | List available skills |
get_cookies | Free | Get cookies |
list_browser_profiles | Free | List cloud profiles |
monitor_task | Free | Check task progress |
browser_task params: task (required), max_steps (1-10, default 8), profile_id (UUID)
Free, self-hosted stdio-based server:
uvx --from 'browser-use[cli]' browser-use --mcp
macOS (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"browser-use": {
"command": "/Users/your-username/.local/bin/uvx",
"args": ["--from", "browser-use[cli]", "browser-use", "--mcp"],
"env": {
"OPENAI_API_KEY": "your-key"
}
}
}
}
Note: Use full path to uvx on macOS/Linux (run which uvx to find it).
Agent: retry_with_browser_use_agent — full automation task
Direct Control:
browser_navigate — Go to URLbrowser_click — Click element by indexbrowser_type — Type textbrowser_get_state — Page state + interactive elementsbrowser_scroll — Scroll pagebrowser_go_back — Back in historyTabs: browser_list_tabs, browser_switch_tab, browser_close_tab
Extraction: browser_extract_content — Structured extraction
Sessions: browser_list_sessions, browser_close_session, browser_close_all
OPENAI_API_KEY or ANTHROPIC_API_KEY — LLM key (required)BROWSER_USE_HEADLESS — false to show browserBROWSER_USE_DISABLE_SECURITY — true to disable securityBROWSER_USE_LOGGING_LEVEL — DEBUG for verbose logsfrom mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client
async def use_browser_mcp():
server_params = StdioServerParameters(
command="uvx",
args=["--from", "browser-use[cli]", "browser-use", "--mcp"]
)
async with stdio_client(server_params) as (read, write):
async with ClientSession(read, write) as session:
await session.initialize()
result = await session.call_tool("browser_navigate", arguments={"url": "https://example.com"})
Load cloud skills into agents as reusable API endpoints:
agent = Agent(
task='Analyze TikTok and Instagram profiles',
skills=[
'a582eb44-e4e2-4c55-acc2-2f5a875e35e9', # TikTok Scraper
'f8d91c2a-3b4e-4f7d-9a1e-6c8e2d3f4a5b', # Instagram Scraper
],
llm=ChatBrowserUse()
)
await agent.run()
skills=['*'] for all skills (each adds ~200 tokens to prompt)BROWSER_USE_API_KEYRead-only docs access (no browser automation):
Claude Code:
claude mcp add --transport http browser-use-docs https://docs.browser-use.com/mcp
Cursor (~/.cursor/mcp.json):
{
"mcpServers": {
"browser-use-docs": { "url": "https://docs.browser-use.com/mcp" }
}
}
No API key needed. Provides API reference, config options, best practices, examples.