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

@visualq/mcp

v1.0.6

Published

MCP server for VisualQ — qa profile (44 tools): run_full_audit, VRT/FRT, tracking proof, investigation ladder, rolling health

Readme

@visualq/mcp

MCP server for VisualQ — the Quality OS agent interface. @visualq/mcp exposes 43 tools (qa profile): multi-pillar audit, VRT/FRT, tracking plan + JIRA proof, rolling health. For Cursor, Claude Desktop, or any MCP client.

Production setup (recommended)

  1. Sign in to https://visualq.ai
  2. Go to Settings → Agent API Keys (org admin)
  3. Create a key with scope mcp_full
  4. Optionally set a default project slug if you mostly work on one client
  5. Copy the Cursor MCP config snippet
  6. Paste into ~/.cursor/mcp.json (or project .cursor/mcp.json) and restart Cursor

Or one command:

npx @visualq/setup-agent cursor --key vq_org_live_… --project my-site

Or install the Cursor plugin (skills + rules bundled).

{
  "mcpServers": {
    "visualq": {
      "command": "npx",
      "args": ["-y", "@visualq/mcp"],
      "env": {
        "VISUALQ_API_KEY": "vq_org_live_…",
        "VISUALQ_BASE_URL": "https://visualq.ai",
        "VISUALQ_TOOL_PROFILE": "qa"
      }
    }
  }
}

Single-project shortcut

If your org key has a default project (or you set it only in MCP env):

"VISUALQ_DEFAULT_PROJECT": "afp-com"

Then tools can omit project when the key has defaultProject on the server or this env var is set in the MCP config.

Multi-project orgs

Pass project on every tool call (slug or id), e.g. "project": "afp-com".

Environment variables

| Variable | Required | Default | Description | |----------|----------|---------|-------------| | VISUALQ_API_KEY | yes | — | Org agent key vq_org_live_… or legacy project key vq_live_… | | VISUALQ_BASE_URL | no | https://visualq.ai | VisualQ instance (use your origin for self-hosted) | | VISUALQ_DEFAULT_PROJECT | no | — | Default project slug injected into tool args | | VISUALQ_TOOL_PROFILE | no | qa | qa (recommended), full, or legacy aliases vrt-qa / frt-qa / tracking-qaqa | | VISUALQ_MCP_HTTP | no | — | Set 1 to run local Streamable HTTP on 127.0.0.1:3847 | | VISUALQ_MCP_PORT | no | 3847 | HTTP mode port |

API key scopes

| Scope | MCP read | MCP write (confirm: true) | CI /api/ci/* | |-------|----------|-----------------------------|----------------| | mcp_read | yes | no | no | | mcp_full | yes | yes | no | | ci (project key) | no | no | yes |

Org agent keys support mcp_read and mcp_full only.

Typical agent workflows

Quality MCP PR gate: gate_pr_quality → fix with explain_vrt_failure / frt_heal_step_defrun_vrt or run_full_audit

Onboard a site: create_projectcrawl_sitecreate_scenariorun_baselinecreate_frt_scenariorun_frt_feature

Full QA: run_full_audit (optional pillars[]) → wait_for_rungate_pr_qualityget_site_health

Pillar-only audit: run_full_audit with pillars: ["a11y"], ["tracking"], etc.

Pre-merge VRT: list_scenariosrun_vrtget_run_failuresexplain_vrt_failure

FRT in CI: GitHub Action type: frt or visualq frt --api-key …

Jira tracking proof: read ticket → tracking_prove_jira_ticket with confirm: true (semantic intent → generic linked scenario) → paste jiraMarkdown into JIRA.

Jira-driven QA: read ticket → create_scenario / create_frt_scenario with ticket id in name → run tests

Mutating tools require confirm: true in arguments.

Legacy project CI key

For GitHub Actions / Jenkins, use a project-scoped key (vq_live_…) with scope ci — not the org agent key.

{
  "mcpServers": {
    "visualq": {
      "command": "npx",
      "args": ["-y", "@visualq/mcp"],
      "env": {
        "VISUALQ_API_KEY": "vq_live_…",
        "VISUALQ_BASE_URL": "https://visualq.ai"
      }
    }
  }
}

Create in Project → Settings → API keys.

Hosted REST gateway (advanced)

VisualQ also exposes JSON invoke (not stdio MCP wire protocol):

  • GET https://visualq.ai/api/mcp — tool catalog (public)
  • POST https://visualq.ai/api/mcp/v1/invokeX-API-Key + { "tool", "args" }

The @visualq/mcp npm package is the supported IDE integration path.

Local development

npm install
npm run build
VISUALQ_API_KEY=vq_org_live_… VISUALQ_BASE_URL=http://localhost:3000 node dist/index.js

Sync tool manifest from the visualq backend (sibling repo):

cd ../visualq && npm run mcp:export-manifest
cd ../visualq-mcp && npm run sync-manifest

Before publishing to npm:

cd ../visualq && npm run mcp:export-manifest
cd ../visualq-mcp && npm test && npm run build && npm run sync-manifest
npm publish --access public
# Optional: publish agent skills if skills/ changed
cd packages/agent-skills && npm publish --access public

Repository