npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@qe-craft/mcp

v1.0.1

Published

QE Craft MCP — guided qe_intel_* runs for copilot coaching; optional validate/save — no API key

Downloads

229

Readme

QE Craft MCP (@qe-craft/mcp)

Guided QE in your copilot — phased playbooks for people who are not full-time QEs. No API key. Inference stays in Cursor; MCP returns the director's script and optional artifact save.

Pair with seven Cursor skills (npx @qe-craft/mcp init): router + five mode skills + qe-automate for test writing.

Requirements

  • Node.js 22+
  • Cursor (stdio MCP)

Quick setup

1. MCP — ~/.cursor/mcp.json

{
  "mcpServers": {
    "qe-craft": {
      "command": "npx",
      "args": ["-y", "@qe-craft/mcp@latest"],
      "env": {
        "REPO_ROOT": "/absolute/path/to/your/target-repo"
      }
    }
  }
}

2. Skills

npx @qe-craft/mcp init
# team: npx @qe-craft/mcp init --project /absolute/path/to/your-repo
npx @qe-craft/mcp@latest init --force   # upgrade

Installs: qe-analysis, qe-refinement, qe-uat-gate, qe-repo-charter, qe-incident, qe-regression-impact, qe-automate.

3. Restart Cursor

| Variable | Purpose | |----------|---------| | REPO_ROOT | Repo for scan hints + docs/qe-analysis/ writes |


Trust-first default

  • No LLM in the MCP serverqe_intel_* guided runs and optional validate/save only.
  • No API key in MCP config — QE reasoning stays in your IDE agent (skills + phased playbook).
  • Coach-first — better QE in chat by default; files only when you ask.

Data handling: See ../docs/data-handling.md.

This server does not call any external LLM API.


MCP tools

Primary (start here):

| Tool | Purpose | |------|---------| | qe_intel_refinement | Guided story grooming | | qe_intel_uat | Guided release gate | | qe_intel_repo_uat | Guided repo charter | | qe_intel_bug | Guided incident analysis | | qe_intel_regression | Guided retest scope | | qe_intel_review | Draft quality check |

No API key. Coach-tier success = better QE in chat, not a file on disk.


Architecture

Coach-tier UAT example: MCP returns the phased playbook; Cursor explores the repo and reasons in chat. Save to disk only when asked.


Example (UAT — coach)

Paste in chat:

Use qe-uat-gate. Call qe_intel_uat with:

feature: Release 2.4 — checkout promo ready for prod
release: { "rollback": "revert flag checkout.promo_v2", "monitoring": "promo_apply_failure_reason metric" }

Explore the repo, execute Phases A–D from the tool response, give GO/NO-GO in chat.
Do not save files unless I ask.

Agent should: one qe_intel_uat call → follow phases → optional qe_intel_review → save only on request.


Guided run (default)

| Step | Owner | Action | |------|--------|--------| | 1 | Cursor | Match intent → skill → qe_intel_<mode> with ticket/context (output_tier: coach) | | 2 | MCP | Return phased playbook (A–D), repo where to look hints under REPO_ROOT, input gaps if thin | | 3 | Cursor | Execute phases in chat — questions, risks, scenario table, GO/NO-GO / AC gaps | | 4 | Cursor (optional) | qe_intel_review on draft | | 5 | MCP (optional) | Phase E: validate + save only if user wants files |

See skills/shared/intel-run.md. Full 11-section / JSON contract: output_tier: full + artifact-run.md.

Output artifact table

| output_format | Files written (save_file=true) | MCP chat body | |-----------------|----------------------------------|---------------| | markdown (default) | docs/qe-analysis/qe-analysis-{MODE}-{slug}-{date}.md only | Full markdown or summary + Saved to: footer | | json | Same stem: .json (envelope) + .htmlno .md | Short summary (mode, confidence, risks, scenario counts) + paths — not full HTML | | JSON parse/validate failure | Optional .raw.txt only if wired — not default | Error list + path to raw file when saved |

Collision suffix (-2, -3) applies to the stem before extension; sibling .json and .html share one stem.

Regenerate committed v2 samples after schema or renderer changes:

cd mcp && npm run build && node scripts/write-v2-samples.mjs

Artifact tools (Phase E only)

| Tool | Purpose | |------|---------| | qe_validate_report | JSON + evidence guards | | qe_save_report | .json + .html | | qe_save_markdown | .md | | qe_get_system_prompt | Debug / full-tier rules |

See skills/shared/artifact-run.md in this package.


Environment variables

| Variable | Required? | Purpose | |----------|-----------|---------| | REPO_ROOT | No | Absolute path to the repo where docs/qe-analysis/ should be written (defaults to MCP process cwd) |

There are no ANTHROPIC_MODEL, ANTHROPIC_MAX_TOKENS, or API-key variables for this server — model choice and token limits are entirely your IDE agent's provider. See .env.example.


Install from source (this repo)

cd mcp
npm install
npm run build
test -f dist/server.js && echo "Build OK"

Optional: REPO_ROOT=/absolute/path/to/target-repo so analyses save under that repo's docs/qe-analysis/ (defaults to process cwd).

Cursor MCP — local clone (~/.cursor/mcp.json)

Use absolute paths on your machine. No API keys.

{
  "mcpServers": {
    "qe-craft": {
      "command": "node",
      "args": [
        "/ABSOLUTE/PATH/qe-craft/mcp/dist/cli.js"
      ],
      "env": {
        "REPO_ROOT": "/ABSOLUTE/PATH/to/your/target-repo"
      }
    }
  }
}

Restart Cursor after saving.

Local dev (stdio):

cd mcp && npm run dev

Prompt hygiene

Prompts and bundled skills should stay vendor-neutral (no employer-specific product names). When coaching rules change, update src/intel/ and src/core/prompts/, sync skills under skills/, run npx @qe-craft/mcp init --force, and bump PROMPT_VERSION in src/core/constants.ts.


Publishing (maintainers)

  1. cd mcp && npm run pack:check — dry-run pack after build + tests.
  2. Confirm version in package.json and changelog intent.
  3. npm login (org qe-craft for scoped publish).
  4. npm publish --access public from mcp/ (prepublishOnly runs check + test).
  5. Smoke: npx @qe-craft/mcp@latest init --dry-run and connect MCP in Cursor as qe-craft.

Develop

npm install && npm run check && npm test

Built by

An SDET actively piloting AI-assisted QE workflows in production — not a theoretical implementation.

Portfolio