@robotyxx/robotyx-mcp
v0.1.1
Published
MCP server for Robotyx — read your test plans (TestSuites, TestCases, functional TestSteps) and recorded Workflows into Claude Code or any MCP client, e.g. to generate WebDriverIO/Playwright tests in your own repo. Bring your own rx_ API key.
Maintainers
Readme
robotyx-mcp
Stdio MCP server that wraps Robotyx's REST API. Lets Claude Code / Claude Desktop browse recorded workflows, refine their TestSteps into grouped functional steps ("clicks 1-7 → Log in as admin"), and push the result back — without leaving the chat.
No new business logic lives here. Every tool is a thin wrapper around an existing endpoint the Robotyx web UI also uses.
Tools
| Tool | Wraps | Notes |
|------|-------|-------|
| list_workflows | GET /api/workflows | Summary rows. |
| get_workflow | GET /api/workflows/:id | Screenshots stripped by default. Pass include_screenshots: "all" or "indices" + screenshot_step_indices: [1,3,5] when you need visual context. |
| list_testsuites | GET /api/testsuites | |
| get_testsuite | GET /api/testsuites/:id | Includes cases + their steps. |
| create_testsuite | POST /api/testsuites | |
| add_test_case | POST /api/testsuites/:id/cases | Optionally links a Workflow id. |
| set_test_steps | POST /api/testsuites/:id/cases/:caseId/import-mapping | The refine path. Body shape mirrors the UI's Excel import — pass workflow_step_ids (full ordered list from get_workflow) + mappings: [{description, expected_result, workflow_step_indices: [1,2,3]}]. |
| merge_step | POST .../steps/:stepId/merge | |
| split_step | POST .../steps/:stepId/split | |
| create_defect | POST /api/defects | |
Wire-up — Claude Code
Drop a .mcp.json in your workspace root (already done for
ai-automation-platform/ and footprint-platform/):
{
"mcpServers": {
"robotyx": {
"command": "npx",
"args": ["-y", "tsx", "C:\\Users\\…\\ai-automation-platform\\robotyx-mcp\\src\\index.ts"],
"env": {
"ROBOTYX_URL": "http://localhost:3001",
"ROBOTYX_API_KEY": "${ROBOTYX_API_KEY}"
}
}
}
}Then in PowerShell (once per machine):
[Environment]::SetEnvironmentVariable("ROBOTYX_API_KEY", "rx_…", "User")Restart Claude Code so it picks up the new MCP. Verify with /mcp — you
should see robotyx: ✓ connected (10 tools).
Wire-up — Claude Desktop
Add the same mcpServers block to
%APPDATA%\Claude\claude_desktop_config.json and restart the app.
Typical refine loop
list_workflows→ pick a workflow id.get_workflow(no screenshots) → AI proposes a grouping based on step descriptions + action types.get_workflowwithinclude_screenshots: "indices"and the ambiguous step indices → AI disambiguates visually.- Either
add_test_case(linking the workflow) or pick an existing one fromget_testsuite. set_test_stepswith the proposed mapping → done.
Token budget
A 30-step browser recording with full-page PNGs is ~200-400k tokens with
include_screenshots: "all". Always start with "none", then use
"indices" to fetch only the screenshots you need. The server strips
footprint_* bookkeeping keys (raw a11y dumps, console logs) unconditionally.
