Nocticas
Browser QA agent that won't return a false green: verified PASS/FAIL + access-control probing.
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).
claude mcp add --transport http nocticas 'https://app.nocticas.com/api/mcp' --header 'x-nocticas-key: <Your Nocticas API key. Get a free 150-credit key (no card) at https://app.nocticas.com>'
{
"mcpServers": {
"nocticas": {
"type": "http",
"url": "https://app.nocticas.com/api/mcp",
"headers": {
"x-nocticas-key": "<Your Nocticas API key. Get a free 150-credit key (no card) at https://app.nocticas.com>"
}
}
}
}
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
Contents
Nocticas E2E Gate — GitHub Action
Run a pinned Nocticas gate against a target URL on every push/PR, and fail the build on a red verdict. The browser runs on Nocticas's servers — this Action is a thin client that starts the run, polls for the verdict, and maps it to an exit code. No false greens: a harness error is never treated as a pass.
Quickstart
- Author + pin a flow in Nocticas (agentic run → pin → export the deterministic step script as JSON).
- Commit the gate to your repo, e.g.
.nocticas/checkout-flow.json. - Add your key as a repo secret:
NOCTICAS_API_KEY. - Add the workflow:
# .github/workflows/nocticas.yml
name: Nocticas E2E gate
on: [pull_request, workflow_dispatch]
jobs:
verify:
runs-on: ubuntu-latest # standard runner = free on public repos
steps:
- uses: actions/checkout@v4 # so the gate file is available
- uses: Low-Latency-Labs/nocticas-action@v1
with:
api-key: ${{ secrets.NOCTICAS_API_KEY }}
gate: .nocticas/checkout-flow.json
target: ${{ vars.PREVIEW_URL }} # your deployed preview/staging URL
A red verdict fails the job → blocks the PR/merge.
Inputs
| Input | Required | Default | Description |
|---|---|---|---|
api-key | yes | — | Your Nocticas API key (store as a secret). |
gate | yes | — | Path to the pinned gate JSON (array of deterministic steps) in your repo. |
target | yes | — | URL to test (e.g. the PR's preview deploy). |
api-base | no | https://app.nocticas.com/api | Nocticas API base. |
timeout-seconds | no | 300 | Max wait for a verdict. |
poll-seconds | no | 3 | Poll interval. |
fail-on-error | no | true | Treat a harness error (not a test fail) as a build failure. An unverified run is never a pass. |
Outputs
| Output | Description | |||
|---|---|---|---|---|
run-id | The Nocticas run id (link it in your logs). | |||
verdict | passed \ | failed \ | error \ | timeout. |
The gate file
A JSON array of deterministic steps — exactly what Nocticas produces when you pin a passing run. Example in examples/gate.example.json. Keeping it in your repo means your E2E test is version-controlled alongside the code it guards.
Don't commit real credentials. Point the gate at a staging/preview target and use a dedicated test account; Nocticas's built-in test inbox handles OTP/magic-link logins so you don't need to embed secrets in the gate.
Cost
- Publishing this Action: free (public repo, no paid plan).
- Running it (your customers): free on public repos with standard runners; within the monthly free-minutes allowance on private repos. It's a single thin job — seconds of runner time.
- The browser run: billed in Nocticas credits — and deterministic/pinned runs are free within your monthly allowance, so gating every push typically costs nothing in credits.
Other CI systems (the recipe)
Not on GitHub? The same start → poll → exit logic is a portable script — see recipe.sh and examples/gitlab-ci.example.yml. The contract is just JSON over HTTP:
POST {api-base}/runs { "mode":"deterministic", "target": "...", "script": [ ...gate... ] } → { "id": "..." }
GET {api-base}/runs/{id} → { "status": "passed|failed|error|..." }
Header: x-nocticas-key: <key>. Exit non-zero unless status == "passed".
Frequently asked questions
What is Nocticas?
Browser QA agent that won't return a false green: verified PASS/FAIL + access-control probing.
How do I install Nocticas?
It runs as a remote server. In Claude Code: claude mcp add --transport http nocticas 'https://app.nocticas.com/api/mcp' --header 'x-nocticas-key: <Your Nocticas API key. Get a free 150-credit key (no card) at https://app.nocticas.com>'. For other clients, paste the JSON configuration from this page into their MCP settings.
Does Nocticas need an API key?
Yes. It expects x-nocticas-key, which you set in its configuration.
Is Nocticas open source?
Yes. Its code is on GitHub under the MIT license.
Who maintains Nocticas?
It is published by Low-Latency-Labs. 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.