Package Exports
- @uuv/mcp-server
Readme
UUV MCP Server
This library is an MCP (Model Context Protocol) server for UUV - a solution to facilitate the writing and execution of E2E tests understandable by any human being(English or French) using cucumber(BDD) and cypress or playwright.
Requirements
- Node.js 20
- Opencode, Claude Desktop, Goose or any other MCP client
- Playwright MCP Server
Getting started
First, install the UUV MCP server with your client.
Standard config works in most of the tools:
{
"mcpServers": {
"uuv": {
"command": "npx",
"args": [
"@uuv/mcp-server@latest"
]
}
}
}Opencode
Follow the MCP Servers documentation. For example in ~/.config/opencode/opencode.json:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"uuv": {
"type": "local",
"command": [
"npx",
"@uuv/mcp-server@latest"
],
"enabled": true
}
}
}
Use the Claude Code CLI to add the Marketplace plugin for the UUV:
claude plugin marketplace add https://github.com/e2e-test-quest/uuvThen use the Claude Code CLI to add specific UUV's plugin:
claude plugin install uuv-e2e-accessibility-test@uuv-e2e-accessibility-test-marketplaceThen use the Claude Code CLI to add the UUV MCP server:
claude mcp add uuv npx @uuv/mcp-server@latestTo add the UUV Extension:
gemini extensions install https://github.com/e2e-test-quest/uuv --auto-updateTo remove the UUV Extension:
gemini extensions uninstall uuv-e2e-accessibility-testExposed MCP Tools
This MCP server exposes the following tools:
retrieve_prompt
- Description: Retrieve an uuv prompt template for a coding agent based on a prompt name and arguments.
- Input Schema:
promptName(enum): Eithergenerate_test_expect_table,generate_test_expect_element,generate_test_click_element,generate_test_within_elementorgenerate_test_type_elementbaseUrl(string): The base URL of the page- For
generate_test_expect_table,generate_test_expect_element,generate_test_click_element,generate_test_within_elementorgenerate_test_type_element:accessibleName: (string, optional): Accessible nameaccessibleRole: (string, optional): Accessible roledomSelector: Dom selector of the element
available_sentences
- Description: List all available UUV test sentences/phrases in Gherkin format.
- Input Schema:
category(enum, optional): Filters sentences by action type (general, keyboard, click, contains, type, checkable)role(string, optional): Filters sentences related to an accessible role
generate_test_expect_element
- Description: Generate a complete UUV test scenario (Gherkin format) to verify the presence of an element with specified (role and name) or domSelector.
- Input Schema:
baseUrl(string): The base URL of the page where the element is locatedaccessibleName(string): Accessible name of the elementaccessibleRole(string): Accessible role of the elementdomSelector: Dom selector of the element
generate_test_expect_element
- Description: Generate a complete UUV test scenario (Gherkin format) to verify the presence of an element with specified (role and name) or domSelector.
- Input Schema:
baseUrl(string): The base URL of the page where the element is locatedaccessibleName(string): Accessible name of the elementaccessibleRole(string): Accessible role of the elementdomSelector: Dom selector of the element
generate_test_click_element
- Description: Generate a complete UUV test scenario (Gherkin format) that clicks on html element with specified (role and name) or domSelector.
- Input Schema:
baseUrl(string): The base URL of the page where the element is locatedaccessibleName(string): Accessible name of the elementaccessibleRole(string): Accessible role of the elementdomSelector: Dom selector of the element
generate_test_type_element
- Description: Generate a complete UUV test scenario (Gherkin format) that focus within a html element with specified (role and name) or domSelector.
- Input Schema:
baseUrl(string): The base URL of the page where the element is locatedaccessibleName(string): Accessible name of the elementaccessibleRole(string): Accessible role of the elementdomSelector: Dom selector of the element
generate_test_expect_table
- Description: Generate a complete UUV test scenario (Gherkin format) to verify the presence and content of html table, grid or treegrid.
- Input Schema:
baseUrl(string): The base URL of the page where the table/grid/treegrid is locatedinnerHtmlFilePath(string): File path containing the raw innerHTML content
Exposed MCP Prompts
This MCP server exposes the following prompts:
generate_test_expect_element
- Description: Returns UUV prompt to verify the presence of an element with specified (role and name) or domSelector.
- Input Schema:
baseUrl(string): The base URL of the page where the element is locatedaccessibleName(string): Accessible name of the elementaccessibleRole(string): Accessible role of the elementdomSelector: Dom selector of the element
generate_test_expect_element
- Description: Returns UUV prompt to verify the presence of an element with specified (role and name) or domSelector.
- Input Schema:
baseUrl(string): The base URL of the page where the element is locatedaccessibleName(string): Accessible name of the elementaccessibleRole(string): Accessible role of the elementdomSelector: Dom selector of the element
generate_test_click_element
- Description: Returns UUV prompt that clicks on html element with specified (role and name) or domSelector.
- Input Schema:
baseUrl(string): The base URL of the page where the element is locatedaccessibleName(string): Accessible name of the elementaccessibleRole(string): Accessible role of the elementdomSelector: Dom selector of the element
generate_test_type_element
- Description: Returns UUV prompt that focus within a html element with specified (role and name) or domSelector.
- Input Schema:
baseUrl(string): The base URL of the page where the element is locatedaccessibleName(string): Accessible name of the elementaccessibleRole(string): Accessible role of the elementdomSelector: Dom selector of the element
generate_test_expect_table
- Description: Generate a complete UUV test scenario (Gherkin format) to verify the presence and content of html table, grid or treegrid.
- Input Schema:
baseUrl(string): The base URL of the page where the table/grid/treegrid is locatedinnerHtmlFilePath(string): File path containing the raw innerHTML content