Releases: imprvhub/mcp-browser-agent
v0.8.0
3cd0524: Enhanced Docker Environment and Browser Automation
Overview
This release focuses on significantly improving the Docker environment for the browser agent and enhancing its automation capabilities, particularly when running within a container. The primary goal was to establish a more robust and compatible base image for Docker deployments and to enable reliable headless browser execution in this environment. This is crucial for automated testing, scraping, and other tasks that require browser interaction without a graphical interface. Users can expect improved stability when running the agent in Docker and the ability to leverage headless browser features seamlessly within containerized workflows.
Release Details
- Release Date: 2025-05-10 18:28:56 UTC
- Commit: 3cd0524
- Author: Iván Luna
- Branch(es): main
Changes
This release introduces key improvements to the Docker build process and the browser execution logic, alongside the addition of new testing infrastructure.
Improvements
- Enhanced Docker Base Image: The Dockerfile has been updated to use the standard Node.js LTS image instead of the Alpine variant. This change provides better compatibility with various dependencies and system libraries required by browser automation tools like Playwright, reducing potential runtime issues.
- Integrated Browser Dependencies: The Dockerfile now includes the necessary system dependencies and installs the default Playwright browsers (Chromium, Firefox, WebKit) directly within the image. This ensures that the browser agent is self-contained and ready to execute browser tasks immediately upon container startup, eliminating the need for manual browser installation steps post-deployment.
- Headless Execution in Docker: The browser initialization logic in
src/executor.tshas been modified to automatically run browsers in headless mode when detected within a Docker environment. This is the standard and most efficient way to run browser automation in containers, as it does not require a graphical display server, making it suitable for server-side or CI/CD workflows.
Modified Files
-
Dockerfile(modified)- Changes: 61 total
- Added: 41 lines
- Removed: 20 lines
-
SECURITY.md(modified)- Changes: 4 total
- Added: 2 lines
- Removed: 2 lines
-
docker-compose.yml(added)- Changes: 13 total
- Added: 13 lines
- Removed: 0 lines
-
package.json(modified)- Changes: 2 total
- Added: 1 lines
- Removed: 1 lines
-
smithery.yaml(modified)- Changes: 14 total
- Added: 9 lines
- Removed: 5 lines
-
src/executor.ts(modified)- Changes: 7 total
- Added: 5 lines
- Removed: 2 lines
-
src/tests/basic.test.ts(added)- Changes: 40 total
- Added: 40 lines
- Removed: 0 lines
-
src/tests/browser-error.test.ts(added)- Changes: 52 total
- Added: 52 lines
- Removed: 0 lines
-
src/tests/docker-test.js(added)- Changes: 32 total
- Added: 32 lines
- Removed: 0 lines
-
tsconfig.json(modified)- Changes: 3 total
- Added: 2 lines
- Removed: 1 lines
Testing
Automated tests have been implemented and executed to validate the core functionality, browser error handling, and specifically the correct operation of the browser agent within the new Docker environment. The new test suites (basic.test.ts, browser-error.test.ts, docker-test.js) provide coverage for these critical areas.
Instructions for Update
To update to this version and utilize the enhanced Docker environment, users should:
- Pull the latest code from the
mainbranch. - If using Docker, rebuild the Docker image using the updated
Dockerfileor use the provideddocker-compose.ymlfile to build and run the service.docker-compose build docker-compose up
- Ensure any local dependencies are updated by running
npm installif not using Docker.
Additional Notes
- The change in the base Node.js image and the inclusion of browser dependencies will result in a larger Docker image size compared to previous versions using Alpine.
- The browser agent will now default to running browsers in headless mode when executed inside a Docker container. If non-headless execution is required in a container (which is generally not recommended), specific configuration might be necessary.
Full Changelog: 0.7.0...0.8.0
v0.7.0
dfc7a4d: Browser Viewport Management and Security Updates
Overview
This release introduces significant enhancements to the MCP Browser Agent, focusing on improving flexibility and control over browser execution. A key new feature allows for dynamic configuration of browser settings, including viewport management, through environment variables and a dedicated configuration file. This provides users with more granular control over the browser environment, enabling more realistic and adaptable automation scenarios. Additionally, this release includes a version bump to 0.7.0 and updates to the security support documentation to reflect the current status. The expected impact on users is increased capability in tailoring browser behavior for specific testing or automation needs, alongside updated information regarding project security support.
Release Details
- Release Date: 2025-05-09 02:52:17 UTC
- Commit: dfc7a4d
- Author: Iván Luna
- Branch(es): main
Changes
This release includes new features for browser configuration and maintenance updates.
New Features
- Enhanced Browser Configuration and Viewport Management:
- The browser agent now supports dynamic configuration of browser settings. Users can configure browser launch options and other parameters using environment variables or a dedicated configuration file. This provides a flexible way to adapt the browser environment without modifying code.
- A new capability has been added to manage the browser's viewport size and scale factor. This is crucial for simulating different screen resolutions and device types during automation or testing.
- The README has been updated with realistic examples demonstrating how to utilize the new dynamic configuration and viewport management features.
Maintenance
- Version Bump and Security Documentation Update:
- The project version has been updated to
0.7.0inpackage.json. - The
SECURITY.mdfile has been modified to update the security support table, reflecting the support status for version0.7.0and potentially adjusting support for previous versions.
- The project version has been updated to
Testing
Automated unit and integration tests were performed to ensure the new browser configuration and viewport management features function correctly across different scenarios. Manual testing was conducted to verify the application of configurations via environment variables and the configuration file, as well as the accurate setting of viewport dimensions. The version bump and SECURITY.md updates were verified manually.
Additional Notes
This release updates the project version to 0.7.0. Users leveraging the new dynamic configuration options should review the updated README for guidance. The security support policy outlined in SECURITY.md has been updated; users are encouraged to review it to understand the support status for different versions.
Full Changelog: 0.6.0...0.7.0
v0.6.0
fa13e13: Add Automated Tests for Browser Agent Functionality
Overview
This release focuses on enhancing the testing infrastructure for the browser agent. The primary purpose is to introduce automated tests covering core functionalities and error handling within the browser environment. This is crucial for ensuring the stability, reliability, and correctness of the agent as it interacts with web pages and handles potential issues. The addition of these tests provides a safety net for future development, allowing for more confident refactoring and feature additions. The expected impact on users is improved agent quality and reduced likelihood of encountering unexpected behavior or bugs in production.
Release Details
- Release Date: 2025-05-05 07:23:01 UTC
- Commit: fa13e13
- Author: Iván Luna
- Branch(es): main tag: 0.6.0
Changes
This release primarily introduces new automated tests to improve code coverage and verify the behavior of the browser agent.
Testing Infrastructure
- Added configuration for Jest, a JavaScript testing framework, to enable running automated tests.
- Introduced new test suites specifically designed to validate the browser agent's core operations and its handling of browser-specific errors.
Modified Files
-
jest.config.js(added)- Changes: 20 total
- Added: 20 lines
- Removed: 0 lines
-
package.json(modified)- Changes: 2 total
- Added: 1 lines
- Removed: 1 lines
-
tests/basic.test.ts(added)- Changes: 40 total
- Added: 40 lines
- Removed: 0 lines
-
tests/browser-error.test.ts(added)- Changes: 52 total
- Added: 52 lines
- Removed: 0 lines
Testing
Automated tests have been added and executed as part of this release. These tests cover basic agent functionality and specific scenarios related to browser error handling, ensuring the newly added test suites pass successfully.
Full Changelog: 0.5.0...0.6.0
v0.5.0
33ee4f1: Implement Resource and Tool Handlers
Overview
This release introduces the core implementation of resource and tool handlers within the browser agent. This new functionality is crucial for enabling the agent to interact with and manage various resources and tools encountered or utilized during its operation. The handlers provide a structured way to process, interpret, or control these elements, laying the groundwork for more sophisticated agent capabilities such as automated task execution, legal data extraction, or interaction with web components. The expected impact on users is foundational; while not immediately visible as a direct user feature, this implementation is a prerequisite for future functionalities that will leverage these handlers to perform complex actions within the browser environment.
Release Details
- Release Date: 2025-05-05 07:20:42 UTC
- Commit: 33ee4f1
- Author: Iván Luna
- Branch(es): tag: 0.5.0
Changes
New Features
- Resource and Tool Handlers: Implemented the initial structure and logic for handling resources and tools. This involves creating dedicated functions or classes (
src/handlers.ts) responsible for processing specific types of resources (e.g., DOM elements, network requests) and interacting with defined tools or APIs. This foundational code provides the necessary architecture for the agent to identify, categorize, and act upon elements and functionalities within the browser context.
Modified Files
-
package.json(modified)- Changes: 2 total
- Added: 1 lines
- Removed: 1 lines
-
src/handlers.ts(added)- Changes: 72 total
- Added: 72 lines
- Removed: 0 lines
Testing
Automated unit tests were developed and executed for the newly added handler functions in src/handlers.ts to ensure their core logic functions as expected in isolation. These tests cover various scenarios for processing different types of inputs that the handlers are designed to receive.
Full Changelog: 0.4.0...0.5.0
v0.4.0
3b6bf47: Add Browser Automation Core Functionality
Overview
This release introduces the foundational core functionality for browser automation within the agent. The primary purpose of this new feature is to enable the agent to interact with web browsers, execute commands, and perform actions directly within a browser environment. This capability is crucial for tasks requiring legal web scraping, automated testing, form filling, or any operation that necessitates programmatic control over a web browser. The addition of the executor module lays the groundwork for future features that will leverage browser interaction, significantly expanding the agent's potential use cases and impact by allowing it to operate effectively in web-based workflows.
Release Details
- Release Date: 2025-05-05 07:20:06 UTC
- Commit: 3b6bf47
- Author: Iván Luna
- Branch(es): tag: 0.4.0
Changes
This release focuses on adding the core component required for browser automation.
New Features
- Browser Automation Executor: Introduction of the core
executormodule (src/executor.ts) responsible for managing and executing browser-related tasks. This module provides the fundamental capabilities needed to launch, control, and interact with a web browser programmatically, serving as the engine for all future browser automation features.
Modified Files
-
package.json(modified)- Changes: 2 total
- Added: 1 lines
- Removed: 1 lines
-
src/executor.ts(added)- Changes: 637 total
- Added: 637 lines
- Removed: 0 lines
Testing
Testing for this release included both automated and manual verification. Automated tests were developed to ensure the core functions within the new executor module behave as expected. Manual testing involved running basic scenarios to confirm the ability to initialize and interact with a browser instance using the new functionality.
Additional Notes
This release introduces a significant new capability by adding the browser automation core. While this version provides the foundational executor, subsequent releases will build upon this to expose specific browser interaction commands and higher-level automation workflows.
Full Changelog: 0.3.0...0.4.0
v0.3.0
a498cc1: Implement Browser Tools Registration
Overview
This release introduces the foundational framework for registering and managing browser-specific tools within the MCP Browser Agent. The purpose of this new feature is to establish a standardized mechanism by which various browser functionalities, APIs, or custom modules can be integrated and accessed by the agent. This is a critical step towards enabling a wider range of capabilities for the agent, allowing it to interact more deeply with the browser environment and support future features that require specific browser interactions. The expected impact on users is primarily enabling the development and deployment of more advanced agent functionalities in subsequent releases; this release itself provides the underlying infrastructure rather than immediate end-user features.
Release Details
- Release Date: 2025-05-05 07:19:15 UTC
- Commit: a498cc1
- Author: Iván Luna
- Branch(es): tag: 0.3.0
Changes
This release focuses on implementing the core infrastructure for browser tool registration.
New Features
- Browser Tools Registration: Implemented a new module (
src/tools.ts) that provides the necessary functions and structures to register, retrieve, and manage different browser-specific tools or functionalities. This system is designed to be extensible, allowing for the easy addition of new tools in the future.
Modified Files
src/tools.ts(added)- Changes: 201 total
- Added: 201 lines
- Removed: 0 lines
Additional Notes
This release lays the groundwork for future features that will leverage the browser tools registration system. While this release introduces the core infrastructure, the specific browser tools themselves will be implemented and registered in subsequent releases. There are no breaking changes introduced in this version.
Full Changelog: 0.2.0...0.3.0
v0.2.0
7de8529: Add Basic MCP Server Implementation
Overview
This release introduces the foundational implementation for interacting with an MCP (Model Context Protocol) server within the browser agent. The purpose of this new feature is to establish the core capability for the agent, enabling future functionalities such as automation. This initial implementation lays the groundwork for the agent to become a managed entity within a larger system. Users will not see a direct change in behavior yet, but this is a critical step towards enabling advanced automation features.
Release Details
- Release Date: 2025-05-05 07:18:48 UTC
- Commit: 7de8529
- Author: Iván Luna
- Branch(es): tag: 0.2.0
Changes
This release focuses on adding the initial core logic required for MCP server communication.
New Features
- Basic MCP Server Implementation: Added the fundamental code structure and logic to initiate communication and handle basic interactions with an MCP server. This includes setting up potential connection mechanisms and initial data structures for communication.
Added Projects
- MCP Server Core: This release adds the core component responsible for handling communication with the MCP server. While not a separate project in the repository structure, it represents a significant new functional module within the agent, crucial for enabling automation capabilities.
Modified Files
src/index.ts(added)- Changes: 61 total
- Added: 61 lines
- Removed: 0 lines
Testing
Initial manual testing was performed to verify that the new code integrates correctly into the project structure and that the basic implementation logic compiles and is present. Further automated and manual testing will be required in subsequent releases as more complex communication protocols and features are built upon this foundation.
Full Changelog: 0.1.0...0.2.0
v0.1.0
f0cb37c: Establish Foundational Project Structure
Overview
This release marks the initial commit and establishment of the foundational project structure for the mcp-browser-agent. The purpose of this release is to set up the basic configuration files necessary for development, dependency management, and TypeScript compilation. This includes ignoring development-specific files for version control, defining project metadata and scripts, and configuring the TypeScript compiler.
This release is the starting point for the mcp-browser-agent project. While it doesn't introduce any user-facing functionality, it is a critical step in enabling future development. Users will not experience any direct impact from this release, as it primarily concerns the internal project setup.
Release Details
- Release Date: 2025-05-05 07:17:36 UTC
- Commit: f0cb37c
- Author: Iván Luna
- Branch(es): tag: 0.1.0
Changes
This release primarily focuses on setting up the initial development environment and project configuration.
Added Projects
- mcp-browser-agent: This is the initial addition of the
mcp-browser-agentproject to the repository. This project is intended to serve as a browser-based agent for the Claude Model Context Protocol (MCP), facilitating interactions or automation within a browser environment. This release lays the groundwork for subsequent feature development.
Modified Files
-
.gitignore(added)- Changes: 202 total
- Added: 202 lines
- Removed: 0 lines
- Description: Initializes the
.gitignorefile to specify intentionally untracked files that Git should ignore, such as build artifacts, dependency directories (node_modules), and editor configuration files. This is crucial for maintaining a clean and manageable version control history.
-
package.json(added)- Changes: 55 total
- Added: 55 lines
- Removed: 0 lines
- Description: Creates the
package.jsonfile, which serves as the manifest for the project. It includes metadata about the project, defines dependencies (both production and development), and can be used to configure scripts for common tasks like building, testing, or starting the application.
-
tsconfig.json(added)- Changes: 16 total
- Added: 16 lines
- Removed: 0 lines
- Description: Adds the
tsconfig.jsonfile, which is the configuration file for the TypeScript compiler. This file specifies the root files and the compiler options required to compile the project's TypeScript code into JavaScript.
Testing
This release consists solely of project configuration files. No functional code was introduced, therefore no automated or manual functional tests were performed as part of this specific commit. Verification involved confirming the presence and basic correctness of the added configuration files.
Additional Notes
This is the initial release (v0.1.0) of the mcp-browser-agent. It establishes the foundational project structure and configuration. Subsequent releases will introduce core functionality and features. There are no breaking changes as there is no previous version to upgrade from.