About shaft-mcp
SHAFT is a Java automation engine for test teams, using one API for web, mobile, API, CLI, database, and desktop tests. It manages drivers and waits, then produces an Allure report with steps, screenshots, and logs for each run.
Key features
- 01One API for multiple testing surfaces
- 02Managed Selenium and Appium drivers
- 03Synchronized actions and smart waits
- 04Allure reports with steps, screenshots, and logs
- 05Runs locally or with Grid, BrowserStack, and LambdaTest
Use cases
- 01Test web and mobile in one project
- 02Write REST or GraphQL API tests
- 03Run CLI, database, or desktop tests
- 04Inspect test steps and evidence in Allure
MCP support
The README mentions MCP tools for AI agents but does not specify which capabilities the MCP server exposes.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
docker run -i --rm ghcr.io/shafthq/shaft-engine-mcp:10.4.20261024Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
ghcr.io/shafthq/shaft-engine-mcp:10.4.20261024stdioTools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project README
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.
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.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.