Robot Framework MCP Server
A Model Context Protocol (MCP) server for Robot Framework test automation with custom features
Features
- 🤖 Generate Robot Framework test cases with SeleniumLibrary
- 📄 Create page object models for web testing
- ⚡ Advanced Selenium keywords for common web interactions
- 📸 Screenshot capabilities and performance monitoring
- 🎯 Input validation and configurable selectors
- 📊 Performance monitoring and metrics collection
- 🔄 Data-driven testing templates
- 🌐 API integration testing capabilities
Quick Demo Video
https://github.com/user-attachments/assets/47ef8f7b-e3f5-413c-b09f-40168a9d4b44
Prerequisites
- Python 3.10 or higher
- Node.js 14.0 or higher (for npx method)
- UV (for UV method - optional but recommended)
- Git (for installation from repository)
Installation & Usage
Method 1: Using npx (Node.js Package Manager)
Add to your MCP client configuration (e.g., mcp.json) in your VS code or VS code insider:
{
"servers": {
"robotframework-mcp": {
"command": "npx",
"args": [
"-y",
"git+https://github.com/sourcefuse/robotframework-MCP.git",
"--project-dir=/path/to/your/project"
],
"type": "stdio"
}
}
}
Method 2: Install from PyPI
# Install the package
pip3 install robotframework-mcp
# Run the MCP server
robotframework-mcp
For MCP Clients (VS code or VS code inside, etc.):
{
"mcpServers": {
"robotframework-mcp": {
"command": "robotframework-mcp",
"type": "stdio"
}
}
}
Method 3: Using UV
First install UV:
# Install UV (choose one method)
curl -LsSf https://astral.sh/uv/install.sh | sh # Unix/macOS
# OR
pip install uv # Any platform
# OR on Windows PowerShell (as Administrator)
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
Then add to your MCP configuration:
{
"servers": {
"robotframework-mcp": {
"command": "uv",
"args": [
"run",
"--with",
"git+https://github.com/sourcefuse/robotframework-MCP.git",
"python",
"-c",
"import mcp_server; mcp_server.main()"
],
"type": "stdio"
}
}
}
Method 4: Clone Repository (Development/Local Setup)
For development or when you want to modify the source code:
# Clone the repository
git clone https://github.com/sourcefuse/robotframework-MCP.git
cd robotframework-MCP
# Create virtual environment
python3 -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Run the MCP server directly
python mcp_server.py
For MCP Clients (VS Code, Claude Desktop, etc.):
{
"servers": {
"robotframework-mcp": {
"command": "python",
"args": ["/path/to/cloned/robotframework-MCP/mcp_server.py"],
"type": "stdio"
}
}
}
Or using the Node.js wrapper from cloned repo:
{
"servers": {
"robotframework-mcp": {
"command": "node",
"args": [
"/path/to/cloned/robotframework-MCP/bin/robotframework-mcp.js",
"--project-dir=/path/to/your/project"
],
"type": "stdio"
}
}
}
Available Tools
The MCP server provides the following comprehensive tools for Robot Framework test automation:
🔧 Core Test Generation
create_login_test_case(url, username, password, template_type="appLocator")- Generate validated login test with configurable selectorscreate_page_object_login(template_type="appLocator")- Generate login page object model with validationcreate_data_driven_test(test_data_file="test_data.csv")- Generate data-driven test templatescreate_api_integration_test(base_url, endpoint, method="GET")- Generate API + UI integration tests
⚡ Advanced Keywords
create_advanced_selenium_keywords()- Generate advanced SeleniumLibrary keywords (dropdowns, checkboxes, file uploads, alerts, etc.)create_extended_selenium_keywords()- Generate extended keywords with screenshots, performance monitoring, and window management
📊 Performance & Monitoring
create_performance_monitoring_test()- Generate comprehensive performance testing with metrics collection
🔍 Validation & Syntax
validate_robot_framework_syntax(robot_code)- Validate Robot Framework syntax and provide improvement suggestions
📋 Template Options
The server supports multiple selector templates for different applications:
appLocator(default) - For web appsgeneric- Generic web application selectorsbootstrap- Bootstrap-based applications
🎯 Input Validation
All tools include comprehensive input validation:
- URL validation with protocol checking
- Credential sanitization and length limits
- Selector format validation
- Safe variable substitution in templates
🤝 Contributing
Contributions are welcome! To contribute:
- Fork the repository
- Create a new branch
- Submit a pull request with a detailed description
📬 Contact
Name: Meenu Rani Email: meenu.rani@sourcefuse.com GitHub: meenurani1
License
This project is licensed under the MIT License - see the LICENSE file for details.
Copyright (c) 2025 Sourcefuse
Metadata
Release files for robotframework-mcp 1.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| robotframework_mcp-1.2.0.tar.gz | 705.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| robotframework_mcp-1.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.6 MB
Release files / robotframework_mcp-1.2.0.tar.gz
| Download URL | robotframework_mcp-1.2.0.tar.gz |
|---|---|
| Size | 705.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
337b82d607aacd10c811e80d18f43fd44d91e61b6b82bf6c6c50c400dc110c96
|
|
BLAKE2b-256 checksum How to use checksums |
ab465a179bc152fbe682a907dfb19b14b1c15f80d790798d9c58fb597377d0e9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|
Release files / robotframework_mcp-1.2.0-py3-none-any.whl
| Download URL | robotframework_mcp-1.2.0-py3-none-any.whl |
|---|---|
| Size | 880.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
eb169b0cc3b0169dd38c54f2972edba10ea3e0717fb19d38a4aae775598f4922
|
|
BLAKE2b-256 checksum How to use checksums |
79512fe62e0aea896afe0789a598f4eb3592a13990957d9962309c5cac1c3e05
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|
Security for robotframework-mcp 1.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.