Cover image
Try Now
2025-03-23

This is a reference design for a MCP server that hosts a web page that connects back to the server via sse and allows Claude to execute javascript on the page.

3 years

Works with Finder

1

Github Watches

1

Github Forks

0

Github Stars

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.

相关推荐

  • NiKole Maxwell
  • I craft unique cereal names, stories, and ridiculously cute Cereal Baby images.

  • Bora Yalcin
  • Evaluator for marketplace product descriptions, checks for relevancy and keyword stuffing.

  • Joshua Armstrong
  • Confidential guide on numerology and astrology, based of GG33 Public information

  • https://suefel.com
  • Latest advice and best practices for custom GPT development.

  • Callycode Limited
  • A geek-themed horoscope generator blending Bitcoin prices, tech jargon, and astrological whimsy.

  • Emmet Halm
  • Converts Figma frames into front-end code for various mobile frameworks.

  • Khalid kalib
  • Write professional emails

  • Elijah Ng Shi Yi
  • Advanced software engineer GPT that excels through nailing the basics.

  • https://maiplestudio.com
  • Find Exhibitors, Speakers and more

  • Lists Tailwind CSS classes in monospaced font

  • apappascs
  • Discover the most comprehensive and up-to-date collection of MCP servers in the market. This repository serves as a centralized hub, offering an extensive catalog of open-source and proprietary MCP servers, complete with features, documentation links, and contributors.

  • ShrimpingIt
  • Micropython I2C-based manipulation of the MCP series GPIO expander, derived from Adafruit_MCP230xx

  • OffchainLabs
  • Go implementation of Ethereum proof of stake

  • huahuayu
  • A unified API gateway for integrating multiple etherscan-like blockchain explorer APIs with Model Context Protocol (MCP) support for AI assistants.

  • deemkeen
  • control your mbot2 with a power combo: mqtt+mcp+llm

    Reviews

    4 (1)
    Avatar
    user_68wg2nnk
    2025-04-16

    I've been using Z3 Theorem Prover with Functional Programming for several months now, and it has significantly improved my workflow. The integration of functional programming paradigms with theorem proving is seamless, enabling complex logical verifications more intuitively. Javergar has done an exceptional job in creating a tool that is both powerful and user-friendly. Highly recommended for anyone serious about functional programming and formal verification.