Back to Home
MoonsurfAI icon

browser-mcp-server

by MoonsurfAI

Overview

Automates web browser interactions for AI agents using a streamlined Model Context Protocol to enable AI-native web control.

Installation

Run Command
npx @moonsurf/browser-control

Environment Variables

  • REMOTE_MODE
  • HOST
  • PORT
  • WS_PORT_START
  • WS_PORT_END
  • AUTH_ENABLED
  • AUTH_TOKENS
  • TLS_ENABLED
  • TLS_CERT_PATH
  • TLS_KEY_PATH
  • CORS_ENABLED
  • CORS_ORIGINS
  • CORS_CREDENTIALS
  • RATE_LIMIT_ENABLED
  • RATE_LIMIT_MAX_CONNECTIONS
  • RATE_LIMIT_MAX_CALLS
  • HEADLESS_DEFAULT
  • BROWSER_DEFAULT_MODE
  • LOG_LEVEL
  • AUDIT_LOG_ENABLED

Security Notes

The server includes placeholder OAuth compatibility endpoints (`/.well-known/oauth-authorization-server`, `/oauth/register`, `/oauth/authorize`, `/oauth/token`). These endpoints are explicitly *not* protected by the server's authentication mechanism, meaning they are accessible even when `AUTH_ENABLED` is set to `true`. Specifically: - `/oauth/token` returns a hardcoded `access_token: 'local-access-token'` without any authentication or validation. - `/oauth/register` returns a hardcoded `client_secret: 'not-secret'`. - `/oauth/authorize` automatically redirects with an `auto-approved-code`. While these seem intended for compatibility or local testing, their complete lack of protection creates a significant vulnerability if the server is exposed publicly, potentially allowing attackers to exploit or misuse these endpoints. Additional minor concerns: - Token authentication via URL query parameters (`?token=`) for SSE connections, which can lead to token leakage in server logs or browser history. - The `--no-sandbox` flag is used when launching browsers on Linux, which can reduce the browser's security posture in certain environments.

Similar Servers

Stats

Interest Score0
Security Score4
Cost ClassLow
Avg Tokens150
Stars0
Forks0
Last Update2026-01-18

Tags

AI-nativeBrowser AutomationMCPLLM ToolsWeb Control