SHAFT browser automation, capture, and offline deterministic failure diagnosis
Runs on your machine from its package; the steps are below.
At most: moves money, runs code or commands, deletes data, or sends messages for you.
Odel charges nothing per call. The publisher may charge for its own service.
Runs locally over stdio
This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).
Run
docker run -i --rm ghcr.io/shafthq/shaft-engine-mcp:10.4.20261010
MCP client config
{
"mcpServers": {
"shaft-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/shafthq/shaft-engine-mcp:10.4.20261010"
]
}
}
}
Reliable Java test automation, from first intent to production-grade evidence.
SHAFT is a Java test-automation framework for teams who want one maintainable engine across web, mobile, API, CLI, database, and desktop. Configuration drives the run. The verdict comes back with logs, screenshots, and a report.
Generate your first project · Read the user guide · Watch the 100-second overview · Star SHAFT on GitHub
SHAFT is for Java teams who are about to rebuild drivers, waits, assertions,
configuration, test data, and Allure plumbing again. Generate a project from
the user guide, then run mvn test. The
100-second overview
and the feature video release
are the short tour; the badge above is the current version, and
releases hold history.
Humans: orient here, then CONTRIBUTING.md. Report vulnerabilities through SECURITY.md.
Agents: jump to For agents. This README is orientation, not agent policy.
Use coordinate io.github.shafthq:shaft-engine. Set the version from the Maven Central badge. The generated project is still the supported first run. Kotlin uses the same coordinate.
<dependency>
<groupId>io.github.shafthq</groupId>
<artifactId>shaft-engine</artifactId>
<version>${shaft.version}</version>
</dependency>
Each reactor module and shaft-intellij has a short README with a purpose line and a use-or-skip note.
SHAFT removes the repeated plumbing around drivers, waits, assertions, configuration, test data, screenshots, logs, and Allure evidence. The modular reactor keeps the core lean.
shaft-engine, then add visual, video, cloud, native, or agentic modules.Test intent and configuration enter SHAFT's orchestration layer, fan out across the required execution surfaces, and return through one unified evidence flow.
flowchart LR
accTitle: SHAFT execution and evidence workflow
accDescr: Test intent and configuration enter SHAFT orchestration, run across Web, Mobile, API, and Native execution surfaces, and produce unified evidence.
I[Test intent] --> S[SHAFT orchestration]
C[Configuration] --> S
S --> W[Web]
S --> M[Mobile]
S --> A[API]
S --> N[Native, CLI, and Database]
W --> E[Unified evidence]
M --> E
A --> E
N --> E
| Engineering need | What SHAFT provides |
|---|---|
| Stable UI automation | Managed Selenium and Appium drivers, synchronized actions, locator builders, screenshots, and accessibility evidence. |
| End-to-end coverage | REST, GraphQL, Database, CLI, and native desktop actions in the same test flow. |
| Trustworthy verdicts | Hard and soft assertions, structured logs, attachments, failure context, and Allure reports. |
| Scalable execution | Configuration-first local, Grid, BrowserStack, LambdaTest, TestNG, JUnit, and Cucumber runs. |
| Maintainable architecture | A focused engine, BOM-aligned optional modules, public extension points, and reusable test assets. |
| Assisted workflows | Capture, Doctor, deterministic Heal, MCP/CLI tools, provider adapters, and an IntelliJ IDEA plugin. |
| You want to | Open |
|---|---|
| Learn the product | User guide |
| Work inside IntelliJ | shaft-intellij |
| Call a tool from an agent | MCP tool names |
| Call a tool from the shell | CLI commands |
| Follow the working policy | AGENTS.md |
chaos-engine/skills/local-agency (dispatch.py --prefer freetoken or OpenAI-compat on :8080).http://127.0.0.1:8000 is READY; not the default on 6GB VRAM laptops.What is SHAFT? A Java framework for web, mobile, API, CLI, database, and desktop end-to-end testing, with one evidence trail.
How do I get a passing run today? Generate a project from the user guide, then run mvn test. Runners are TestNG, JUnit, and Cucumber, local or through Grid, BrowserStack, or LambdaTest.
Where does an agent start? AGENTS.md. Not this file. License: MIT (LICENSE).
This page is a map. It is not the working policy.
$shaft-developer; it routes the job to one specialist.shaft-mcp-tools.md and shaft-cli-commands.md.Open an issue, read CONTRIBUTING.md and the Code of Conduct, and report vulnerabilities privately through SECURITY.md. Star the repository if SHAFT helps your team.
BrowserStack, LambdaTest, Applitools, and JetBrains have provided tooling or open-source program support. This is support for the project, not a claim of financial sponsorship, customer status, or endorsement.
SHAFT is free and MIT licensed. Support maintenance through GitHub Sponsors.