mcpField
B
Browser JavaScript Evaluator

Browser JavaScript Evaluator

Local
github.com/matdmillerBrowser Automation0Updated 84w ago

About Browser JavaScript Evaluator

Browser JavaScript Evaluator is a Python MCP server for running JavaScript in a browser. It connects to the browser over SSE and passes code and results between the page and server through a REST API.

Key features

  1. 01Run arbitrary JavaScript in a browser
  2. 02Connect the browser over SSE
  3. 03Pass execution requests through a REST API
  4. 04Provide a browser-based addition tool

Use cases

  1. 01Run browser JavaScript from an MCP client
  2. 02Retrieve results from scripts executed in a page

MCP support

The MCP server provides a JavaScript execution tool and sends code to an SSE-connected browser through a REST API. It can run arbitrary JavaScript, which carries security risks.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

Browser JavaScript Evaluator

This project provides a way to execute JavaScript code in a browser from Python using MCP (Model Control Protocol).

⚠️ WARNING ⚠️

This MCP server can execute arbitrary JavaScript in your browser. This can be dangerous. Be aware of the implications of this before using this plugin. Use at your own risk.

Architecture

The project is split into two main components:

  1. Web Server (web_server.py):

    • Handles browser connections via Server-Sent Events (SSE)
    • Provides a REST API endpoint for executing JavaScript
    • Returns results synchronously
  2. MCP Server (mcp_server.py):

    • Manages the lifecycle of the web server
    • Provides MCP tools for executing JavaScript
    • Communicates with the web server via REST API calls

How It Works

  1. The MCP server starts the web server during its lifecycle initialization
  2. A browser connects to the web server via SSE
  3. When an MCP tool is called, it makes a REST API call to the web server
  4. The web server sends the JavaScript code to the browser via SSE
  5. The browser executes the code and sends the result back to the web server
  6. The web server returns the result to the MCP server
  7. The MCP server returns the result to the caller

Usage

Add the MCP server to your Claude config
  ...
  "browser-js-evaluator": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/this/repo/mcp_py_sse_browser_control",
        "run",
        "browser_server.py"
      ]
    }
  }
  ...

When you launch Claude Desktop this will start both the MCP server and the web server. Then open a browser and navigate to http://127.0.0.1:8000 to connect to the web server.

Using the MCP Tools

The MCP server provides two tools:

  1. execute_javascript: Execute arbitrary JavaScript code in the browser
  2. add_numbers: Add two numbers together using JavaScript in the browser

These tools can be called from any MCP client.

Development

To run the web server independently (for testing):

python web_server.py

This will start only the web server without the MCP integration.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.