Skip to main content

AI End-to-End Testing Framework Server

Project description

AIE2E MCP Server

The Python server component of the AI-powered end-to-end testing framework. This package provides the Model Context Protocol (MCP) server that executes browser automation tasks using AI agents.

Description

AIE2E MCP Server is the backend component that powers the AI End-to-End Testing Framework. It provides a Model Context Protocol (MCP) server for running browser-based tests using AI agents and supports both stdio and HTTP transport mechanisms.

Usage

The simplest way to run the MCP server is by using uv

Stdio Transport (Default)

The stdio transport is used by default and is recommended for most use cases. You must specify the LLM configuration:

uvx --from aie2e aie2e-server --model "gpt-4" --llm-provider "openai" --api-key "your-api-key"

HTTP Transport

The HTTP transport uses streamable HTTP and is useful for remote connections:

uvx --from aie2e aie2e-server --transport http --host 127.0.0.1 --port 3001 --model "claude-3-sonnet" --llm-provider "anthropic" --api-key "your-api-key"

Claude Code

To use this tool with Claude Code, configure it in your Claude Code MCP settings. Example .mcp.json:

{
  "mcpServers": {
    "aie2e": {
      "command": "uvx",
      "args": [
        "--from",
        "aie2e",
        "aie2e-server",
        "--model",
        "claude-3-5-sonnet-20241022",
        "--llm-provider",
        "anthropic"
      ],
      "env": {
        "ANTHROPIC_API_KEY": "your-anthropic-api-key-here"
      }
    }
  }
}

Using Environment Variables

The API key can be set using environment variables instead of the --api-key command line argument. Use the standard environment variable name for your chosen provider, as supported by Browser-Use

# Set the API key as an environment variable
export OPENAI_API_KEY="your-openai-key"
export ANTHROPIC_API_KEY="your-anthropic-key"
export GOOGLE_API_KEY="your-google-key"

MCP Protocol

The server implements the Model Context Protocol (MCP) and provides the following tools:

run_test_session

Executes browser-based test sessions with multiple test cases using AI agents.

Use Cases:

  • Test web applications end-to-end using AI agents
  • Validate user workflows across multiple pages or steps
  • Maintain state across a series of related test cases

MCP Tool Parameters:

  • description: Description of the test session
  • tests: Array of test cases to execute sequentially
  • allowed_domains: List of allowed domains for navigation (optional)
  • sensitive_data: Sensitive data for form filling (optional)

Returns: JSON string containing TestSessionResult with execution summary and statistics.

run_test_case

Executes a single browser-based test case using AI agents.

Use Cases:

  • Test user interactions with a web application using AI agents
  • Test a single specific workflow or task
  • Validate behavior of a web page or feature

MCP Tool Parameters:

  • task: Description of the task to be performed in the test case
  • initial_actions: List of initial actions to perform before the main task (optional)
  • use_vision: Whether to use vision capabilities in the test case (optional, default: false)
  • allowed_domains: List of allowed domains for navigation (optional)
  • sensitive_data: Sensitive data for form filling (optional)

Returns: JSON string containing TestSessionResult with execution summary for the single test case.

Server Configuration

Command Line Arguments: The server configuration is set once at startup via command line arguments:

  • --model: AI model to use (e.g., "gemini-2.5-pro", "gpt-4") - Required
  • --llm-provider: LLM provider (e.g., "google", "openai", "anthropic") - Required
  • --api-key: API key for the LLM provider (optional, can use environment variables like OPENAI_API_KEY)
  • --headless: Run browser in headless mode (default: false)

Integration

The MCP server is designed to work with MCP-compatible clients. For JavaScript/TypeScript projects, use the AIE2E Node.js client which automatically connects to this server.

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

Related Projects

License

MIT License - see LICENSE for details

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aie2e-0.1.3.tar.gz (11.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aie2e-0.1.3-py3-none-any.whl (11.1 kB view details)

Uploaded Python 3

File details

Details for the file aie2e-0.1.3.tar.gz.

File metadata

  • Download URL: aie2e-0.1.3.tar.gz
  • Upload date:
  • Size: 11.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for aie2e-0.1.3.tar.gz
Algorithm Hash digest
SHA256 4219f681d531a4e0363907b0d8a6cbdbc35e71a865ee7f161a3997500c7466b3
MD5 5adb203f8b1b3197360e190669b33415
BLAKE2b-256 134d8a40dbcca3583eef121df8e900f6e92dfeee5c2efeb5ee2eaf4fad6e125b

See more details on using hashes here.

Provenance

The following attestation bundles were made for aie2e-0.1.3.tar.gz:

Publisher: python-publish.yml on aie2e/aie2e-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aie2e-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: aie2e-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 11.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for aie2e-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a97c123ac67f936f97e17f9be4857bf172fc26153bf6aaa5953bf55ff0babd8b
MD5 904a36ed62627cd0243866cd74dbd68d
BLAKE2b-256 98e46e8d5a1d0158b576f773eb7775d55a4cb56f72ea9549263bdce672136f8f

See more details on using hashes here.

Provenance

The following attestation bundles were made for aie2e-0.1.3-py3-none-any.whl:

Publisher: python-publish.yml on aie2e/aie2e-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page