Skip to main content
Glama
sourcefuse

Robot Framework MCP Server

by sourcefuse

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

  • πŸ–₯️ Live browser control β€” launch, click, type, screenshot without writing .robot files

  • πŸš€ CI/CD pipeline generation for GitHub Actions

Related MCP server: Playwright MCP Server

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"  //Optional- If you want to run the mcp for local virtual environment or specific project only
      ],
      "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

πŸ–₯️ Live Browser Control

Drive a real browser directly β€” no .robot file needed. All tools share a persistent session and support Robot Framework-style selector prefixes (id=, css=, xpath=, name=, class=, tag=, link=, partial_link=).

Tool

Description

browser_launch(url, browser="Chrome", headless=False)

Open Chrome or Firefox and navigate to a URL

browser_navigate(url)

Go to a new URL in the active session

browser_click(selector, timeout=10)

Click an element, waits until it is clickable

browser_send_keys(selector, text, clear_first=True, timeout=10)

Type into an input field

browser_get_text(selector, timeout=10)

Read visible text from an element

browser_wait_for_element(selector, state="visible", timeout=10)

Wait for visible, present, clickable, or hidden

browser_screenshot(filename="")

Save a PNG screenshot, returns the file path

browser_close()

Quit the browser and clean up the session

Example β€” AI-driven login flow:

browser_launch("https://example.com")
browser_send_keys("id=username", "admin")
browser_send_keys("id=password", "secret")
browser_click("css=button[type='submit']")
browser_screenshot("results/after_login.png")
browser_close()

Note: ChromeDriver must match your installed Chrome version. Update with brew upgrade chromedriver (macOS) or download from googlechromelabs.github.io/chrome-for-testing.

πŸš€ CI/CD Pipeline Generation

  • create_cicd_pipeline(project_name, python_version, test_directory, trigger_branches, schedule, output_dir, requirements_file) - Generate a GitHub Actions workflow file ready to drop into .github/workflows/

The generated workflow:

  • Triggers on push and pull requests to specified branches

  • Supports optional cron schedule (e.g. "0 9 * * 1-5" for weekdays at 09:00 UTC)

  • Auto-detects the Python version from the current environment (can be overridden)

  • Sets up Chrome in headless mode on the runner

  • Installs from requirements.txt if present, falls back to core packages

  • Uploads the full results/ folder as a build artifact (30-day retention)

  • Parses output.xml and reports pass/fail counts; fails the job if any test fails

Example:

create_cicd_pipeline(
    project_name="my-rf-tests",
    trigger_branches="main, develop",
    schedule="0 9 * * 1-5",   # weekdays 09:00 UTC
    test_directory="tests/",
)

Save the output to .github/workflows/robot-tests.yml in your repository.

πŸ“‹ 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

Available Tools

8 tools
create_advanced_selenium_keywordsA

Generate Robot Framework keywords for advanced Selenium operations. Returns .robot file content as text - does not execute.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool generates keywords and returns .robot file content as text without execution, which clarifies it's a read-only generation tool. However, it lacks details on potential constraints (e.g., rate limits, input validation), error handling, or what constitutes 'advanced' operations, leaving gaps in behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is highly concise and front-loaded, consisting of two clear sentences: one stating the purpose and another clarifying the output and non-execution behavior. Every sentence adds value without redundancy, making it efficient and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 0 parameters, 100% schema coverage, and an output schema exists (so return values are documented elsewhere), the description is reasonably complete. It covers the core purpose and output format. However, it could be more complete by defining 'advanced' operations or differentiating from siblings, but for a parameterless tool with good schema support, this is adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters, and schema description coverage is 100%, so there are no parameters to document. The description doesn't need to compensate for any parameter gaps. A baseline of 4 is appropriate since no parameter information is required, and the description doesn't mislead about inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Generate Robot Framework keywords for advanced Selenium operations.' It specifies both the verb ('Generate') and resource ('Robot Framework keywords'), and indicates the domain ('advanced Selenium operations'). However, it doesn't explicitly differentiate from sibling tools like 'create_extended_selenium_keywords' or 'create_login_test_case', which prevents a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides minimal usage guidance. It mentions that the tool 'Returns .robot file content as text - does not execute,' which implies it's for code generation rather than execution, but doesn't specify when to use this tool versus alternatives like 'create_extended_selenium_keywords' or 'create_api_integration_test'. No explicit when/when-not instructions or prerequisites are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_api_integration_testB

Generate Robot Framework API integration test code. Returns .robot file content as text - does not execute.

ParametersJSON Schema
NameRequiredDescriptionDefault
base_urlYes
endpointYes
methodNoGET

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It discloses that the tool 'Returns .robot file content as text - does not execute,' which clarifies output format and non-execution behavior. However, it lacks details on permissions, rate limits, error handling, or whether it modifies any state. The description is adequate but misses deeper behavioral traits for a code generation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is highly concise and front-loaded: it states the core purpose in the first clause and adds critical behavioral context in the second. Every sentence earns its place with no wasted words, making it efficient for an AI agent to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has an output schema (which covers return values), the description doesn't need to explain outputs. However, with 3 parameters, 0% schema coverage, and no annotations, the description is incomplete: it lacks parameter semantics and deeper behavioral context. It's minimally viable but has clear gaps for a code generation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It adds no information about parameters like 'base_url', 'endpoint', or 'method' beyond what the schema provides. The description mentions 'API integration test' but doesn't explain how parameters relate to test generation, leaving semantics unclear. This fails to compensate for the low coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Generate Robot Framework API integration test code' with specific verb ('Generate') and resource ('Robot Framework API integration test code'). It distinguishes from siblings by focusing on API tests rather than Selenium, login, or syntax validation tools. However, it doesn't explicitly differentiate from 'create_data_driven_test' which might also involve API testing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides minimal usage guidance: it mentions the tool 'does not execute' the test, which is helpful context. However, it doesn't specify when to use this tool versus alternatives like 'create_data_driven_test' or 'create_performance_monitoring_test', nor does it provide prerequisites or typical scenarios for API integration testing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_data_driven_testB

Generate Robot Framework data-driven test template code. Returns .robot file content as text - does not execute.

ParametersJSON Schema
NameRequiredDescriptionDefault
test_data_fileNotest_data.csv

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool generates code and returns file content as text without execution, which clarifies it's a read-only generation tool (not a write/execution tool). However, it lacks details on permissions, rate limits, error handling, or what happens with invalid inputs. This provides basic transparency but leaves gaps for a mutation-like operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is highly concise and well-structured in a single sentence. It front-loads the core purpose ('Generate Robot Framework data-driven test template code') and efficiently adds key details about the output format and non-execution behavior. Every word earns its place with no redundancy or fluff, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (generating test code), no annotations, and an output schema present (which likely covers return values), the description is reasonably complete. It specifies the action, output format, and a key behavioral trait (no execution). However, it lacks details on prerequisites (e.g., file format requirements) and doesn't fully address parameter semantics, leaving some contextual gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds no parameter-specific information beyond what the input schema provides. With 1 parameter and 0% schema description coverage, the schema only gives a title ('Test Data File'), default value, and type. The description doesn't explain the parameter's role (e.g., that 'test_data_file' is the source for data-driven tests), leaving semantics unclear. Baseline is 3 due to low parameter count, but it doesn't compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Generate Robot Framework data-driven test template code.' It specifies the verb ('Generate'), resource ('Robot Framework data-driven test template code'), and output format ('.robot file content as text'), distinguishing it from siblings like 'validate_robot_framework_syntax' or 'create_login_test_case'. However, it doesn't explicitly differentiate from all siblings (e.g., 'create_api_integration_test'), which prevents a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It mentions that it 'does not execute,' which hints at a limitation, but doesn't specify scenarios where this tool is appropriate (e.g., for generating test templates from data files) or when to choose other tools like 'create_advanced_selenium_keywords' or 'create_performance_monitoring_test'. Without explicit usage context or exclusions, the score is low.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_extended_selenium_keywordsA

Generate extended Robot Framework keywords for screenshots, performance monitoring, and window management. Returns .robot file content as text - does not execute.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses that the tool generates code but does not execute it, which is useful behavioral context. However, it lacks details on potential limitations (e.g., output size, error handling), authentication needs, or rate limits. For a tool with zero annotation coverage, this is a moderate gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that efficiently conveys the tool's purpose, scope, and output format. Every word adds value, with no redundancy or fluff. It is front-loaded with key information and appropriately concise for a zero-parameter tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's zero parameters, 100% schema coverage, and presence of an output schema (which handles return values), the description is reasonably complete. It explains what the tool does and the output format. However, it could improve by addressing when to use it versus siblings or noting any constraints, slightly limiting completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and the input schema has 100% description coverage (though empty). The description does not need to compensate for any parameter gaps. It appropriately focuses on the tool's function and output without unnecessary parameter details, earning a high baseline score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: generating extended Robot Framework keywords for specific domains (screenshots, performance monitoring, window management). It specifies the output format (.robot file content as text) and clarifies it does not execute the code. However, it doesn't explicitly differentiate from sibling tools like 'create_advanced_selenium_keywords' or 'create_performance_monitoring_test', which prevents a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With sibling tools like 'create_advanced_selenium_keywords' and 'create_performance_monitoring_test' available, there is no indication of when this tool is preferred, what prerequisites might exist, or any exclusions. This leaves the agent without context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_login_test_caseA

Generate Robot Framework test case code for login functionality. Returns the complete .robot file content as text - does not execute the test.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
usernameYes
passwordYes
template_typeNoappLocator

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool generates code and returns file content without execution, which covers basic output behavior. However, it lacks details on permissions needed, error handling, rate limits, or whether the generation is deterministic or customizable beyond the parameters, leaving gaps for a mutation-like tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose in the first sentence and adds a critical behavioral note in the second. Every sentence earns its place by clarifying functionality and output without redundancy, making it efficient and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has an output schema (which should cover return values), the description need not explain outputs. However, with no annotations and 0% schema description coverage for parameters, the description is incomplete for a code-generation tool with 4 parameters, as it lacks details on parameter meanings, usage constraints, or behavioral nuances beyond basic output.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the schema provides no parameter details. The description does not explain the parameters at all, failing to compensate for the coverage gap. However, with 4 parameters and no schema descriptions, the baseline is low, and the description adds no value beyond the schema, resulting in a minimal score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Generate Robot Framework test case code') and resource ('for login functionality'), distinguishing it from siblings like create_api_integration_test or create_performance_monitoring_test by focusing on login-specific test generation. It also specifies the output format ('complete .robot file content as text'), which further clarifies its purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for generating login test code, but does not explicitly state when to use this tool versus alternatives like create_page_object_login or validate_robot_framework_syntax. It mentions 'does not execute the test,' which provides some context on limitations, but lacks guidance on prerequisites or specific scenarios for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_page_object_loginB

Generate Robot Framework page object model code for login page. Returns .robot file content as text - does not execute.

ParametersJSON Schema
NameRequiredDescriptionDefault
template_typeNoappLocator

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool 'Returns .robot file content as text - does not execute,' which clarifies it's a read-only generation tool (no execution or side effects) and specifies the output format. However, it lacks details on permissions, rate limits, error handling, or what happens if inputs are invalid. For a tool with no annotations, this is a minimal but adequate disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is highly concise and well-structured in two sentences: the first states the purpose, and the second clarifies the output and non-execution behavior. Every sentence adds value without redundancy, making it front-loaded and efficient for quick understanding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has an output schema (which should document return values) and no annotations, the description is moderately complete. It covers the core purpose and output format but lacks parameter details and usage context. For a code generation tool with one parameter, this is adequate but leaves gaps in parameter understanding and sibling differentiation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 1 parameter with 0% description coverage, and the tool description provides no information about parameters. It doesn't mention 'template_type' or explain its purpose, values, or impact on the generated code. With low schema coverage, the description fails to compensate, leaving the parameter undocumented and its semantics unclear.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Generate Robot Framework page object model code for login page.' It specifies the verb ('Generate'), resource ('page object model code'), and scope ('for login page'). However, it doesn't explicitly differentiate from sibling tools like 'create_login_test_case', which might also generate login-related code but for different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It mentions 'does not execute' to clarify it's a code generation tool, but offers no context on prerequisites, when to choose it over other code generation siblings (e.g., 'create_login_test_case'), or any exclusions. This leaves the agent without usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_performance_monitoring_testA

Generate Robot Framework performance monitoring test code. Returns complete .robot file content as text - does not execute.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It adds value by stating that it 'Returns complete .robot file content as text - does not execute,' which clarifies output format and non-execution behavior. However, it lacks details on permissions, rate limits, error handling, or other operational traits, leaving gaps in behavioral transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is highly concise and front-loaded, consisting of two clear sentences: one stating the generation purpose and another specifying the output and non-execution behavior. Every sentence adds essential information without waste, making it efficient and well-structured for an AI agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (simple generation with no parameters), high schema coverage (100%), and presence of an output schema, the description is reasonably complete. It covers the core purpose and output format, though it could benefit from more behavioral context (e.g., error cases) and usage guidelines relative to siblings. The output schema likely handles return value details, reducing the need for description elaboration.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters, and schema description coverage is 100%. The description does not need to add parameter semantics beyond the schema. A baseline score of 4 is appropriate as it avoids redundancy and focuses on the tool's purpose and output, which is sufficient given the absence of parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Generate Robot Framework performance monitoring test code.' It specifies the verb ('Generate'), resource ('Robot Framework performance monitoring test code'), and output format ('.robot file content as text'). However, it does not explicitly differentiate from siblings like 'create_api_integration_test' or 'create_data_driven_test' in terms of performance monitoring vs. other test types, which prevents a score of 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It mentions 'does not execute,' which hints at a non-execution behavior, but does not specify contexts, prerequisites, or exclusions compared to sibling tools like 'create_login_test_case' or 'validate_robot_framework_syntax.' This lack of usage context results in minimal guidance for an AI agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

validate_robot_framework_syntaxB

Validate Robot Framework syntax and provide suggestions. Returns validation report as text - does not execute code.

ParametersJSON Schema
NameRequiredDescriptionDefault
robot_codeYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It adds value by specifying that it 'does not execute code' and returns a 'validation report as text,' which clarifies it's a read-only, non-destructive analysis tool. However, it doesn't cover aspects like error handling, performance limits, or authentication needs, leaving gaps in behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is highly concise and front-loaded, consisting of two clear sentences that directly state the tool's function and key behavioral trait. Every word earns its place, with no redundant or unnecessary information, making it efficient and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (syntax validation), no annotations, and an output schema (which likely handles return values), the description is partially complete. It covers the core purpose and non-execution behavior but lacks details on parameters, error cases, or integration with sibling tools, leaving room for improvement in overall context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage, with one parameter 'robot_code' undocumented in the schema. The description adds no information about this parameter (e.g., format, examples, or constraints), failing to compensate for the schema's lack of detail. This leaves the parameter's meaning unclear beyond its name.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Validate Robot Framework syntax and provide suggestions.' It specifies the verb (validate), resource (Robot Framework syntax), and outcome (suggestions). However, it doesn't explicitly differentiate from sibling tools (e.g., creation tools), which are focused on generating tests rather than validating syntax, so it falls short of a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by stating it 'does not execute code,' suggesting it's for static analysis rather than runtime testing. However, it lacks explicit guidance on when to use this tool versus alternatives (e.g., for syntax checking vs. creating tests with sibling tools) or any prerequisites, leaving usage context somewhat vague.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

B3.4/5.0
Disambiguation3/5

Most tools are clearly distinct by focusing on different test types (e.g., API integration, data-driven, performance monitoring), but there is notable overlap between 'create_advanced_selenium_keywords' and 'create_extended_selenium_keywords'β€”both generate Selenium-related keywords, which could confuse an agent about which to use for specific Selenium tasks. The descriptions help differentiate them slightly, but the boundaries are fuzzy.

Naming Consistency5/5

All tool names follow a consistent 'create_*' or 'validate_*' verb_noun pattern with snake_case, making them predictable and easy to parse. The naming convention is uniform across all eight tools, with no deviations in style or structure.

Tool Count4/5

With 8 tools, the count is reasonable and well-scoped for a Robot Framework code generation server, covering various test types and a validation tool. It's slightly on the higher side but not excessive, as each tool serves a distinct purpose in test creation, though some overlap exists.

Completeness3/5

The server covers code generation for multiple test scenarios (Selenium, API, data-driven, login, performance) and includes syntax validation, but there are notable gaps: it lacks tools for executing tests, managing test suites, or handling other common Robot Framework operations like variable management or reporting. This limits the workflow to creation-only, which agents might find incomplete for full test automation.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    A Model Context Protocol server that provides browser automation capabilities using Playwright, enabling LLMs to interact with web pages, take screenshots, generate test code, scrape web content, and execute JavaScript in real browser environments.
    31
    18,122
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    A Model Context Protocol server that provides browser automation capabilities using Playwright, enabling LLMs to interact with web pages, take screenshots, generate test code, scrape web content, and execute JavaScript in a real browser environment.
    32
    18,122
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sourcefuse/robotframework-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server