# five46 (npm · five46)

BYOK, fully local AI agent that tests your app/API and writes a real Playwright spec on success.

- Trust score: 61/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-07

## Components

- npm · `five46`: 61/100 (this document), [markdown](https://verifymcp.io/servers/sekharsdet-five46/five46.md), [page](https://verifymcp.io/servers/sekharsdet-five46/five46)

## Channel facts

- Registry: `npm`
- Package: `five46`
- Version: `0.2.3`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-07.

- **Supply Chain Security**: 88/100
  - No malware found by supply-chain analysis.
  - Known CVEs were checked across the 126 of 130 dependencies we could resolve, so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Dependency health was assessed across the 126 of 130 dependencies we could resolve, so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 2 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 52/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 815 tokens (~407/item across 2 items; 2 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

**Unverified: 1 category.** A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

## Install

### Claude

```bash
claude mcp add sekharsdet-five46 -- npx -y five46
```

### Codex

```bash
codex mcp add sekharsdet-five46 -- npx -y five46
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "sekharsdet-five46": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "five46"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add sekharsdet-five46 --command npx --arg -y --arg five46
```

### Hermes

```yaml
mcp_servers:
  sekharsdet-five46:
    command: "npx"
    args: ["-y", "five46"]
```

### Other

```json
{
  "mcpServers": {
    "sekharsdet-five46": {
      "command": "npx",
      "args": [
        "-y",
        "five46"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-05 (score 61, +25)

- [security] Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window).
- [functional improvement] Tool coverage: unverified → 100
- [functional improvement] MCP protocol: unverified → pass
- [functional] First check of Schema quality: fail
- [functional] First check of Schema quality: fail
- [functional] First check of Schema quality: good
- [functional] First check of Tool coverage: 100
- [functional] First check of Tool coverage: 100

### 2026-08-04 (score 36)

First indexed and scored.

## MCP tools (2)

### `five46_test` (~440 tokens)

Drive a real local Playwright browser toward a stated goal, one action at a time, using your own configured LLM key (BYOK). Writes a real, standalone, re-runnable Playwright spec on success. Discloses: the page's visible text/labels/values are sent to your configured LLM provider on every step. Clicking an element that looks like it deletes/deactivates/closes an account or permanently erases data (e.g. "Delete Account") is blocked for this server — set FIVE46_MCP_ALLOW_DELETES=1 in the server environment to unlock it. Never settable via a tool call argument. This is a best-effort heuristic on the clicked element's visible text, not a guarantee. On a real assertion failure (a genuine finding about the app, not a tooling issue), one additional LLM call analyzes the failure for a root-cause hypothesis — built only from information already visible to the agent during the run (never a new disclosure), always on for this tool, and included in the returned report as a hypothesis, not a confirmed diagnosis.

Input parameters:

- `goal` (string): What the agent should accomplish — provide exactly one of `goal`/`story`. A vague goal would burn real BYOK cost on an unfocused run.
- `headed` (boolean): Watch it drive a real visible browser instead of headless (default false)
- `maxSteps` (integer): Step budget (default 15, hard-capped at 50 regardless of what is passed)
- `storageStatePath` (string): Relative path (under the configured project root) to a session file previously captured by `five46 login` — starts the browser already authenticated
- `story` (string): A raw, possibly multi-scenario user story/acceptance-criteria text to split into independent goals and run with bounded concurrency (see `concurrency` context, set via FIVE46_MCP_CONCURRENCY on the s…
- `url` (string, required): The live http(s) or file:// URL to test

Output parameters:

- `acceptanceCriteria` (array): Present only for a `story` call — one entry per split acceptance criterion, in the order they were run.
- `outcome` (string): Present only for a plain `goal` call (never a `story` call — see acceptanceCriteria instead).
- `passed` (boolean): Whether this call fully succeeded — for a plain goal, outcome === "goal-reached"; for a story, every acceptance criterion reached goal-reached.
- `specPath` (string): Absolute path to the generated spec file — present only for a plain `goal` call.

### `five46_api` (~375 tokens)

Drive real HTTP requests toward a stated goal, one request/assertion at a time, using your own configured LLM key (BYOK). Writes a real, standalone node:test script on success. Read-only for this server (GET/HEAD/OPTIONS only) — set FIVE46_MCP_ALLOW_WRITES=1 in the server environment to unlock POST/PUT/PATCH, FIVE46_MCP_ALLOW_DELETES=1 to separately unlock DELETE. Neither is ever settable via a tool call argument. Requests are restricted to the target base URL's own origin — no additional host allowlist is available via this tool. Discloses: request/response data, including response bodies (which may contain a live session token or other secret), is sent to your configured LLM provider on every step. On a real assertion failure, one additional LLM call analyzes the failure for a root-cause hypothesis — built only from information already visible to the agent during the run, always on for this tool, and included in the returned report as a hypothesis, not a confirmed diagnosis.

Input parameters:

- `baseUrl` (string, required): The live http(s) base URL to test
- `goal` (string): What the agent should accomplish — provide exactly one of `goal`/`story`. A vague goal would burn real BYOK cost on an unfocused run.
- `maxSteps` (integer): Step budget (default 15, hard-capped at 50 regardless of what is passed)
- `story` (string): A raw, possibly multi-scenario user story/acceptance-criteria text to split into independent goals and run with bounded concurrency (see `concurrency` context, set via FIVE46_MCP_CONCURRENCY on the s…

Output parameters:

- `acceptanceCriteria` (array): Present only for a `story` call — one entry per split acceptance criterion, in the order they were run.
- `outcome` (string): Present only for a plain `goal` call (never a `story` call — see acceptanceCriteria instead).
- `passed` (boolean): Whether this call fully succeeded — for a plain goal, outcome === "goal-reached"; for a story, every acceptance criterion reached goal-reached.
- `specPath` (string): Absolute path to the generated spec file — present only for a plain `goal` call.

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/sekharsdet-five46/five46#diagnostics

## Score history

- 2026-08-07: 61
- 2026-08-06: 61
- 2026-08-05: 61
- 2026-08-04: 36

## Links

- npm package: https://www.npmjs.com/package/five46
- Socket report: https://socket.dev/npm/package/five46
- Repository: https://github.com/sekharsdet/five46
- Changelog RSS feed: https://verifymcp.io/servers/sekharsdet-five46/five46.xml
- Changelog JSON feed: https://verifymcp.io/servers/sekharsdet-five46/five46.json
- HTML version of this page: https://verifymcp.io/servers/sekharsdet-five46/five46
