Gauntlet gives testers, developers and AI clients a shared interface for working with development and staging applications. Change a test date, prepare an application for review, replay a known event or open a test-user session — without building a separate admin screen for each action.
Your application decides what is available. Register an operation once and Gauntlet makes it accessible through a generated dashboard form and, optionally, MCP.
Gauntlet coordinates the work and shows results. Actions run inside your applications, using their own services and data.
- Prepare test scenarios: invoke application-owned helpers with validated inputs, presets and searchable field values.
- See what happened: follow execution progress and inspect results, logs and artifacts.
- Control changes: use the operation's confirmation, dry-run, retry and cancellation policies where supported.
- Work across stacks: connect Node.js, Next.js, Symfony and Spring applications to the same dashboard.
- Let AI operate the same catalog: connect an MCP client to discover and run the capabilities your applications expose.
Gauntlet is for non-production environments only. Authentication is not included in v0.1: keep access private, or behind an authenticating reverse proxy, and limited to trusted users. Application adapters must remain disabled in production and must never be reachable from outside the private network. Gauntlet is open source, but that does not make a public deployment safe.
Trying the project locally? Follow the local demo. It starts the dashboard with a sample application and needs no Docker or access to your application's data.
Connecting your own applications on Docker? Use the standalone Compose
installation. It pulls the public ghcr.io/8lines/gauntlet image, so no
registry login is needed; you need Docker and an application with a
Gauntlet adapter.
From this repository:
cd deploy/compose
./gauntlet initEdit the generated .env and config.yaml to select your non-production
environment and applications, then start Gauntlet:
./gauntlet up -d --wait
./gauntlet psStartup creates the private gauntlet Docker network if needed.
Attach your application adapter
to that network without publishing its port.
Open http://127.0.0.1:8080 on the Docker host, or use your approved private tunnel. Select an application and operation, fill in the form, review its impact and run it.
The getting-started guide walks through the required configuration and first operation. For Kubernetes, use the Helm installation guide.
Install the matching SDK from npm, Packagist or GitHub Packages (see installing packages), register the actions your team needs, and add the application to Gauntlet's configuration. The dashboard and MCP use the same catalog; there is no separate AI adapter to maintain.
| Your application | Integration guide |
|---|---|
| Node.js | Node adapter |
| Next.js App Router | Next.js bridge |
| Symfony | Symfony bundle |
| Spring Boot | Spring starter |
Start with application integration, then follow authoring an operation to add your first action.
Enable GAUNTLET_MCP_ENABLED=true on the server, then configure your MCP
client to use Streamable HTTP at http://127.0.0.1:8080/mcp (or your private
Gauntlet URL). In Compose, set the variable in .env; in Helm, set
mcp.enabled: true.
AI clients can discover operations, run them, check results, cancel supported runs and work with data sources, uploads and session-launch artifacts. See MCP setup and tools for configuration and limits.
| I want to… | Read |
|---|---|
| Install Gauntlet and run my first operation | Get started |
| Use the dashboard or troubleshoot an operation | User guide |
| Work on Gauntlet locally | Local development |
| Understand the system and its boundaries | Architecture |
| Find API, SDK, configuration or deployment details | Documentation index |
| Contribute a change | Contributing |
Gauntlet is open source under the Apache License 2.0, maintained by 8lines. See NOTICE, release notes, contributing and security reporting.