Skip to main content

Robot Framework MCP Server with SeleniumLibrary support for AI-powered test automation

Project description

Robot Framework MCP Server

A Model Context Protocol (MCP) server for Robot Framework test automation with custom features

Robot Framework Server MCP server

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 selectors
  • create_page_object_login(template_type="appLocator") - Generate login page object model with validation
  • create_data_driven_test(test_data_file="test_data.csv") - Generate data-driven test templates
  • create_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 apps
  • generic - Generic web application selectors
  • bootstrap - 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

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

robotframework_mcp-1.2.0.tar.gz (705.6 kB view details)

Uploaded Source

Built Distribution

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

robotframework_mcp-1.2.0-py3-none-any.whl (880.4 kB view details)

Uploaded Python 3

File details

Details for the file robotframework_mcp-1.2.0.tar.gz.

File metadata

  • Download URL: robotframework_mcp-1.2.0.tar.gz
  • Upload date:
  • Size: 705.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for robotframework_mcp-1.2.0.tar.gz
Algorithm Hash digest
SHA256 337b82d607aacd10c811e80d18f43fd44d91e61b6b82bf6c6c50c400dc110c96
MD5 d9bfab2c203fc30bcfd7e06e861f0dd7
BLAKE2b-256 ab465a179bc152fbe682a907dfb19b14b1c15f80d790798d9c58fb597377d0e9

See more details on using hashes here.

File details

Details for the file robotframework_mcp-1.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for robotframework_mcp-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 eb169b0cc3b0169dd38c54f2972edba10ea3e0717fb19d38a4aae775598f4922
MD5 a520d4d159c72918e86f232c5ab129bc
BLAKE2b-256 79512fe62e0aea896afe0789a598f4eb3592a13990957d9962309c5cac1c3e05

See more details on using hashes here.

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