shaft-mcp
SHAFT browser automation, capture, and offline deterministic failure diagnosis
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
ghcr.io/shafthq/shaft-engine-mcp:10.4.20261024claude mcp add shaft-mcp -- docker run -i --rm ghcr.io/shafthq/shaft-engine-mcp:10.4.20261024
{
"mcpServers": {
"shaft-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/shafthq/shaft-engine-mcp:10.4.20261024"
]
}
}
}
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
Write the test. SHAFT does the rest.
One Java engine for web, mobile, API, CLI, database, and desktop.
Drivers, waits, and evidence are handled. Every run ends in an Allure report.
Upgrade to SHAFT_ENGINE · ▶ Watch the 26-second clip with sound and captions · 100-second overview
Why SHAFT
- No plumbing. Managed Selenium and Appium drivers, synchronized actions, and smart waits.
- One fluent API. Web, mobile, REST/GraphQL, database, CLI, and desktop in the same test.
- Evidence by default. Steps, screenshots, and logs land in an Allure report on every run.
- Scale by configuration. Local, Grid, BrowserStack, or LambdaTest; TestNG, JUnit, or Cucumber.
- Open and trusted. MIT licensed, on Maven Central, with an OpenSSF Scorecard and public coverage.
How it works
Test intent and configuration enter SHAFT's orchestration layer, fan out across the execution surfaces you need, and come back as unified evidence.
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
Quickstart
Generate your first project and run mvn test. Already on Maven? Add io.github.shafthq:shaft-engine (version from the Maven Central badge):
<dependency>
<groupId>io.github.shafthq</groupId>
<artifactId>shaft-engine</artifactId>
<version>${shaft.version}</version>
</dependency>
Then write the test:
SHAFT.GUI.WebDriver driver = new SHAFT.GUI.WebDriver();
driver.browser().navigateToURL("https://shafthq.github.io/")
.and().element().assertThat(By.cssSelector("h1")).isVisible();
driver.quit();
Run mvn test. The Allure report opens with every step, screenshot, and log.
Where to next
- Writing tests: the User Guide has setup, the full API, and examples.
- Using IntelliJ: shaft-intellij.
- Contributing or maintaining: CONTRIBUTING.md is the entry point to the maintainers guide.
- AI agents: AGENTS.md. Start with
$shaft-developer, then the MCP tools or CLI commands. - Training: hands-on courses at automatest.org.
If SHAFT saves your team time, star the repo. It helps other testers find it.
Open an issue · Code of Conduct · Security · Sponsor
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.
Frequently asked questions
What is shaft-mcp?
SHAFT browser automation, capture, and offline deterministic failure diagnosis
How do I install shaft-mcp?
It runs on your machine. In Claude Code: claude mcp add shaft-mcp -- docker run -i --rm ghcr.io/shafthq/shaft-engine-mcp:10.4.20261024. For other clients, paste the JSON configuration from this page into their MCP settings.
Does shaft-mcp need an API key?
Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.
Is shaft-mcp open source?
Yes. Its code is on GitHub under the MIT license.
Who maintains shaft-mcp?
It is published by ShaftHQ. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.