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 sessiontests: Array of test cases to execute sequentiallyallowed_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 caseinitial_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 likeOPENAI_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
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
Related Projects
- AIE2E Client - Node.js client component
- Model Context Protocol - Protocol specification
- Browser Use - Underlying browser automation library
License
MIT License - see LICENSE for details
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4219f681d531a4e0363907b0d8a6cbdbc35e71a865ee7f161a3997500c7466b3
|
|
| MD5 |
5adb203f8b1b3197360e190669b33415
|
|
| BLAKE2b-256 |
134d8a40dbcca3583eef121df8e900f6e92dfeee5c2efeb5ee2eaf4fad6e125b
|
Provenance
The following attestation bundles were made for aie2e-0.1.3.tar.gz:
Publisher:
python-publish.yml on aie2e/aie2e-server
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aie2e-0.1.3.tar.gz -
Subject digest:
4219f681d531a4e0363907b0d8a6cbdbc35e71a865ee7f161a3997500c7466b3 - Sigstore transparency entry: 562677407
- Sigstore integration time:
-
Permalink:
aie2e/aie2e-server@47609bf08984c09dadea9b00fbab93ef8fc82956 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/aie2e
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@47609bf08984c09dadea9b00fbab93ef8fc82956 -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a97c123ac67f936f97e17f9be4857bf172fc26153bf6aaa5953bf55ff0babd8b
|
|
| MD5 |
904a36ed62627cd0243866cd74dbd68d
|
|
| BLAKE2b-256 |
98e46e8d5a1d0158b576f773eb7775d55a4cb56f72ea9549263bdce672136f8f
|
Provenance
The following attestation bundles were made for aie2e-0.1.3-py3-none-any.whl:
Publisher:
python-publish.yml on aie2e/aie2e-server
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aie2e-0.1.3-py3-none-any.whl -
Subject digest:
a97c123ac67f936f97e17f9be4857bf172fc26153bf6aaa5953bf55ff0babd8b - Sigstore transparency entry: 562677408
- Sigstore integration time:
-
Permalink:
aie2e/aie2e-server@47609bf08984c09dadea9b00fbab93ef8fc82956 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/aie2e
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@47609bf08984c09dadea9b00fbab93ef8fc82956 -
Trigger Event:
push
-
Statement type: